Didi CTO five rounds of interview is really exciting, before I saw a lot of difficulties, I felt lucky, although the difficulty of the interview is quite big, but the interviewers are good. And immediately after the interview results, very exciting!

 

This information mainly includes Java foundation, data structure, JVM, multithreading and so on. Due to the limited space, only a small part of the interview questions are shown below. If you need a complete version, you can pay attention to me for free.

On November 5 at 1:00 p.m

Introduce yourself + Introduce the project

Difficulties and solutions in the project

Java thread state and transitions

The way Java creates threads

What are the ways to create a thread pool

Say as much as you can about the classes under the JUC package

ReentranLock vs. sychronized

Volitile memory semantics, how to implement the underlying

Explain happens-before, what the rules are

CurrentHashMap source

MySQL index and differences

Algorithm: Print the matrix clockwise

November 6, 1:00 PM, second surface, deep digging project (45min)

Introduce the project and difficulties in the project (15min)

How is MySQL optimized and how much data is there

The difference between an inverted index and a straight index

How ElasticSearch works (inverted index +TF/IDF)

Have you used Zookeeper

What scenario is Zookeeper used in

In addition to ZAB, several distributed consistency protocols (Paxos, Raft)

Several rejection strategies of thread pools and their application scenarios

What are the big data frameworks

Lsm-tree applies to those scenarios, advantages and disadvantages

Where do you want to work? Big data or development

SQL > select top 5 students and their grades from each class

November 7th 3:00 PM three interviews, no questions about technology, talk about life (40 minutes)

What do you know about Didi and our technology stack

Top3 companies in your mind

What direction do you want to work in? Big data or development

There are still a few questions I can’t remember

November 8th 3:00 PM four

  1. Self introduction, project questions
  2. Java collection classes, ArrayList and LinkedList; HashMap, why expansion is a power of 2; How do I use it if I want to be thread safe
  3. What classes do you know about synchronized and JDK locks? CAS principle, ABA problem; Lock upgrade process to talk about; Volatile, why can’t atomicity be guaranteed
  4. The JVM memory model, what are the areas of the new generation, and what are their roles? How to determine whether an object can be reclaimed (1 reference counting 2 Reacability analysis)
  5. JVM common garbage collection algorithm, talk about CMS principle
  6. Redis commonly used data structures; Ordered set bottom implementation; How to find the ranking at the bottom; How to use Redis to implement distributed locks, possible problems and solutions
  7. Hand tear a binary search

Five meetings at 3:00 p.m. on November 9

  1. Self introduction, project questions
  2. Chat network, TCP3 handshake process, whether the third time can carry data, how to avoid SYN attacks (syncookies); TCP wave four times to say why wait 2MSL, second and third wave can be combined (yes).
  3. Operating system, the difference between process, thread and coroutine; What happens if you create a lot of threads; What are the methods of interprocess communication
  4. MySQL > select * from B+ tree; select * from B+ tree; The difference between clustered index and non-clustered index; How to do index optimization at ordinary times, the most left matching principle; 12. Your strengths, your weaknesses (The interviewer said we have the same weaknesses)

13. The last technical book you read, I mentioned “The Art of Concurrent Programming in Java” three times. The interviewer asked me to detail what each chapter was about

What do you think of the Internet industry

15. What would you do if you got a “C” for your performance?

Conclusion:

I wish you all can harvest the desired offer.

The following is only a small part of the interview questions, if you need a complete version of the friend can follow me for free [free]