Some time ago, one of my friends found me and asked me whether the written examination of Ali society attaches importance to algorithm, AND I gave a positive answer. He expressed some frustration, said his engineering foundation is very solid, the framework source code is also very thorough research, but the algorithm ability is not good, leetcode on the simple problem is a little difficult to do. So that the interview of some companies, the basic is the first few interviews and the interviewer to talk about engineering, chat very happy, a written test on GG. Given my personal in the age of the students had ACM experience, the algorithm is quite cold, individual algorithm ability is not outstanding, is not weak, best is a gold medal in jiangsu province, and regional competition bronze teammates thighs (mainly) and then is too weak for c + + written, midway turns the Java, take this opportunity to chat with you, Let me share some personal knowledge about algorithms.
I found a lot of people have a concept is brush algorithm doesn’t help his work very well, some of them are with a lot of school or company project experience, some are in the database, the RPC, a vertical such as large data to have a long time of precipitation, they will feel that deliberately brush algorithm is partial door, not much value. On the one hand, some people will be more confident, do not think that the need to rely on the algorithm to prove their value, on the other hand, some people will think that brushing algorithm questions is the skills that graduates need to be examined in the interview, for social recruitment, the company should pay more attention to the investigation of project experience and system design level skills. In view of my personal experience, when interviewing Internet companies, algorithm questions are almost a required link, from the company’s investigation point of departure, can prove that the algorithm is not important this point of view is indeed open to discussion. Others despise algorithm, it is felt only giant value algorithm, a few small company doesn’t care algorithm, and especially as I mentioned that friend as the beginning of the article, has the stronger ability of engineering, in an interview, I am sure that you can with the advantage, won over the interviewer, and then I might as well ask again, Why let the algorithm be your weakness?
I’ve already shown my attitude to the importance of algorithms in interviews, and I think it’s important to look at algorithms in interviews. In the company, we often need to spend several months to complete the project, and the interview algorithm problem is limited to half an hour at most, although the time interval is different, but in essence, it is to examine a person’s ability to complete a task in a fixed time. During reading topic investigated the understanding ability of candidates, I will communicate with the candidate, to ensure that the correct understanding of his question, and before the code word, I’ll ask for interpretation of the topic ideas first, it examines the ability to communicate, some candidates may not have experienced brush topic training, lack of some of the common algorithm of thinking, but after prompt, if can quickly complete coding, You might be able to pass the written test. So you see, the algorithm problem is actually a test of your ability to work, it requires you to do Buf Free in just half an hour, to some extent, this is more difficult than engineering, because there is no one to test you, and you want to pass this part, you need to spend extra energy to train.
While I think algorithms are very important in interviews, and I recommend that you brush up on the questions when you prepare for an interview, I do resist some off-topic questions. Based on my brush questions and work experience, the recommended difficulty is Leetcode simple and medium questions, ACM bronze and silver questions, for reference only. I remember once taking a look at the online pen exam of College entrance exam of Ali. I don’t know which department it is, and the difficulty is estimated to be hell’s difficulty. This kind of situation is only a small probability, at least in our large department, there won’t be particularly difficult algorithm problems.
Many people say that the interview builds the rocket and on the job turns the screw, as a satire that the algorithmic aspect of the interview is unnecessary, I do not agree. Interviews aside, algorithmic skills have really helped me on the job. For a few simple examples, I contacted euler function, GCD and other number theory knowledge through the algorithm problem, so that I can very well understand the principle and implementation process of RSA encryption, and RSA encryption is likely to be used in the project is an asymmetric encryption method; By solving common data structure algorithm problems, I learned the implementation of skip table, which facilitated me to understand the Set structure of Redis. Adept at solving problems such as greed and DP also influenced my code logic in engineering projects.
Bytedance is one of the most famous algorithmic companies in the industry, but since I don’t know the actual situation, I can only talk about alibaba’s algorithmic interview. There are two parts: intern interview and social recruitment interview. My experience here is mainly based on what I know. It may not be the same in other parts of Alibaba (non-Aliyun). First, let’s talk about the interview for interns. The algorithm mainly examines the simple questions, mainly focusing on greed, data structure and simulation. It can be said to be very friendly. And social recruitment, algorithm interview status must be lower than the assessment of engineering ability, but for can send offer plays a decisive role, that is to say, even if your work history is very match the post, engineering experience is also very rich, but the algorithm is a complete disaster, often the department can only reluctantly give up.
If you are preparing for the interview, I suggest that you prepare the algorithm, brush some questions to find the feel, Leetcode and a variety of online OJ are a good choice, B station also has a lot of videos, specific brush questions list, I am not prepared here, I believe you can find a lot of online.