preface
The general environment this year is very bad, the phenomenon of layoffs in Internet companies is more serious than in previous years, but this year just happens to be the deadline of my first “five-year plan”, there is no way to delay, so the job hopping prepared in advance has begun after the epidemic has improved. However, I have to say that the interview with Ali was really difficult for me. It can be said that I fought with the interviewer for 7 rounds, but fortunately I finally gave the offer.
My personal situation is that I have 5 years of Java background experience, and ALI has graded P7. The following is my interview experience to share, hoping to bring some different inspiration and help.
I won a seven-round “war” with the interviewer Ali
The first round:
The first round of interview was a telephone interview, which mainly focused on basic knowledge and lasted about 2 hours. I was quite nervous at this stage.
- Introduce yourself first, including your daily work
- How do parent and child threads share data interitableThreadLocals
- The difference between Lock and Sync
- AQS principle (source code execution process, team entry and team exit details, source details)
- What is the difference between CountDownLatch and CyclicBarrier
- Volatile reordering from instructions, memory barrier
- Database, MySQL index, execution plan, count1* distinction, example optimization of SQL, RELATIONSHIP between 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 check CPU high, memory high, escape analysis)
- Redis data structures, skip lists, redis QPS can be on how much, How to know, the difference between sentinel and Cluster and their applicable scenarios, the cluster synchronization process of Redis cluster, why is redis single thread fast, many large keys, hot key causes and consequences and how to solve, local cache needs high timeliness how to do?
- What Spring does, how spring loop dependencies are resolved (say source details for level 3 caching), Spring AOP principles (dynamic proxies), Spring Bean lifecycle (source details, and design ideas for each location, what’s extensible)
- Dubbo service exposure and reference process, load balancing strategy, fault tolerance mechanism where to implement the source code
- Problems encountered in the project.
- Why do you change your job? If I pass, I will directly say that I have a written test and confirm the time of the written test with you.
The second round:
The second round is the written test, with a total of two questions. The first question is to write the code, and the second question is to write the technical scheme.
- Mainly based on the query, to investigate the details of the lock granularity, time granularity. (Omitted)
The third round:
The third round is an on-site interview, which focuses on solutions and lasts about 1 hour and 20 minutes.
- Cache penetration, let me design a solution to prevent cache penetration, simple is to store null value, but will certainly go into further research, can combine with Bloom filter, design distributed system, which will ask traffic distribution to the specific filter service, such as consistent hash algorithm, how to call? Such as dubbo direct connection, and other details will be asked at the same time.
- Do not do traffic limiting, design a least invasive traffic limiting service.
- The questions encountered in the project, preferably the framework itself, can reflect personal ability, but also avoid the low level of the question to the interviewer, just found a dubbo bug, so this question should be answered ok.
- Why do you change jobs? Every round, you have to think about that.
The fourth round:
At this stage, I felt more relaxed and talked with the interviewer in a more natural way.
- Introduce the most familiar projects, and do you have any optimization points in business? Gap and advantage with other companies in the same industry (it is probably a standard question of P7, but I did not answer it well in general)
- Dubbo service invocation procedure
- NIO vs. BIO, what problems NIO solves, Netty threading model (source interrogation).
- MQ related
The fifth round:
This round of interview really put me in a difficult position, the interviewer will ask any question will be specific numerical value, the state became nervous, walking on thin ice ah.
- Project introduction
- Heard said to do the limit, limit the standard (concurrent number? QPS? How does concurrency relate to QPS? 5 kinds of current limiting schemes and corresponding algorithm principles are given.
- How does the dubbo caller generate the corresponding service in the JVM? Dubbo server and caller timeout Settings and differences, dubbo long connection.
- Maximum number of concurrent mysql row locks? (Second kill item indicated)
- Designing a seckill system, when I say asynchronous, will ask how to optimize? Change to synchronous mode, asynchronous and synchronous difference? And then I asked Ari about it
- What are the technical difficulties? How to solve it? Did you refer to other big factories? What about other big factories? Have you paid attention to the latest technology from Alibaba?
- The second kill system will involve multiple database table updates. How to solve the distributed transaction? When I say message consistency, asynchronous? Is there a better plan? Synchronous TCC mode, how does TCC mode work? (Concrete realization of the three stages)
The sixth:
The interview with the director is mainly about self-introduction and project introduction. The chat is comfortable, and most of it is about macro control of your overall values (such as ambition, responsibility, mentality, passion for work, etc.). It will be over in about 15 minutes.
- He talked about his project
- What are the main architectures used?
- More complex business logic?
- .
The seventh chakra:
The HR of Ali is very different, both in temperament and conversation are admirable, and the questions they ask are very targeted. Finally, tell me the feedback result over the phone.
- To introduce myself
- How to learn new skills?
- How do you work as a team?
- How to solve a difficult problem? How to break through?
- Career planning
- .
Ali’s 7 rounds of interview experience
Due to the limited space of this article, the full version of the interview questions and answers are arranged in the PDF file. If you need the full version of the interview, you can directly email me “Ali Interview” to download the way.
Friendship reminder: the next part involves more content, more information organized in the document, need friends forward, pay attention to the end of the public account can be obtained for free.
How much did I sweat before the interview with Ali?
1. Comb your knowledge
General of the interview, will be asked if the JVM principle, multithreading, data structures and algorithms, high concurrency, design patterns, such as content, this is a normal Java developer’s knowledge structure, then the ali will be definitely needs to have more knowledge tree, need to acquire a more comprehensive knowledge system, so you need for a system of the knowledge.
For P7, I sorted out the knowledge system as follows:
- Basic skills: concurrent programming, JVM, network programming and efficient IO, Mysql, Tomcat
- Design philosophy and open source framework: SSM (Spring+SpringMVC+MyBatis)
- Linear performance enhancement Architecture: ZK, Nginx, RabbitMQ, RocketMQ, Kafka, Elastic
- Efficient storage lets project performance take off: Redis, MongoDB, MySQL, Mycat
- Distributed extension to microservice architectures: SpringBoot, SpringCloud, SpringCloud Alibaba, Docker, K8S
2. Review
Work so long to go to the interview is certainly to take out their knowledge reserve again, to review each knowledge point in place, need to through various ways, choose their most accustomed. Whether reading electronic books or watching videos is ok, but remember to do their own study notes, can play a summary role, and then go to review it will be particularly clear.
Electronic books:
Electronic books
Study notes:
Redis study notes
Learning video:
3. Brush interview questions
5 years of work, although I know what technology is popular now, but I am not quite clear about what will be interviewed by big Internet companies, so it is necessary to brush the interview questions before the interview, so that I can draw inferitions from one point of view. A line of Internet interview questions, I sorted out nearly three years, the content is really a lot.
Planning and mentality after getting the offer
After graduation, my first five years went according to the plan, so I will have a clear goal for the next five years after I get the offer from Ali. In the following period, I will form my thinking methodology and knowledge system. Meanwhile, I will also cultivate my team assistance and management ability, improve my vision, and have a long-term development.
As for the state of mind, down-to-earth, not proud not hungry.
conclusion
Finally, I hope everyone can have their own clear development route, I hope everyone can successfully win the offer, enter the ideal company, mutual encouragement!
In the above article, all the documents can be free to share with you, need friends, forward + comment on my article, pay attention to the public number below can get the package to receive ~