Alibaba interview experience sharing: from rejection to offer, detailed explanation of things to note when applying for Alibaba technical positions

This article is a companion article to "Talk about the whole process of applying for Alibaba". After the release of "Talk about the whole process of applying for Alibaba", it has received a lot of positive feedback from readers, but it also reflects the common confusion among readers: What should I do if I understand the application process ? How to prepare for job application in a targeted manner? This question is not easy to answer from the front, so you might as well look for the answer in reverse: This article will introduce in detail the series of factors that cause applicants to be rejected, and elaborate on countermeasures based on these factors; at the same time, it will explain the needs of application preparation and interview process Things to note. A summary of the content is as follows:

  1. Lessons from the past: What factors are likely to cause candidates to be rejected
  2. Know yourself and the enemy: How to make targeted preparations for applying based on your own characteristics and job requirements
  3. Floating in the sea of ​​questions: How to answer questions, and how useful the knowledge gained from answering questions can be
  4. Technology has no boundaries: Be a thoughtful and experienced technical person
  5. Interview Guide: Things to note before, during and after the interview
  6. Postscript: Recommend a book

1. What factors are likely to cause applicants to be rejected?

Applying for a job is like taking an exam, but it is different from taking an exam. In exams, you can at least know where you made mistakes by reviewing the test papers, and make targeted corrections to avoid making the same mistakes again; however, failure to apply often only results in a "rejection" or even "disappearance", and no one will follow. You explain why.

Regarding the reasons for rejecting applicants, I discussed with many colleagues who were also interviewers and concluded that there are several common factors: poor foundation, simple project experience, no thinking, no accumulation, and no highlights.

enter image description here

1.1 Basic difference

During the application process, the basic examination is conducted in a "one-person" interview, and the interview format is usually a "telephone interview." The basic examination proceeds from easy to deep. Initially, the interviewer will ask some basic technical questions based on the job requirements. Of course, the meaning of the word "basic" is not simple. Without sufficient preparation and sufficient accumulation, it is easy to fail. According to my interview experience, more than half of the candidates fail at this link. Candidates with particularly poor performance may be labeled by the interviewer as "not having a solid foundation". When applying for Alibaba again, the interviewer will refer to If there are such "bad reviews" in previous interview records, the success rate is very low.

There is an unspoken rule in the basic knowledge test: no points will be added for correct answers, and points will be deducted for wrong answers. In a sense, this is a "rough screening" process. As shown in the figure below, it is a requirement for a Java engineer position. It can be seen that the basic examination involves a wide range of content, and "naked examination" is not advisable. In addition, most of the questions in the basic examination are conventional, and there are a large number of interview "question answering" strategies available online for reference. It is for this reason that interviewers usually use " "Bad foundation" refused.

Business Platform Division-Large Financial Platform-Technical Expert/Senior Java Engineer-Hangzhou & Shanghai

enter image description here

1.2 Simple project experience

The so-called simplicity and complexity are relative. For Internet companies like Alibaba and Tencent with billions of users, engineers usually have to face the problem of security, stability, and high performance under high concurrency and massive requests in a large-scale distributed environment. Performance issues. In order to deal with these problems, engineers must not only have skilled business research and development skills, but also need capabilities such as business modeling, architecture design, framework research and development, and technical research. These abilities are almost impossible to acquire through answering questions, reading books, and training. Instead, they require continuous learning, practice, thinking, and summarization in actual projects to gradually form. It is for this reason that during interviews, project experience is a must-ask question, so that the interviewer can evaluate whether you have the capabilities required for the corresponding position.

I often hear colleagues who are also interviewers sigh: This candidate is good in other aspects, but the project experience is too simple. This is not because the interviewer intends to "pretend". In fact, most candidates' past work experience may be projects in small companies or small projects in large companies. The system complexity of such projects is generally low, and there are few design highlights. Therefore, such project experience will not add points when evaluating the applicant's work experience.

However, readers who are interested in applying for Alibaba (or other large Internet companies) do not need to worry too much. After all, the interview is a comprehensive consideration process, and the interviewer will not directly reject the applicant just because the project experience is simple. In many cases, simple project experience is not a problem of the applicant's ability, but of opportunities. Excellent design and original thinking can also be carried through simple projects.

