I’m too difficult~ Seven-faced Ali (5 years of Java post development, successfully won the offer, graded P7)

Preface

The overall environment this year is very poor. The phenomenon of layoffs by Internet companies is more serious than in previous years, but this year is just the time when my first "Five-Year Plan" expires, so I can't delay anything, so I prepared to change jobs early. It started after the epidemic improved. However, I have to say that this interview with Ali was really too difficult for me. It can be said that it was a battle with the interviewer for 7 rounds, but fortunately, I gave the offer in the end.

My personal situation is 5 years of back-end experience in Java, and Ali graded P7. The following is my interview experience sharing, hoping to bring some different inspiration and help.

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

Friendly reminder: The next part involves more content, more information is organized in the document, including Java study materials, study notes, algorithm collections, interview questions collection, mind maps (Xmind), etc. Friends who need these materials will pay attention directly At the end of the article, you can get the official account

I "fight" with the interviewer of Ali for 7 rounds and win

first round:

The first round of interviews is a telephone interview, mainly based on basic knowledge, about 2 hours before and after. At this stage, I am quite nervous.

  • First introduce yourself, including daily work
  • Multithreading, ThreadLocal, asked how the parent and child threads share data interitableThreadLocals
  • The difference between Lock and Sync
  • AQS principle (source code of the execution process, details of entering and leaving the team, details of the source code)
  • What is the source code level of the difference between CountDownLatch and CyclicBarrier
  • volatile from instruction reordering, memory barrier
  • Database, MySQL index, execution plan, count1* difference, example to optimize the relationship between sql, MVCC and transaction isolation level, gap lock, row lock
  • JVM tuning (what are the root nodes in the reachability analysis algorithm, the difference between cms and G1, how to tune GC, how to troubleshoot high CPU, high memory, and escape analysis)
  • How much redis data structure, jump table, redis qps can be, how to know, the difference between sentinel and cluster and their respective applicable scenarios, the redis cluster cluster synchronization process, why redis single thread is fast, how big the key is, the cause and consequence of hot key, and How to solve it, what should I do if local cache needs high timeliness?
  • The role of spring, how to solve the spring cycle dependency (tell the details of the three-level cache source code), the principle of spring aop (dynamic proxy), the spring bean life cycle (the source code details, and the design ideas of each location, what can be extended)
  • Source code of dubbo service exposure and reference process, load balancing strategy, fault tolerance mechanism
  • Problems encountered in the project.
  • Why change jobs? If you pass, you will directly say that there are written test questions, and confirm the written test time with you.

second round:

The second round is a written test, with a total of two questions, the first is writing code, and the second is writing technical solutions.

  • It is mainly based on query, and examines the details of lock granularity and time granularity. (Details omitted)

The third round:

The third round is an on-site interview. This round of interviews focuses on solutions, which lasts about 1 hour and 20 minutes.

  • Cache penetration, let me design a solution to prevent cache penetration. The simplest thing is to store the null value, but I will definitely study it deeply. You can combine the bloom filter to design a distributed system, and it will ask about the traffic distribution to specific filtering. How to call the server service method, such as the consistent hash algorithm? For example, dubbo direct connection, etc. will be asked while talking about details.
  • Is there any current limitation? Design a minimum intrusive current limitation service.
  • For the problems encountered in the project, it is best to say that the framework itself is a problem, which can reflect personal ability and avoid the problem being too low-level to be low by the interviewer. A dubbo bug was discovered just before, so this question should be answered well.
  • Why do you change jobs, you will ask every round, you have to think about it.

Fourth round:

Cross-face, project-oriented, the time is about 40 minutes, and there are not many questions. At this stage, my personal state is relatively relaxed, and the way I talk to the interviewer is natural.

  • Introduce the most familiar projects, whether there are any optimization points in the business; the gap and advantages with other companies in the same industry (estimated to be the standard question of P7, in short, I did not answer very well)
  • Dubbo service call process
  • The difference between NIO and BIO, what problem does NIO solve, Netty thread model (source code torture).
  • MQ related

Fifth round:

