Recently, I interviewed large Internet companies such as Ali, JINGdong and Meituan, and finally received offer from Meituan. Before the interview, I was very nervous. I also collected a lot of interview questions on the Internet, but some of them were not very long ago.

After the interview, I sorted out the interview questions of the companies I had interviewed, which was regarded as a summary. Later, some friends asked me for the interview notes, so I simply posted them and shared them with everyone. This article is recorded by me from memory. The interview questions are not in any order. This article only shares the topics, not the interview skills guidance. I have made a summary of the interview skills before. If necessary, you can refer to this article. Read at www.jianshu.com/writer#/not…

Next, I would like to share my interview questions for Alibaba, JINGdong, Meituan and other first-tier Internet companies:

First, Alibaba interview

1. What are the data structures that Java uses most in development?

2, Talk about your understanding of HashMap, basic implementation of the underlying principle, how HashMap to solve the collision problem?

Are these data structures thread-safe? If you answer that HashMap is thread-safe, then ask if there is a thread-safe map, and then ask the Conurren package.

3. Are you familiar with the JVM? A brief description of the class loading process. What does it do? I asked if GC and memory management are configured in Tomect.

4, talk about HTTP protocol, get and POST basic differences, then ask TCP/IP protocol, three-way handshake, window sliding mechanism.

5. What databases are used in the development? Answer the mysql; What are the storage engines? Then asked me pessimistic lock and optimistic lock problem use scenarios, distributed cluster implementation principle.

6, SpringMVC and Mybatis working principle, have you read the underlying source code?

Two, jingdong Finance interview

1. Dubbo timeout retry; Dubbo timeout setting

2. How to ensure the order of request execution

3, distributed things and distributed lock (do not appear negative deductions)

4. Distributed session Settings

5. Perform an operation, the first 50 times are successful and the 51st time is failed. A Roll back all the first 50 times b Submit the 51st throw exception.

6. What is the use of Zookeeper

7. JVM memory model

8. Split the database vertically and horizontally

9, how to page MyBatis; How to set up the cache; MySQL paging

Are you familiar with IO? NIO, blocking and non-blocking

11. Distributed session consistency

12. Idempotent design of distributed interface “No repeated deduction”

Iii. Meituan interview

1. Which project have you been familiar with recently? Draw the technical architecture of the project

2. What is the ratio between older and newer JVM generations?

3. Specific scenarios of YGC and FGC

What do jstack, Jmap, and jutil mean? How to troubleshoot JVM related issues online?

5. What are the specific meanings of the 5 parameters of the thread pool constructor method?

6. What if a sudden power outage occurs while a thread pool is processing services on a single machine? (What about requests in processing and blocking queues?)

7. What is the problem with using unbounded blocking queues?

8. How does the interface handle repeated requests?

9. What is the specific treatment plan?

10. How to ensure atomicity when changing shared variables?

11. Design an interface implementation class for external services to realize load balancing and sequential polling mechanism (considering concurrency) on the three hosts (1,2,3) (corresponding to different IP addresses).

Iv. Didi Interview

1. Self-introduction and technical characteristics

2, what is the interest, what is the advantage

3. What is the relationship between JVM, JRE and JDK?

4. What is the underlying principle of Dubbo and Zookeeper

5. Mechanism of cincurrentMap TreeMap; Volatil keyword

6. Quicksort; Breadth-first search (queue implementation)

An avalanche of caching and penetrating understanding?

8. Can HashMap keys be repeated?

9. The difference between synchronized and lock

10. What do you think about developing a large website?

The above is all the interview topics, I hope to help you, I wish the interview smooth!

Here’s a digression: Many people need to understand that you can work for life, but your job is not for life. We are choosing and being chosen in our jobs all the time. Some of us change jobs, some of us get fired, and the rest of us are ready to change jobs and concentrate on finding new jobs in the future.

So, the interview should be a state of improvement, not a cramming class quiz. The interview is a summary of what you’ve done in the past and an assessment of where you are now. Those who interview well usually move from passive to active introspection, and don’t transfer learning from brain to body.