Daniel shared: What level of Java can be recruited through Alibaba?

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

1. Basic skills:

Ali is mainly in the direction of Java, and the jdk should be more proficient in understanding and using. The key contents are: 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 about redis, you can also talk about the jump table and prefix tree. The operating system does not ask too much, generally it is to ask whether there has been a situation of too high CPU or too high memory in practice, and then how to locate and solve it.

2. Middleware framework:

Now here is 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 relatively proficient, who can understand the underlying data structure and implementation principles, and the normal 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 messages are not lost. You must be proficient in at least one message queue and understand the principles. Zk sometimes asks and sometimes doesn't ask. This can be seen when you have time. After all, this is a distributed coordinator. Many times in distributed systems, zk is used 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 a database design, it generally depends on how you design the data to facilitate 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 is doing, he basically has no hope, so he must think about the project he has done, what are the difficulties , and what problems have been solved. What are the adjustments to the structure, 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 stroll, 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 behind, basically 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 Ali’s interview questions:

Ali side: (phone interview)

  1. Project Introduction
  2. Implementation of sub-database and sub-table in the project, how to achieve 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 one hour. Ideas are not allowed. You can only write by hand, so some functions will be written incorrectly.

  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 of grpc protobuf 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. Do you have any questions?
  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, consumer and producer code
  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.

Due to limited space, it is not possible to list them here. Readers and friends can forward + follow the editor and add assistant vx: bjmsb10 to get the whole set for free;

Grouped by category, clear goals and progress:

What level of Java can be recruited through Alibaba?

 

What level of Java can be recruited through Alibaba?

 

The document that helped me the most:

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

What level of Java can be recruited through Alibaba?

 

How to get it?

After forwarding + following the editor, add assistant vx: bjmsb10 to receive it!

Guess you like

Origin blog.csdn.net/Java0258/article/details/112252326