This round of interviews really made me more difficult. Interviewers would ask for specific values ​​whenever they asked questions, and the state became tense again, like walking on thin ice.

  • Project Introduction
  • I heard that current limiting and current limiting standards have been made (the number of concurrency? qps? The relationship between the number of concurrency and qps? Five current limiting schemes and corresponding algorithm principles have been mentioned)
  • How does dubbo call end generate corresponding services in jvm? Dubbo server and caller timeout settings and differences, dubbo long connection.
  • Maximum concurrent number of mysql row locks? (The spike project pointed out)
  • Designing the spike system, the asynchronous way I said, I would ask how to optimize it? Changed to a synchronous way. What is the difference between asynchronous and synchronous? Then I also asked Ali
  • What are the technical difficulties encountered? How to deal with it? Did you refer to other major manufacturers? What are the plans of other major manufacturers? Have you paid attention to the latest technology from Ali?
  • The spike system just now involves the update of multiple database tables. How to solve distributed transactions? What I said is the final consistency of messages, asynchronous? Is there a better solution? Synchronous TCC mode, the principle of TCC mode? (The concrete realization of three stages)

Sixth round:

The director’s face is mainly for self-introduction and project introduction. The way of chatting is more comfortable. Most of them are macro-controls of your overall values ​​(such as motivation, responsibility, mentality, passion for work, etc.). It ends in about 15 minutes. .

  • Talked about my project
  • What are the main architectures used?
  • Tell me about the more complex business logic?
  • ...

Seventh round:

In HR, Ali’s HR is very different. Both the temperament and the conversation are admirable. The questions asked are also very targeted. Finally, I told me that I would call back the results.

  • Self introduction
  • How to learn new technology?
  • How does the team work?
  • How to solve a difficult problem? How to break through?
  • career planning
  • ......

The full version of Ali's 7-round interview experience (including answers and analysis):

Due to the limited length of the article, the full version of the interview questions and answer analysis are arranged in the PDF file. If you need the full version, directly send a private message to my "Ali Interview" to get the download method.

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

How much sweat did I sweat before interviewing Ali?

1. Combing knowledge

In general interviews, you will be asked about JVM principles, multithreading, data structures and algorithms, high concurrency, design patterns, etc. These are all the knowledge structure of an ordinary Java developer, so Ali P7 must have more The knowledge tree requires a more comprehensive knowledge system, so a systematic review of knowledge is needed.

For benchmarking P7, the knowledge system I sorted out is as follows:

  • Basic skills: concurrent programming, JVM, network programming and efficient IO, Mysql, Tomcat
  • Design ideas and open source framework: SSM (Spring+SpringMVC+MyBatis)
  • Performance linear improvement architecture technology: ZK, Nginx, RabbitMQ, RocketMQ, Kafka, elastic
  • Efficient storage allows project performance to take off: Redis, MongoDB, MySQL, Mycat
  • Distributed extension to microservice architecture: SpringBoot, SpringCloud, SpringCloud Alibaba, Docker, K8S

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

2. Review knowledge

To go to the interview again after working for so long is definitely to take out my knowledge reserve again, to review all the knowledge points in place, you need to go through various methods and choose the one you are most used to. It is okay to read e-books or watch videos, but remember to make your own study notes, which can serve as a summary, and it will be particularly clear when you go to review.

E-book:

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

Study notes:

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

Learning video:

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

3. Brush the interview questions

After working for 5 years, although I know what technologies are popular now, I really don’t know what the big Internet companies will interview, so it is necessary to brush the interview questions before the interview. I have compiled the interview questions for the first-line Internet for nearly three years, and the content is really quite a lot.

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

It’s too difficult for me. Ali interviewed for 7 rounds (5 years of experience, won the P7 post of offe)

Planning and mentality after getting the offer

After graduating, my first 5 years went according to plan, so after getting Ali offer, I also have clear goals for the next 5 years. The next time is to form the stage of thinking methodology and knowledge system. At the same time, we must cultivate our own team assistance and management capabilities, enhance our own vision, and have a longer-term development.

As for the mentality, keep your feet on the ground, not arrogant or discouraged.

to sum up

Finally, I hope that everyone can have their own clear development path. I hope that everyone can successfully win the offer and enter the ideal company.

In the above article, all the documents can be shared with everyone for free. Friends who need this information can directly follow the public account below to get it

 

Guess you like

Origin blog.csdn.net/yunduo1/article/details/108735249