Cainiao 5 Sides (4 Sides Technology + Project + hr Side)
Ali was cold on both sides, and he was a rookie who eventually voted because of internal push. I have to say that it takes a very good attitude to be a rookie. . . Ok. . . At least one week apart on each side. . .
One side (technical side)
- Java memory model
- How to trigger full gc
- gc algorithm
- Which gc algorithm to use for high throughput
- ConcurrentHashMap和HashMap
- JDK8 stream operation
- volatile principle
- How to realize the bottom layer of volatile and how to maintain visibility?
- Have participated in open source projects
- Project Introduction
- Principle of thread pool, rejection strategy, number of core threads
- 100 million mobile phone numbers, repeated judgments
- Have you ever written a gadget
- Unit testing introduces how to unit test multi-module dependencies. Mockito
- What are the ways of interaction between threads? Is there a wrapper class for thread interaction (join)
Two sides (technical side)
- Project Introduction
- Introduction to dubbo and netty principles
- Current limiting algorithm
- What to do if zk hangs
- Spike scene design to cope with sudden bursts of traffic
- Redis hot key problem
- Redis update strategy (operate database or cache first)
- Distributed data consistency
- Consistent hash
- Introduction to the principle of message queues (unlikely)
- How to troubleshoot full gc problems
- jvm recycling strategy
- Principle and Application of ClassLoader
- The principle of annotation
- Database principle, database middleware, index optimization
- aop principle and application
- Big data related, MapReduce
- Do you understand machine learning?
- Java's new technology, and the latest developments in technology
- The principle of Docker
Three sides (talking about the project, asking about the technology)
- Whole project
- Discussed about database table design
- What indexes does the database have?
- What are the Redis cache elimination strategies?
- The implementation of distributed locks, which is better between zk implementation and redis implementation
- The principle of ioc is explained in detail, have you seen the source code?
- How to add optimistic locking to the database
Four sides (talking about technology...)
- Project Introduction
- Distributed transaction
- Three major features of Java
- RPC principle
- netty principle
- Downgrade strategy and downgrade framework
- Have you learned about downgrading hystrix?
- How to prevent repeated orders after two clicks
- OC principle is explained in detail, have you seen the source code?
- The difference between static proxy and dynamic proxy
- JUC tell me what you know
- B+ tree leaf node
HR face
These are some basic issues, so I won’t list them all here...
to sum up
A rookie has five sides, one side is pure technology, two or three sides start to talk about the project and then talk about the technology, the last side is HR, each side is at least one week apart, really have a good attitude, otherwise it will collapse in the middle. If you want to have a good attitude, you have to be skilled and filled with things in your stomach. I believe that every interviewer has his own interview cheats. I have successfully landed ashore. Here is my cheats for your reference. , I wish everyone a successful landing~
Let me share my interview cheats below, and those in need can click me to get them ~
Java architecture special interview (including detailed analysis) + big factory interview (topic + analysis)
Learn about mind maps (Java, Docker, Spring, MySQL, Redis, Kafka, JVM, design patterns, microservices...)
My Java learning books (JVM, Java, algorithm, database, distributed, thread, Linux, etc.)
image