I shared the whole process of getting Ali's 40K*16 salary offer

Ali technical job requirements and system diagram:

Many people are not very clear about the technical requirements of Alibaba's technical post's system structure and level. They want to go for an interview and don't know what level of post they are interviewing for. Let's talk about the level of Ali's technical system!

Ali P6 (Technical Supervisor)

Work requirements:

Can solve problems independently, formulate a systematic technical implementation plan, and the assessment will involve some technical depth.

Skill requirements:

In addition to the P5 skills, the following skills must be mastered. The following skills must be familiar with at least.

Architecture design, operation and maintenance capabilities, operating system.

Attached drawing:

Technical interview questions are as follows

One side (asked about data structure, jvm, lock, etc.):

  1. Self introduction and projects

  2. How to realize the bottom layer of HashMap?

  3. Hash consensus algorithm?

  4. Talk about the difference between HashMap and ConcurrentHashMap? The difference between treemap and HashMap?

  5. java memory partition?

  6. How to recycle java objects, recycle algorithm?

  7. Do CMS and G1 understand?

  8. What problem does CMS solve? Tell me about the recycling process?

  9. How many times did the CMS recovery pause?

  10. When will the java stack overflow? What about the java heap, a scenario?

  11. How does the collection class solve this problem (soft reference and weak reference), and what is the difference between these two references?

  12. What do you know about locks in java?

  13. How to implement the synchronized lock upgrade process (bias lock to lightweight lock and then to heavyweight lock), and what problems are solved?

  14. What is the basic architecture of Tomcat?

  15. What is a class loader?

  16. Talk about the parent delegation model mechanism?

  17. What is the mechanism of GC? GC algorithm and recovery strategy?

  18. Future career plan?

Two sides (thread, database, cache, protocol, etc.):

  1. Talk about the project

  2. What are the components of the thread pool?

  3. What thread pools are there and how to use them? What are the rejection strategies?

  4. When does a deadlock occur in multiple threads, write an example?

  5. What is the data structure of Redis? What about the threading model?

  6. Talk about Redis's data elimination mechanism?

  7. Talk about the data consistency of Redis?

  8. How to do Redis distributed?

  9. What about RPC?

  10. Three handshake and four waves? Is there a problem if there is no three-way handshake?

  11. Http request process, DNS resolution process?

  12. What are the names of the four transaction isolation levels supported by InnoDB? What's the difference? Talk about the MySQL isolation level?

  13. The characteristics of the transaction and slow query?

  14. What about the BTree mechanism?

  15. Talk about the optimization methods commonly used in MySQL?

Three sides (distributed, message queue, etc.):

  1. Self introduction

  2. Do you understand cap and what do they mean?

  3. What are the ways to achieve strong consistency and weak consistency?

  4. How to achieve load balancing? Why do you do this?

  5. What about the cache avalanche?

  6. How does MySQL master-slave replication work? What is the specific principle? What are the advantages and disadvantages?

  7. Talk about distributed transactions?

  8. Message queue, what scenarios are used (peak clipping, current limiting, asynchronous)?

  9. How to overcome the performance bottleneck of zk?

  10. Speaking of Kafka, how to ensure that data is not lost? Ensure that messages will not be re-consumed?

  11. How does the message delivery confirmation work?

Four sides (starting from the project):

  1. Talked about my project

  2. What are the main architectures used?

  3. Tell me about the more complex business logic?

  4. Encountered difficult problems and breakthrough receipts

  5. Talk about your future plans and future career development