1.3 No thinking

Lack of thinking can be said to be a "big taboo" for engineers. The Internet industry is different from traditional industries. On the one hand, technology changes very quickly. The boundaries between technologies in different fields are gradually blurring and moving toward integration. Engineers who are immersed in building bricks without thinking will It is difficult to keep up with the pace; on the other hand, large Internet companies often face some unprecedented problems and scenarios with no reference, and can only rely on themselves. In recent years, Alibaba has created many famous open source projects, such as RocketMQ, Dubbo, Ant-design, arthas, Fastjson, Druid, Ice, etc., and have become core members of top international open source organizations. Behind this is the thinking and innovation of a large number of engineers.

Back to the topic, during the interview, the interviewer usually asks some "opinion-type" questions. Generally, there is no clear answer to these questions. It mainly depends on whether the applicant has his own thinking. For example, you can ask the applicant about some common questions. Views on programming and software engineering concepts, such as OOP, SOA, API, SPI, microservices, etc., to examine whether candidates usually think and summarize these issues. It may also be attention to some recent technological hot spots, etc.

For this type of question, a qualified interviewer will not expect the applicant's answer to be consistent with his or her own views, nor will he argue with the applicant. Instead, he will try his best to guide the applicant to fully express his logic, understand the content behind his views, and investigate The degree to which the candidate understands and practices concepts, and whether the candidate has a relatively rigorous logic that can justify themselves.

It is true that when judging whether an applicant belongs to the "no-thinking type", the subjective will of the interviewer is a very important factor. It is difficult for him to be absolutely objective and misjudgments may occur, which will affect the interview results of the applicant. Therefore, as a candidate, you must do your homework before the interview, and you must know that "the one who seeks the best will get the best."

1.4 No precipitation

After experiencing a series of project practice, engineers usually form their own set of "methodology" and "best practices" - specifically, when they get a new project, they can outline a new project in a very short period of time. A rough system framework, and then fill in the details based on application scenarios. For such engineers, we colloquially call them "people with a lot of experience".

In large and medium-sized projects, one engineer is usually only responsible for the design and implementation of a certain module. While this division of labor and collaboration model improves efficiency, it also tends to create inertia and gradually degenerate into a "screw" - focusing only on oneself. They are limited to the local area and lack insight into the overall situation of the project; as time goes by, they will only do what they are good at, or they will only be assigned to do what they are good at. Due to such factors, although many engineers have participated in many projects, they tend to be homogeneous and have limited technical vision, giving people a feeling of "no precipitation".

Returning to practice, how can we appear "precipitated"? First of all, it is necessary to change the concept. An excellent engineer, even if he is only responsible for a certain module in the project, should maintain curiosity about the overall project and invest time to ponder it. Only such project experience can help form a systematic "methodology" ” and complete “Best Practices.”

Secondly, you must be good at summarizing, thinking and processing the experience you gain from practice and then "persistence" it. The specific method varies from person to person. I personally prefer the form of technical blogs. Through technical blogs, we use words and pictures to record practical experience and share technical thinking. Over time, it "precipitates".

1.5 No bright spots

The applicant is good in all aspects - good foundation, thinking, accumulation, and acceptable project experience, but there is no particularly outstanding point. This is the situation that troubles the interviewer the most. It will be much easier to pass the interview if the applicant can have a bright spot on top of being good in all aspects.

So, what factors usually serve as highlights? 1. Past work experience is strongly related to the position you are applying for; 2. The previous company has a certain reputation in the industry; 3. There are certain achievements in the fields related to the position you are applying for, such as patents, papers, books, etc.; 4. Good educational background ( First-class school, high education); 5. Excellent spoken English (Alibaba is moving towards internationalization, and many positions involve international cooperation); 6. Excellent communication and expression skills, and good personality (confidence, optimism, humility, etc.).

2. Rafting in the sea of ​​questions: How to answer questions? How useful can the knowledge gained from answering questions be?

In the process of preparing to apply for a job, many people will answer questions, and the Internet is full of interview question strategies. So, is brushing questions really useful? The answer is yes, it is useful, but the effect is not that great. Since it doesn’t have much effect, can we not brush up on the questions? Of course not, except for Daniel.

2.1 Why do you need to answer questions?

