Talk about the three levels of Ali's interview

[Reply to " 1024 " and send you a special push]

640

Recently, I went to Alibaba's Cainiao International to conduct an interview and exchange, and found that large companies are very strict in assessing the knowledge structure of interviewees, which can be used as a guide for our daily work and study. Although many people say that the things asked in the interview are rarely used in actual work, there is even a saying that "the interview makes a rocket, and the job turns the screw". However, from the interview, we can actually see the current company's requirements for the knowledge system of the interviewee. If we can continue to improve according to such requirements at work, then we will certainly be able to do well in interviews.

Generally speaking, Ali's interview will have two rounds of technical interviews to cross-check your technical foundation. There are two rounds of on-site technical interviews that follow, mainly to test your project experience. However, from the perspective of the knowledge system, the assessment of knowledge in the Ali interview can be divided into three levels: the assessment of basic knowledge, the assessment of project experience, and the assessment of project depth.

1. Basic knowledge assessment

At this level, you mainly test your understanding of the principles of the Java language itself and the principles of various frameworks. For Java development positions, these knowledge points include but are not limited to:

  • The principle of the collection HashMap, and the difference between Hashtable and ConcurrentHashMap?

  • Core properties and processing flow of Java thread pool

  • Java concurrent packet principle, Synchronized keyword, lock

  • thread life cycle

  • JVM class loading mechanism

  • JVM memory model

  • JVM generation and garbage collection mechanism

  • Spring Bean Container Lifecycle

  • Spring AOP principle

  • Dubbo request process and principle

  • Database SQL optimization, database index, index principle

  • ……

The above is only a very small part. If you want to see more points about the knowledge assessment, you can reply to the "Basic Interview Questions" in the background.

Seeing so many knowledge points, I was stunned all of a sudden. When will I finish reading so many? But I figured it out later. In fact, you don't need to understand all of them, but you need to understand most of the knowledge points, and among these most of the knowledge points, you also need to understand some of them very deeply. If you reach this level, you can basically pass the test.

The assessment of basic knowledge mostly appeared in Ali's first two rounds of phone interviews. For this, you should read the common interview questions on the Internet beforehand, and there is basically no problem in multiple interviews.

2. Assessment of project experience

When you successfully pass the basic knowledge test, you will enter the next level of test: the understanding of the project.

The interviewer will first ask you to choose a project you are best at, draw an architecture diagram, and all subsequent questions will be triggered from this architecture diagram. After you draw the architecture diagram, you definitely need to explain the role of each module, the principle of each framework and the difference from other frameworks.

For example, I used a search project I did as a classic project to discuss with the interviewer.

The Kafka framework is used in the project, then the interviewer will ask what is the difference between Kafka and RocketMQ, and what is the difference between the two?

The project also uses Canal, an open source framework from Alibaba, so the interviewer will naturally ask what this thing is for and what is the principle?

Zookeeper is also used in the project as a coordinator, so what is the role of Zookeeper in this project and what role does it play?

The assessment of "project understanding" will take place in three or four rounds of technical interviews. At this level, you must have a project that you can handle and understand all the frameworks and principles within it, otherwise you will be miserable.

3. Project in-depth assessment

After passing the last round of assessment of "project understanding", you will basically have a comprehensive understanding of the entire project, and the problems at the application level will basically not stumped you. However, in the assessment of "depth of project thinking", it is not just a question at the application level.

Let's take a search project I have done as an example. The Canal open source framework does not implement the function of clustering for the time being, so the interviewer asked:

  • How do you revamp this project to implement Canal's clustering capabilities?

At this time, you will find that you are stunned, because you have never thought about this problem. All your work is thinking about how to use open source frameworks, without further thinking about whether these open source frameworks are good or not, and what can be improved.

Therefore, what is assessed at this level is the depth of your thinking about open source frameworks, whether these frameworks are good or not, where are they good, where are they bad, and what can be improved.

The assessment of "project thinking depth" also occurs in three or four rounds of technical interviews. At this level, you must not only have a deep enough understanding of the project itself, but also jump out of the project itself and think about the open source framework itself.

4. Summary

When we go back and summarize, you will find that these three levels are all progressive and gradually deepened. Although this is a lesson learned from interviews, it is a good study guide. Readers can check by themselves to see which level they are at, so that they can continue to move to a higher level in their work.

For me, what I lack is the depth of thinking about the project. Many times the industry thinks it is good, so I use it. But as a senior developer, or even a senior developer about to become an architect, you must know why these frameworks are used? What's wrong with it, can we do better? Only in this way can we grow.

Disclaimer: The article is reproduced with permission from the official account of "Chen Shuyi".

640?


non-famous programmer

Technology, workplace, industry observation, everything is here!

640?   640?

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324540836&siteId=291194637