Concurrent programming:

  • What is multithreaded concurrency and parallelism?

  • What is the thread safety issue?

  • What is the memory visibility issue of shared variables?

  • What is atomic operation in Java?

  • What is the CAS operation in Java and the realization principle of AtomicLong?

  • What is Java instruction reordering?

  • What is the memory semantics of the Synchronized keyword in Java?

  • What is the memory semantics of the Volatile keyword in Java?

  • What is false sharing, why does it occur, and how to avoid it?

  • What are reentrant locks, optimistic locks, pessimistic locks, fair locks, unfair locks, exclusive locks, and shared locks?

  • Tell me about the implementation principle of ThreadLocal?

  • How does ThreadLocal act as a thread isolation method for variables?

  • Talk about the implementation principle of InheritableThreadLocal?

  • How does InheritableThreadLocal make up for the fact that ThreadLocal does not support inheritance?

  • How is the internal implementation of CyclicBarrier different from CountDownLatch?

  • How does the Random class of the random number generator use the CAS algorithm to ensure the uniqueness of the new seed under multithreading?

  • How does ThreadLocalRandom use the principle of ThreadLocal to solve the limitations of Random?

  • How to use ThreadLocal to implement request scope scope bean in Spring framework?

  • The realization of the bottom layer of the lock in the concurrent package (understanding of AQS)?

  • Talk about the principle of exclusive lock ReentrantLock?

  • Talk about the principle of ReentrantReadWriteLock?

  • Understanding the principle of StampedLock?

  • Talk about the understanding of the principle of the non-blocking unbounded queue ConcurrentLinkedQueue based on the linked list?

  • How does the ConcurrentLinkedQueue internally use CAS non-blocking algorithm to ensure the thread safety of multi-threaded enqueue and dequeue operations?

  • The principle of LinkedBlockingQueue based on linked list.

JVM

  • Java memory allocation?

  • What is the structure of the Java heap?

  • What is Perm Gen space in the heap?

  • Briefly describe the changes in the memory area of ​​each version?

  • Talk about the role of each area?

  • Is there a memory leak in Java, briefly?

  • Java class loading process?

  • Describe the principle mechanism of JVM loading Class files?

  • What is a class loader?

  • What are the class loaders?

  • What is the tomcat class loading mechanism?

  • The class loader parent delegation model mechanism?

  • What is GC? Why is GC?

  • Briefly describe the Java garbage collection mechanism?

  • How to judge whether an object is alive?

  • The advantages and principles of garbage collection, and consider 2 types of recycling mechanisms?

  • What is the basic principle of the garbage collector?

  • Can the garbage collector reclaim memory immediately? Is there any way to proactively notify the virtual machine for garbage collection?

  • Deep copy and shallow copy?

  • What will System.gc() and Runtime.gc() do?

  • If the object reference is set to null, will the garbage collector immediately release the memory occupied by the object?

  • What is distributed garbage collection (DGC)? How does it work?

Spring

  • Why do we need a proxy model?

  • Talk about the advantages and bottlenecks of the static proxy model?

  • Understanding of the realization principle of Java interface proxy mode?

  • How to implement dynamic proxy using Java reflection?

  • The designated enhancement of the Java interface proxy mode?

  • Talk about the implementation of enhanced dynamic proxy for Cglib class?

  • What is point cut, advice, and join point?

  • What is the difference between join point and point cut?

  • How to understand the aspects of aspect-oriented programming?

  • Talk about the understanding of SpringAOP Weaving?

  • Talk about the understanding of SpringAOP Introduction (introduction)?

  • Explain the simple comparison between OOP and AOP?

  • Explain the principle and difference between JDK dynamic proxy and CGLIB proxy?

  • Explain the implementation principle of Schema-based AOP in the Spring framework?

  • Explain how to implement transaction management based on AOP in the Spring framework?

  • Talk about the understanding of the design idea of ​​inversion of control?

  • How to understand Spring IOC container?

  • .Friends who need the full version can like this article and add assistant vx: bjmsb10 for free

