Preface Before CONTACTING Java, I have been in touch with more 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.

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 side)

Introduce yourself (mainly the technical details of your skills, project experience and experience, which will be asked by the interviewer 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 side (Technical side)

Introduce yourself (mainly the technical details of your skills, project experience and experience, which will be asked by the interviewer 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?

Three sides (technical side)

Have you participated in ACM or other competitions? Have you won any prizes? (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?

Four sides (half technical side)

At the end of the day, I get an interview call at 9pm and feel like a department or project manager. 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 sides (HR side)

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?

conclusion

It can be seen that many of the 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.

Material from the network, focus on sharing, such as infringement, please contact to delete.