What level of Java can be recruited through Alibaba? Share 5 experiences of Ali

I have just joined Ali for less than a month (new retail direction), so I am quite clear about what I have prepared before, and the department is also hiring, so I asked those recruiting colleagues what they mainly look at. For social recruitment, the preparations I made before are as follows:

1. Basic skills:

Ali is mainly in the direction of Java, and the jdk should be more proficient in understanding and using. The key content is: collection, multithreading, io, exception, reflection, annotation, serialization, deserialization and other knowledge. The second is the network and data structure. The network must know at least three handshake, four breakup, https, get, post, etc. The data structure sometimes asks about the red-black tree, balance the binary tree. If you know redis, you can also talk about the jump table and prefix tree. The operating system doesn't ask much, generally it is to ask if there is a situation where the CPU is too high or the memory is too high in practice, and then how to locate and solve it.

2. Middleware framework:

Now here is also the basic spring set, so we need to understand the common problems of spring. For example, the startup process, bean initialization process, bean life cycle, how to solve the problem of circular dependency, ioc, aop, etc. Caching , whether it is redis or memcache or other, must have at least one that is more proficient, able to understand the underlying data structure and implementation principles, and the conventional use of it. Database , this is MySQL or Oracle to be familiar with. The database generally needs to know the implementation of sub-database and sub-table, database backup, database transaction, data consistency of database and cache, database index, lock mechanism and so on. rpc  is also one of the more commonly used on Ali, so the commonly used rpc framework can be understood, the advantages and disadvantages, and the principle of rpc should be understood. If you have time, you can write a practical battle based on netty. MQ is also a key piece of knowledge. Generally, you will ask about the idempotence of messages, transactional implementation, and how to ensure that no messages are lost. You must be proficient in at least one message queue and understand the principles. Zk sometimes asks and sometimes does not ask, this can also be seen when you have time, after all, this is a distributed coordinator, and zk is often used in distributed systems to ensure strong consistency.

3. Design questions:

This kind of general will give you a specific scenario and let you do it. If it is an architectural design , it is generally high concurrency. If it is the design of the database , it generally depends on how you design the data to facilitate the query.

4. Theoretical questions:

Generally, it depends on your understanding of some commonly used distributed theories. Conformance protocol, distributed cap, base theory, service degradation, fusing, restful interface, etc.

5. Project:

This is a key point. I chatted with my colleague and found that if he feels that he can’t even explain the project he’s doing, he basically has no hope, so he must think about the project he’s doing, what are the difficulties , and what problems have been solved. What are the adjustments to the architecture, why do you do this, and what is the final result? If you do it for a long time, it is generally described in several stages, what is the goal of each stage, and why you do it . This will make the thinking a little clearer.

6. Handwritten code:

Code assessment is required to enter every big company, so this is to brush the questions, letcod, have time to go shopping, you deserve it.

In fact, every company interviews are almost the same. Of course, if you want to interview a higher level, you usually have your understanding of the industry and your views on the industry.

My five-sided experience

Ali's interview is still relatively difficult, especially for the experts at the back, which basically consist of one question after another. Compared with the interviews of Tencent and Byte, Ali’s interviews are relatively simple in coding, usually three questions, one hour, one algorithm question, one design pattern question, one multi-threaded event waiting to be notified, and the others are fine. . Here are the interview questions for Ali:

Ali side: (phone interview)

  1. Project Introduction
  2. The realization of sub-database and sub-table in the project, how to realize aggregate query
  3. How to ensure that the project is submitted only once, the idempotence of http request
  4. Jdk's parental delegation model, how to destroy the parental delegation model
  5. The use scenarios and principles of distributed locks, whether they are used in the project
  6. Do you understand Java multithreading?
  7. Mysql index introduces, under what conditions the index fails, explain the principle of the leftmost prefix
  8. The memory usage of the process is too high, how to troubleshoot
  9. The realization principle of Spring aop
  10. What do you want to ask

Ali two sides (online written test questions):

Three questions in 1 hour. Ideas are not allowed. You can only write by hand, so some functions will be written incorrectly. Please comment next to it.

  1. Leetcode original question third question
  2. The realization of design pattern strategy pattern
  3. Use of multi-threaded waiting notification

Ali three sides:

The interviewer has something to go straight to the next side, lucky

 

Ali on all sides: (phone interview)

  1. Project introduction, very detailed questions, detailed questions, optimization points, how to optimize, performance comparison, how to achieve
  2. Are you familiar with the rpc framework? Do you know what rpc architectures are, and talk about the advantages and disadvantages respectively, because the project uses grpc, and focuses on this framework
  3. The serialization protobuf of grpc knows how to realize the serialization is very small, have you understood the underlying principle?
  4. Which version of Redis does your project use and do you know its new features? Why choose this version?
  5. There are several deployment methods for Redis. What is the difference between the sentinel mechanism and the cluster?
  6. Is there anything you want to ask?
  7. Salary and willingness to come to Hangzhou

Five Faces of Ali: (Video Interview)

  1. Project Introduction
  2. How is the database designed in the project, and its sub-database sub-table implementation details? To be specific to how the code is implemented?
  3. Can you describe the consensus hash algorithm you just mentioned?
  4. In the process of the project, what is the evolution process of your project? What did you do each year?
  5. Describe the threading model of Netty, and dictate the startup process of a netty server? (Need to know how the code is implemented)
  6. How to implement a locked producer-consumer model? Dictate the use of condition, the code of consumers and producers
  7. How is the thread awakened?
  8. Clearly describe the waiting queue and synchronization queue in AQS and condition
  9. Does Rpc understand? Talk about the process of rpc
  10. What is the role of Zookeeper in the rpc framework?
  11. How is the writing process of Zookeeper implemented?
  12. Is there anything you need to ask me?

My study materials

There is no shortcut to learning java. It is a process that makes perfect. Through continuous practice, the basics are solid and learn step by step.

The document that helped me the most:

Needless to say, this document actually has its gold content from the catalog alone!

What level of Java can be recruited through Alibaba?

 

Dachang interview questions:

What level of Java can be recruited through Alibaba?

Java architect notes:

The space is limited, you can't show all of it, you can only take screenshots to show the part. Just act on that sentence and be an up-and-coming person who loves to learn. You have learned better than others. Hurry up [see the picture below to add a small assistant for free] and take away the information!

Learning is not difficult, as long as you find the right route, the above steps are enough!

Guess you like

Origin blog.csdn.net/m0_50180963/article/details/114172944