There are usually several rounds of technical interviews at Internet companies, and there are usually three rounds at Alibaba. Each round of interviews has a different focus. The first round of interviews usually focuses on testing the basic knowledge of relevant technology stacks and covers a wide range of topics. There is also an unwritten rule: no points will be awarded for correct answers to the questions asked by the interviewer, and points will be deducted for incorrect answers. This is not surprising. Since the test is based on the basics, it is assumed that the applicant has mastered it. If he does not master it, his points will naturally be reduced.

In order to pass the technical initial interview smoothly, it is still necessary to brush up on the questions. On the one hand, by answering questions, you can sort out your knowledge system and check for omissions. On the other hand, you can quickly master some knowledge points. For example, you may not understand Redis at all, but you can master it in a short time by answering questions. Some highlights.

2.2 Don’t be superstitious about answering questions

Mastering the stick, but aiming for the yard. Don't think that everything will be fine once you have answered the questions. Interviewers are not vegetarians. Many times, interviewers have also answered questions that candidates have answered. Are you surprised? Is it surprising? There is a difference between the knowledge points obtained from answering questions and the knowledge points summarized from practical experience. By asking questions, it is not difficult for the interviewer to judge. Once they realize that the candidate is "prepared", the interviewer will usually stop asking general questions and bring out his or her collection of questions, or directly ask how the candidate mastered a certain knowledge point. Here are a few examples:

Example 1:

Interviewer: Have you ever encountered heap memory overflow problems at work?
Applicant: Yes.
Interviewer: Then please give me a detailed introduction to your positioning process.
Applicant: .... (knowledge gained from answering questions cannot withstand detailed questioning)

Example 2:

Interviewer: Do you understand the difference between HashMap in jdk-1.7/1.8? (dig a hole)
Applicant: Yes, jdk-1.7 uses the structure of array plus linked list, jdk-1.8 uses...
Interviewer: Why use red-black trees? Applicants: It can speed up retrieval and improve efficiency.
Interviewer: How to evaluate efficiency and what is the specific complexity?
Applicant: The time complexity of querying in a linked list is O(n). If converted into a red-black tree, the time complexity is reduced to O(lgn).
Interviewer: How is this O(lgn) calculated? Can you explain it? Applicants:...

In view of the above situation, even if you are answering questions, you must do it carefully, improve your level, and know what is happening and why. When you reach this level, it is not that important whether the knowledge points come from solving questions.

3. Interview Guide: Things to note before, during and after the interview

The interview is not just a question and answer session on knowledge points, it is also a communication. The interviewer asks questions to check whether the applicant meets the job requirements. The applicant can also ask questions to learn about the company. To a certain extent, this is a two-way selection process. . For candidates, there are some things you need to pay attention to during the interview, which will affect the interviewer's judgment of you and thus the interview results.

3.1 Things to note before the interview

Time agreement: 

In each round of interviews, the interviewer will make an appointment with the applicant over the phone. Don’t be nervous when you receive the call from the interviewer. If you are not ready for the interview or the time is inconvenient, you can make the appointment later and stay. Enough time buffer.

Basic review: 

The basic examination is conducted on one side, and the examination area is usually relatively broad. Do not take the "naked examination". Applicants can make a review outline based on the job requirements, and then check and fill in the gaps in a targeted manner. At the same time, they can refer to the online interview "question review" guide to "make up for the mistakes." But it should be noted that even if you are "brushing the questions", you must also "brush" to a high level, knowing what is happening and why. In my opinion, the "question brushing" guide provides a collection of knowledge points, which is the essence of domain knowledge. It can be used as a review outline, based on which you can deeply understand the principles behind the knowledge points, think, summarize, and form your own understanding.

Project summary: 

For those project experiences written on the resume, be sure to organize them in advance to ensure that they can be introduced in an organized and focused manner during the interview. Refer to the following principles: 1. From the whole to the parts, first introduce the project system architecture, and then introduce the parts (this is very important, if it is an on-site interview, you may be asked to draw a system architecture diagram); 2. The important and difficult points are highlighted, and the project Excellent designs adopted, difficulties encountered and solutions; 3. Important indicators and parameters are clear, such as QPS, DAU, etc.; 4. Trial lectures in advance, let your colleagues and friends make suggestions, and strive for perfection.

