At the end of the article, there is a word version of ali interview questions and answers to share

Before I came into contact with Java, I learned more about hardware and used more languages like C and C++. It was not until my junior year that I officially chose Java as my major. So far, I have been using Java for more than a year, so Java is not very good. At the beginning of the delivery, the internship just resigned, and did not prepare for the written interview, a lot of things have forgotten. So, I did not directly deliver Ali at the beginning, after all, the heart is still a little bit afraid. So, I first delivered a few not big companies to practice, just want to brush experience or practice (PS: or very sorry for those companies). After meeting with other companies for a month, I asked senior students in my lab to push me, and then there were five interviews.

Before the interview with Ali, I was not very confident about my concurrency knowledge, so I spent some time reading several books on concurrency and found many blogs on the Internet.

The following is a brief description of my five interviews: four technical interviews and one HR interview. I hope my experience can be helpful to you.

One side (technical) self-introduction (mainly about the technical details of your skills, project experience, experience in a few words, the interviewer will ask you later).

We talked about the project (it was a very common distributed mall, and I made some improvements), asked me to draw the architecture diagram of the whole project, and then asked me a series of performance improvement questions for the project, and asked me what problems I met in the process of doing the project and how to solve them. Just read these.

Maybe I said EARLIER that I would optimize the database, and the interviewer started asking about indexes, transaction isolation levels, pessimistic and optimistic locks, indexes, ACID, MVVC.

What happens when the browser enters the URL? Is TCP different from UDP? How does TCP ensure transmission reliability?

How does the hop table work? What is Huffman coding? How to traverse a binary tree without recursion and without extra space (no stack)

I went on to ask a lot of questions about the JVM, such as the Java memory model, the common garbage collector, and the parent delegate model

Do you have any questions you want to ask?

Second (technical) self-introduction (mainly about their own technical details, project experience, experience those words, the interviewer will ask you later).

Memory management mechanism of the operating system

The difference between processes and threads

Tell us what you understand about thread safety

What does volatile do? What’s the difference between sychronized and lock

Implementation principles of ReentrantLock

Have you ever used CountDownLatch? What kind of situation is it for?

Underlying principles of AQS.

What are the causes of deadlocks and how can they be prevented?

Performance issues associated with locking. How to solve it?

HashMap, ConcurrentHashMap source code. Is HashMap thread safe? Hashtable? ConcurrentHashMap?

Can I practice?

Do you have any questions you want to ask?

Have three (technical) participated in ACM or other competitions, have you won any awards? (I said THAT I had never participated in ACM. I had participated in mathematical contest in Modeling during my undergraduate study, but my ranking was not good and I had never won any prizes. The interviewer seemed a little disappointed, and I quickly added that I had worked on a project with my teacher that was now in use. The interviewer is still interested and later talks to him about the project.

During the postgraduate period, what projects did you do? Did you issue papers? Have you had any results?

What do you think are your strengths and weaknesses? What do you feel you lack from those who are better than you?

Have you read any source code? (I said I had read Java collection framework and Netty, the interviewer said Java collection first several questions must be similar, then asked me Netty, I was very panic ah!)

Introduce your understanding of Netty and why you want to use it. This section describes the Netty application scenario. What is TCP sticky/unpack? Netty threading model. How does Dubbo avoid sticky packets and half packets when using Netty for network communication? What about Netty’s zero copy? Bala Bala asked a lot, I remember a number of I did not answer up, in the mind to catch a cold ah.

Have you used or contributed to open source technologies?

Common sorting algorithm and its complexity, the scene to write a fast row.

Some problems with red black trees, B trees.

Talk about the use of algorithms and data structures in your internship program.

I have a plan for the future (briefly describe what I want to do in the future, and the interviewer seems satisfied)

Do you have any questions you want to ask?

At the end of the day, I get an interview call at 9pm and feel like a department or project director. This is quite different from previous interviews. It feels like the interviewer is mainly looking at your ability to solve problems, learn and work as a team player.

Let me tell you about a project that I think is the best. After that, we talked about how the project worked together, how problems were solved, and how conflicts with others were solved. Feels like a long conversation.

How will you troubleshoot problems after OOM?

How do you learn new skills? Go back to other technologies besides Java?

The harvest of the last internship experience.

How does NginX do load balancing? What are the common load balancing algorithms? What does consistency hash mean

Do you have any questions for me?

There are some others, I can’t remember, but I don’t think this is a technical question.

Five (HR) self-introduction (mainly to highlight their own experience, will be able to programming skills in a word).

What do you think are your strengths and weaknesses? How to overcome these shortcomings?

Tell me one thing that you have a sense of accomplishment in your college life and that you have made those efforts.

Have you talked to other interviewers about some of the projects you’ve worked on? Can you tell me about it? You have to consider that I am not a technical person, how to let me understand. What were the problems in the project and how did you solve them? What is your biggest achievement?

Are you currently being interviewed by any other companies? If you had to choose between these companies and Ali, which would you choose? (Send points, bad answers may be killed)

Where do you expect to work?

Do you have any questions?

It can be seen from the summary that many questions asked by the interviewer are relatively common questions, so remember to prepare in advance, but also in-depth preparation, do not answer too superficial. A lot of times, a question may involve a lot of questions, do not panic, calm analysis, if you really can not answer the question, do not worry about whether you will die, it is likely that the question itself is relatively difficult.

The ability of expression and communication is so important that it must be practiced in advance. I am not a good speaker myself, so I practiced for a long time in my mind about self-introduction, project introduction and some common questions before the interview to make sure that I could speak out clearly and succinctly during the interview.

The process of waiting for the interview and the process of the interview was really difficult. During that time, I also had a lot of pressure. Fortunately, I talked with my senior privately and felt much better.

After the interview, summarize in time. If you are good, don’t be complacent and prepare for the next interview as soon as possible.

I think I am lucky. Finally, I wish everyone can get the Offer they want.


The public account “Cainiao Mingqimeng” sends ali interview questions backstage, you can get the Word version [Ali interview questions and answers]

Information sharing

Java learning notes, 10T materials, more than 100 Java projects to share


Welcome to pay attention to personal public number [cainiao famous enterprise dream], public number focus: Internet job hunting face, Java, Python, crawler, big data and other technology sharing ** : public number ** caibird famous enterprise dream background send “CSDN” can receive free [CSDN] and [Baidu Library] download services; Public number canaliao name enterprise dream background send “information” : you can receive 5T quality learning materials **, Java interview test points and Java face summary, as well as dozens of Java, big data projects, the information is very complete, you want to find almost all

Recommended reading

☞【 Pass-through BAT】 Mass data Interview summary