Job Recruitment Website - Zhaopincom - Almost 202 1 year. How to prepare for the interview of algorithm position?
Almost 202 1 year. How to prepare for the interview of algorithm position?
As early as 20 15, when I was an intern in Ali's mother, I felt that there was no uniform standard for algorithm engineer's recruitment requirements or even job content in the industry. It can be considered that, in fact, including major companies, the specific job content of this position is not consistent with the ability requirements of the required candidates. Different interviewers have different styles and standards.
Let me give you some examples. The first example is that when I interviewed for an internship, because I was an undergraduate, I really knew very little about the field of machine learning, which can be said to be almost zero. But I passed, for the simple reason. Because of acm's award-winning background, there are mainly some algorithmic questions in the interview process, all of which are well answered. But during the cross interview, a director of another department asked me if I had any experience in this field. I made it clear that I didn't, but I am willing to learn.
Then he told me that algorithm engineer's work is mainly related to machine learning, so machine learning is the foundation. At that time, I thought I was cold, but I didn't expect that I passed the interview.
Another example is a small partner at that time, who was asked to write a tree model in R language in the final employment interview. I don't remember the exact model. I only know that I didn't know it at the time, so I can't remember the name. But people who know the market know that the industry should have basically stopped using R language now. Whether the interviewer was familiar with the R language at that time or the R language used by his team at that time, it can be explained that Ali had no unified standard for algorithm engineer at that time. Actually, it's true. At that time, there were many phenomena that confused algorithm engineer with the title of a data mining engineer.
I'm not sure what I'll ask in the post of recruiting algorithm now, but as far as I know, the model principle of machine learning and some previous experience are definitely inescapable. These two pieces have no skill. Acm awards and algorithm ability alone are difficult to estimate through interviews, not to mention the core department like Ali Mom.
From these two examples, we can see that the industry was still very confused five years ago, but now it is more and more clear what this position does and what kind of ability engineers need. And I think it should be more and more clear in the future. There may still be some departments or upper-level architects who don't know much about the algorithm. For example, tech leader with algorithm team with engineering background is not uncommon, but it should be less and less in the future.
There is some truth in the statement that there is no 985, no master's degree from a prestigious school, and no thesis to interview the algorithm position of a big company. However, we can't just look at the phenomenon and summarize it at will. The reason behind careful analysis is that the requirements for algorithm engineer are becoming clearer and clearer. However, although the requirements are clear, there are still problems. The problem is that these abilities are not easily reflected in the interview, and both school recruitment and social recruitment have such problems.
The problem of social recruitment will be better. As can be seen from the previous experience, the problem of school recruitment is more serious. How do we know your data processing ability? What do you know about the details of the model? How to judge whether you can hold this thing after you come?
It is precisely because of this problem that many interviewers or hr have to make hard demands. It is always right to recruit some smart students with good foundation and excellent background. Even if they are wrong, they can study now.
Recruitment logic
Next, I will talk to you about the recruitment logic of various companies, and I also found some rules.
The rule here is that the smaller the factory, the more pragmatic it is, and the bigger the factory, the more virtual it is. This is actually easy to understand, because the funds and budgets of small factories are limited, and the heads of various positions should be cautious and never make more moves. Once confessed, there must be specific purposes, such as a lack of manpower for something, or a problem that has not been solved and needs to be recruited. In this case, the requirements of small factories are clear, that is, the more technology stack matches, the better. In other words, the more you use it with them, the better. The more matches, the lower the cost of entry and learning, and it is best to do it directly.
A big factory is not, and the bigger the factory, the worse. The reason is also very simple. The purpose of recruitment in large factories is not only to meet the manpower demand, but also to have other significance, that is, talent reserve. For example, Tsinghua Yao Ban graduates 30 people every year. If 30 people go to Tencent, how helpful will it be to Tencent's development? If you are an old horse, can you accept such a thing? Certainly not, because the number of excellent talents is limited. Although there are many people competing, there are always so many head users. Other companies take more, leaving less for your company. As a big company, it will definitely strive for it, including recruiting interns. In fact, the essential purpose is to recruit talents and reserve them.
To some extent, it costs less for a big company to train an excellent student into an excellent engineer than to recruit an equally excellent engineer in the market. At least 80% of the top talents in algorithm positions are in the hands of large companies, and the remaining 20% are contested by small second-and third-tier companies. It is very difficult for a big company to recruit an excellent engineer in the market, which is far more difficult than everyone thinks. Such people are often not short of offer, and with the restrictions of hierarchy and treatment in big companies, it is really not easy to grab those second-tier companies with deep pockets.
So the core logic of interviewing small companies is matching. You have the skills they need, and you know the skills they need. It doesn't matter. It's no use coming up with a lot of fancy things. Interviewers in some small companies don't even know what acm is. Is it useful for you to tell him that you are the silver medal in Asia?
The recruitment requirements of large companies are relatively trivial, and generally speaking, they pay more attention to the foundation. The foundation here is not only basic knowledge, but also basic ability. For example, the ability of data structure and algorithm, such as the flexibility of thinking, is to give you an algorithm problem to see if you can solve it flexibly. Another example is the foundation of machine learning, some basic principles of the model and so on.
In addition to the foundation, there is also a very important thing about your soft power, such as your expression ability, your emotional intelligence, and your reaction when you encounter difficulties. For example, do you have a clear thinking process when you encounter a difficult problem, give up after a simple attempt or are you willing to continue your efforts? There is also your personality, such as whether you are obedient or independent. If you have a strong personality, the boss may find you difficult to manage. In technical terms, the management cost is a bit high, which will also make the interviewer back down.
Another thing that is often said is potential, which is a very empty concept, completely subjective feelings of the interviewer, and it is difficult to have practical support. As far as I know, there are probably several aspects. One is IQ. Smart people learn things quickly and have great potential. There is no doubt about it. Even if you don't understand a lot of things, if you can make the interviewer feel that you are learning quickly, these are not problems, then this is not a reduction.
There is also age, such as wasting a few years after some twists and turns, being much older than other applicants (more than two years old), which may make the interviewer feel that your potential is greatly reduced. For example, some of your past experiences, such as your persistence in a certain field and your rapid growth from scratch, will also make the interviewer feel that you have great potential.
In this way, it makes sense that practical ability is a plus item rather than a main item. Because for large companies, the whole technical architecture is often built independently, which is different from the outside. In other words, unless you have been in it before, you can hardly find a technology stack who fully understands it. In addition, the original actual combat experience of school enrollment is less, and it is more inclined to learn quickly than to recruit someone who can get started immediately.
core competence
As I haven't been in contact with the school for a long time, it's hard to say how to prepare for the interview. I can only say what kind of students I would like if I had to recruit. It can also be understood as my understanding of what a qualified and excellent algorithm engineer should have.
Model understanding
Algorithm engineer deals with models, so it is necessary to understand them. In fact, it goes without saying that every model is proficient, it is unnecessary, and the models asked in the interview may not necessarily use it. But more attention is paid to this person's habits when studying. Will he dabble, or will he dig deeper, and what can he learn?
In practical work, we may face all kinds of situations, such as adding new functions but having no effect, such as upgrading the model and getting worse. These situations are all possible. When we encounter these situations, we need to reason and guess the reasons according to the known information, so as to take corresponding measures. So this requires us to have a deeper understanding of the current model, otherwise it is impossible to improve the derivation.
So it doesn't matter which model you ask in the interview. The important thing is whether you can show that you have done in-depth research and understanding.
data analysis
Algorithm engineer has been dealing with data, so the ability to analyze data, clean up data and make data is also essential. When it comes to simple data analysis, it actually involves a lot. Simply put, there are at least two key points.
The first focus is the ability to process data, such as SQL, hive, spark, MapReduce and so on. No, or at least a little. Because every company's technology stack is different, we generally don't recruit people with the same expectations as us, but it is definitely impossible for a candidate to know nothing. Because students rarely touch the content of this practice, many people know nothing about it. If you know one or two, it is actually a plus item.
The second key point is the understanding of data. Let's give a simple example. For example, the current sample is invalid after training the model. We need to analyze the reasons. How do you start? This problem is often encountered in daily life, and it also tests algorithm engineer's ability and experience in analyzing data. The data is water and the model is a ship. If you want to sail a ship to a far place, it is not enough to know only the structure of the ship, but also the hydrological and astronomical phenomena. Only in this way can we catch the trick from the data and have a deeper view and understanding of some phenomena.
Engineering capacity
Although it is algorithm engineer, it does not mean that engineering ability is not important. On the contrary, engineering ability is also very important. Of course, this is often not a hard indicator of recruitment, such as investigating what projects you have done before. But it will be reflected in your code test. Your code style and your coding ability are all one of the inspection points of your interview.
This is true not only in interviews, but also in practical work. On a small scale, you can develop some tools and scripts to facilitate the daily work of yourself or others in the team. On a large scale, you can also be the development leader in the team, responsible for the most engineering work in his team. For example, copy a paper or reinvent a model from scratch. This is actually a means of differentiated competition. If you can reasonably afford the work that others can't afford, it will naturally become your performance.
The times are changing, the industry is developing, and today's school recruitment questions are different from those of that year. But in any case, this position and the interviewer's core demands for talents have hardly changed. We will build our own resume and prepare for the interview from the core. I believe we can gain something.
- Previous article:Traditional Chinese Medicine Practitioner Qualification Certificate
- Next article:Now Shao Dong's latest regulations are in and out.
- Related articles
- What companies are there in Wuhan Dongxihu Economic Development Zone?
- Is Aviation College of Three Gorges University a Liar?
- What majors does Hebei Engineering Vocational School have?
- Dynamic pictures of SMS greetings during Lantern Festival
- I want to be a nurse in Japan. I wonder how the salary is. Can someone introduce it in detail?
- How to pay the tuition for the second grade of Rentian Middle School in Chuxiong?
- Chenzhou Vocational and Technical College Single Admission Line
- What kind of fastener is Foslow fastener?
- Business card copywriting for media companies?
- What about Jieyang Lingdong Mould Co., Ltd.?