Reading and Thinking: 

Being an engineer does not mean immersing yourself in writing code all day long. They also have their own hobbies and interests. Interviewers usually use two questions to observe the applicant's learning style, interests and habits: 1. Have you read any books recently? If there is an impressive chapter for you, please introduce it and share your own views; 2. What do you do after work? A technology geek's spare time life is also very likely to have a lot to do with technology, such as making open source software, DIYing some equipment, etc.

The worst case scenario is: I haven’t read a book recently and haven’t done much in my spare time, so this topic cannot be continued. It is recommended that candidates prepare in advance, read a few books (not limited to technology-related books), and write down some of their own thoughts. It is best to maintain the habit of reading, not for the interview, but to prevent themselves from being too boring (this sentence It may offend you, but that's not my intention, please forgive me).

issue concerned: 

During the interview process, there is usually a question-and-answer session where candidates can ask the interviewer questions that interest them. It is recommended that you think about the questions you are interested in in advance and do not waste the opportunity to ask questions, such as benefits, overtime, team atmosphere, personal growth, etc. You can ask them without worrying about any taboos.

3.2 Things to note during the interview

If you are fully prepared before the interview, the interview process will be much smoother, but there are still some issues that need to be paid attention to.

Why change jobs

There is no such thing as resignation without reason. Since the applicant chooses to leave, there must be a core reason, which is usually what the interviewer is interested in. Most of the time, the reasons for leaving are unpleasant, even terrible. If you are facing a friend, you can complain and vent as much as you want; however, when you are facing an interviewer, please put away your negative emotions and speak calmly. Only you know the real reason for leaving your job. As for whether to tell the whole truth, you need to consider it carefully. The author is not encouraging lying, but only recommends that candidates grasp a certain degree of caution and "speak frankly."

Knowledge blind spots

Even if a candidate is fully prepared, things can still go wrong. If the interviewer's question is completely outside your field of knowledge and you have no idea, don't force yourself to answer the question directly and truthfully. Usually, the interviewer will adjust the direction of the question based on the candidate's answer to the question and avoid asking questions about areas that the candidate does not know. After all, cognitive questions are not determined by ability, but by experience.

open question

Some interviewers may ask some open-ended questions, which generally do not have clear answers, such as opinions on DDD and ServerLess, and to examine whether the candidate has thought and summarized some design ideas, popular technologies, etc.

Applicants do not need to be overly nervous when encountering such questions. The interviewer will not expect your answers to be consistent with their own opinions. They are more interested in examining the applicant's understanding and practice of concepts to see if the applicant has a more rigorous approach. self-justifying logic. In view of this, you might as well organize your thoughts first. If it is a telephone interview, you can even take out a pen and paper and simply draw up the key points so that you can answer in a more organized manner.

Stuck in ideas

Algorithm questions are not exclusive to algorithm positions. Many interviewers like to ask a few algorithm questions at the end of the interview (the author also has this "bad" habit). Algorithm questions usually have the following "question effects":

  • The applicant has no idea how to solve the problem and is stuck in thinking. At this time, he must be calm. He might as well try the "violent solution" first, and then think of a complex and efficient solution. If he really can't think of one, at least there is someone who knows the answer;
  • The applicant probably knows how to solve the problem and has ideas, but cannot think of a specific solution. In past interviews, I found that many candidates were just rolling their eyes and thinking. They couldn't stand it any longer. I would remind them to take out a pen and paper and "draw it" instead of just thinking about it. It is recommended that candidates prepare paper and pen when interviewing algorithm questions, and do not forget everything when they are nervous.

3.3 Things to note after the interview

Don’t rush to ask about the interview results

After the interview is over, try not to rush to ask the interviewer about the results of the interview. It is meaningless. First, the interviewer usually will not tell you the results directly to avoid suspicion of violation; second, based on the answers to questions during the interview, the applicant can roughly predict the results.

Please listen to your interviewer’s suggestions

If it is a telephone interview, after the interview is over, you might as well ask the interviewer for some "suggestions" - this implies the interviewer's evaluation of you, especially what shortcomings he thinks you have that need to be improved. These suggestions are usually It is relatively objective and may be helpful in guiding you to improve yourself. For applicants, you might as well be humble and treat every interview as an opportunity to "look at yourself objectively", and be brave after knowing your shortcomings.

Pay attention to your application progress

If the applicant applies for Alibaba through "internal recommendation", then you can ask the recommender about the application progress (when the applicant's application status (resume evaluation in progress, resume evaluation passed, first round interview,..., offer pending) ,..., already employed) changes, the recommender will receive an email notification. In addition, the recommender can also directly check the application progress.

Prepare for the next round of interviews

You can accurately obtain the application progress through recommenders. If it goes well, you should seize the time to prepare for the next round of interviews. Why stress about preparing for the next round of interviews? The reason is as follows: After passing the first round of telephone interviews, the second round of interviews is usually not a telephone interview, and is generally divided into two situations. First, if the applicant is in the city where the position is located, an on-site interview will be arranged; second, if the applicant is If the applicant is not in the city where the position is located, he may pass the video interview; thirdly, if the applicant has a higher rating (the rank of the position he is applying for), an on-site interview will be arranged regardless of whether the applicant is in the city where the position is located.

4. Technology has no boundaries: be a thoughtful and experienced technical person

My former supervisor once said something to me: A person's promotion does not and should not mean that he has completed his job well at the original level, but because he has acquired the abilities required for a higher level.

This sentence has impressed me to this day. As an engineer, no matter what technical level you are currently at, you should not be satisfied with doing your job well. You should always keep making progress and think more, summarize, and settle in order to achieve breakthroughs.

4.1 Three levels of technical mastery

For technical talents, usually the requirements of enterprises can be classified into four points: technical depth, technical vision, technical insights, and technical judgment. The degree of technical mastery of technology can be divided into three levels:

picture

Just explain it briefly:

  • "Mastered skills": This layer refers to those skills that are frequently used in work and have been mastered proficiently.
  • "Technologies that we know but have not yet mastered": Just like the technologies we often discuss such as AI and VR, we know the existence of these technologies. We have even read relevant books and run several demos, and we roughly know what problems they can solve. However, we don't apply it.
  • "Technical blind spots": completely unknown technologies. For example, there may be many better solutions to a specific problem, but we don't know them.

4.2 Technical depth and technical vision

Technical depth and technical vision are closely related to the level at which we master technology. As shown below:

picture

  • Technical depth: Based on the technology stack involved in your current job, the technologies you have mastered are your current technical depth;
  • Technical vision: The technology that you understand but have not mastered is your technical vision. Although you have not explored it in depth and lack practical experience, you are aware of its existence and understand its basic principles, performance and problems that can be solved.

As a technical person, depth and vision are the foundation of one's career. Technical depth allows us to avoid "stepping into pitfalls" and obtain high-quality results; technical vision allows us to find better solutions.

Improving technical depth and technical vision requires us to continuously expand the above two levels. Specifically, on the one hand, through practice, you gradually master the technologies you know and understand them thoroughly; on the other hand, through learning, you gradually learn more about the technologies you don’t understand yet and expand your knowledge. Intuitively, as shown in the figure below:

picture

4.3 Technical insights and technical judgments

The previous section talked about technical depth and technical vision, which to some extent belongs to the "tactical" level, while the technical insights and judgments to be introduced in this section belong to the "strategic" level.

Insights are opinions. Technical insights are understandings and views of technology. They are essentially the thinking models of technical people. Specifically, how a technical person does technical planning and technology selection can be classified as technical insights.

Technical judgment is the choice of technology, which is made after fully evaluating current technology and future technology development directions. Technical judgment is the result of further deepening of technical insights. Technical insights and technical judgments allow us to grasp technical trends and avoid directional problems.

The relationship between the four technologies

Nothing can be accomplished overnight. Without sufficient depth and vision, how can we talk about technical insights and judgment? Regarding the relationship between technical depth, vision, insights and judgment, the following figure can be used to intuitively describe:

picture

For technical people, technical depth and vision are the foundation; based on this, it can be deposited into technical insights; technical judgments are made based on technical insights; by testing the correctness of technical judgments in practice, the technical insights are further optimized to form a "closed loop" ". In the process of technological advancement, there is no "silver bullet": technical depth comes from practice, technical vision comes from learning, technical insights come from thinking and summarizing, and technical judgment is based on the result of further deepening the previous three.

"We applaud the brave attempts, but only pay for the results" - this is a "famous saying" within Alibaba. "Getting results" can be said to be the core mission of technical people. In view of this, the final service object of the four major elements above is the results, that is, the high-quality implementation of technical projects.

4.4 How do technical people stay competitive?

Regarding maintaining competitiveness, I personally think that it varies from person to person: for technical people with shorter working years, the focus should be on increasing technical depth and expanding technical horizons; for technical people who already have certain experience (more than three years), more emphasis should be placed on Think, summarize, form technical insights, and continuously optimize in practice to strengthen technical judgment capabilities.

From the perspective of operability, technical depth and technical vision are relatively intuitive, and progress can be continuously made through learning and practice. However, technical insights and technical judgments are relatively abstract, or "illusory". They are the product of thinking and summarizing based on rich experience, and are an ability that is difficult to quantify. As mentioned above, technical depth and technical vision belong to the "tactical" level, while technical insights and technical judgment belong to the "strategic" level. Without "tactics", "strategy" will have no foundation and cannot be implemented; if "strategy" is ignored and superstitious about "tactics", it will be localized, unable to grasp the trend of technology, and it will be difficult to achieve qualitative improvement.

picture

5. Recommend a book

I recently read a book - "Server-Side Development: Technologies, Methods and Practical Solutions" , which was very useful and I recommend it to everyone. The author of this book won the annual championship of Alibaba's second technical lecturer course competition (awarded jointly by Alibaba CPO and CSDN CEO), and the technical courses taught within Alibaba and Ant have a good reputation. The book is divided into 14 chapters, about 300,000 words, 373 pages of main text, and a total of 389 pages. It is published by Machinery Industry Press. The content is divided into two parts. Chapters 1 to 6 of the first part are about technology and methods; Chapters 7 to 14 of the second part are about solutions. The book lists a large number of practical cases. In order to facilitate readers' understanding, the author also drew more than 200 illustrations, which are both rich in pictures and text.

Insert image description here

5.1 Audience target

This book systematically interprets all aspects of server-side development, and especially provides industry classic solutions for high concurrency, high availability, high performance, data consistency and other key difficulties, which is extremely valuable.

  • IT practitioners: server development engineers, client development engineers, product managers, test development engineers, etc.
  • College students: students majoring in computer, software, automation, electrical, communications, etc. who are interested in entering the IT industry.
  • Job interview: Different from the general "Interview Guide" which only focuses on the interpretation of a certain language, framework, middleware, etc., this book is based on the overall perspective of server-side development and systematically interprets the standardized processes and important aspects of server-side development. Difficult point, essential for interviews.

5.2 Features of the book

No matter how the technology evolves, the methods behind it are often the same, and the classic solutions remain timeless. Therefore, it is especially necessary to master methods and practical solutions. Different from general IT technical books, this book is not limited to any specific programming language, framework, container, middleware or programming idea, but is dedicated to a panoramic and systematic interpretation of the process and emphasis of server-side development. difficulty.

The book has 14 chapters in total, and the content can be logically divided into two parts.

The first part is Chapters 1 to 6, the theme is technology and methods . First, we outline the responsibilities, technology stack, core processes and advanced paths of server-side development, and then proceed from the five aspects of demand analysis, abstract modeling, system design, data design, and non-functional design, and provide an in-depth explanation of server-side development based on cases. The practical methods and important and difficult points clearly present the panorama of server-side development to readers. By studying the content of this article, readers can quickly and systematically master the relevant knowledge and methods of server-side development.

The second part is Chapters 7 to 14, and the theme is solutions . Aiming at typical server-side development issues such as high concurrency, high availability, high performance, caching, idempotence, and data consistency, we conduct systematic analysis and provide solutions based on business scenarios. In addition, industry cases and specifications are given on implementation details such as interface design, log printing, exception handling, code writing, and code comments. The content of this article is like a manual for server-side development problems. When readers encounter problems in practice, they can find solutions from it.

Currently, this book has been sold on e-commerce platforms such as JD.com, Taobao, Dangdang, and Pinduoduo . Search the keywords "server-side development" and "server-side development technology" in the e-commerce APP  to search for the book.

Guess you like

Origin blog.csdn.net/Jin_Kwok/article/details/132631694