database

  • What storage engines does MySQL have? What's the difference?

  • What is the difference between Float and Decimal storage amount?

  • What is the difference between Datetime and Timestamp storage time?

  • What is the difference between Char, Varchar and Varbinary storage characters?

  • What is an index?

  • Compare the B+ tree index and the Hash index?

  • What are the MySQL index types?

  • How to manage MySQL index?

  • Understanding of Explain parameters and important parameters?

  • What are the pros and cons of indexing and index classification?

  • What is the transposition of a binary tree?

  • What is the difference between a clustered index and a non-clustered index?

  • How is B+tree optimized? What principles does the index follow? What automatic optimizations will the storage engine perform? When will the index fail?

  • What is the relationship between index and lock?

  • What other index types are there, and what are their advantages and disadvantages?

  • Talk about your understanding of Innodb affairs?

  • Talk about the characteristics of database transactions and potential problems?

  • What is the MySQL isolation level?

  • How many scenarios of transaction failure are there and how to solve them?

Cache

  • What are the redis data structures?

  • Redis cache penetration, cache avalanche?

  • How to use Redis to implement distributed locks?

  • How to solve the problem of concurrent competition in Redis?

  • Several methods of Redis persistence, what are the advantages and disadvantages, and how to achieve it?

  • Redis's cache invalidation strategy?

  • Redis cluster, high availability, principle?

  • Redis cache fragmentation?

  • Redis's data elimination strategy?

  • Redis queue application scenario?

  • Distributed usage scenario (storage session)?

network programming

  • TCP connection and disconnection process?

  • The interactive process of HTTP protocol, the difference between HTTP and HTTPS, the interactive process of SSL?

  • What is the use of TCP's sliding window protocol?

  • What are the methods of HTTP protocol?

  • The basic process of Socket interaction?

  • Talk about the tcp protocol (connection establishment process, slow start, sliding window, seven-layer model)?

  • Webservice protocol (wsdl/soap format, the difference with restt protocol)?

  • Talk about the Netty threading model, what is zero copy?

  • TCP three handshake, four wave hands?

  • DNS resolution process?

  • How does TCP ensure reliable data transmission?

distributed

  • What is the CAP theorem?

  • Talk about CAP theory and BASE theory?

  • What is final consistency? How to achieve final consistency?

  • What is a consistent hash?

  • Talk about distributed transactions?

  • How to implement distributed locks?

  • How to implement distributed session?

  • How to ensure the consistency of the message?

  • Understanding of load balancing?

  • Forward proxy and reverse proxy?

  • How does CDN implement?

  • How to improve the QPS and throughput of the system?

  • The underlying realization principle and mechanism of Dubbo?

  • Describe the detailed process of a service from being published to being consumed?

  • How to do service governance in distributed systems?

  • How does message middleware solve the problem of message loss?

  • How to deal with the failure of Dubbo service request?

  • Understanding of distributed transactions?

  • How to achieve load balancing and what algorithms can be implemented?

  • What is the purpose of Zookeeper and the principle of election?

  • Talk about the vertical split and horizontal split of data?

Summary of interview experience

You must be cautious about what you write on your resume, and you must be very familiar with the things on your resume. Because under normal circumstances, the interviewer will ask based on your resume;

It is also very important to have a project that is on the table. This is likely to be a place where interviewers will ask a lot of questions, so before the interview, review the projects you have done;

Talk to the interviewer about basic knowledge such as the use of design patterns, the use of multi-threading, etc., which can be combined with specific project scenarios or how you use them in daily life;

It is recommended to know in advance the values ​​of the company you want to interview and judge whether you are suitable for this company.

In addition, I personally feel that the interview is also like a brand new journey. Failure and victory are common things. Therefore, I advise you not to become discouraged and lose your fighting spirit because of the interview failure. Don't be complacent because you passed the interview. What awaits you is a better future, keep on!

.Friends who need the full version can like this article and add assistant vx: bjmsb10 for free

After reading the above content, I believe that everyone has a clear goal and direction. We have prepared a very comprehensive review document for some students who are hopping interviews after the year.

Guess you like

Origin blog.csdn.net/javachengzi/article/details/112998444