Summary of the skills you need to have as an architect
Meituan.com Java Engineer
2019.05.26 It rained all day in Beijing and it was very cool. On Sunday afternoon, I went downstairs to feed the wild cats and came back to sort out some interview questions for netizens. The knowledge points covered about 80%, not very specific, not very complete. At the bottom is my personal blog, which contains answers to most of the questions. If there is none, I will update it slowly. Welcome to pay attention to the official account of my personal information.
Concurrent programming:
- Thread basics, thread cooperation: basic concepts, how to start and terminate, thread sharing, thread cooperation, fork/join
- Thread concurrent package:
- The role of countdownlatch, application scenarios and implementation.
- The role of CyclicBarrier, application scenarios and practices.
- Semaphore function, application scenario or practice.
- Exchange function, application scenario.
- Callable Future 和 FutureTask
- Atomic operation CAS: CAS principle, what are the atomic operation classes, and usage scenarios.
- Display lock and AQS: display lock, LockSupport tool, AbstractQueuedSynchronize implementation and source code analysis
- Concurrent container: ConcurrentHashMap, blocking queue.
- Thread Pool
- What is a thread pool and why should you use a thread pool.
- What is the difference between the four implementation methods.
- How to implement an own thread pool
- Thread pool working mechanism
- Executor framework
- CompletionService
- Concurrency:
- Class thread safety issues
- How to judge class thread safety
- What problems can be caused by thread insecurity
- Thread-safe singleton mode
JVM performance tuning
- Java memory model
- Runtime data area
- Parsing stack
- Method push and pop
- Heap parameter setting, actual memory overflow
- Garbage collection, memory allocation strategy
- How to judge the survival of the object and what algorithms are there.
- References between objects: strong and weak references
- GC algorithm
- Generational collection
- Garbage collector
- STW explanation
- What performance tuning tools does JDK have
- JVM execution subsystem
- Class loading mechanism
- Detailed method call
23 design patterns
Mysql
- Several common storage engines, Innodb focuses on understanding
- Lock, transaction,
- Sub-database and sub-table design method
- The data structure of the index.
The internet
- TCP,UDP,HTTP
- JDK 的 NIO BIO
- What is Netty and why use Netty.
- Serialization framework
- Netty source code analysis.
Summary of high-level knowledge of architects:
- Distributed related:
- Distributed coordination and distribution, Zookeeper foundation
- Nginx high concurrent application, forward proxy, reverse proxy, dynamic and static separation, LVS
- How to solve the consistency problem in a distributed architecture
- Asynchronous and messaging middleware
- What are the message middleware, such as common RabbitMQ, Rocket MQ, Kafka
- Familiar with one of them, you can do in-depth research, such as why Kafka has high throughput.
- How to solve message duplication and message loss
- Caching and NoSql
- Redis commonly used data structure
- Redis master-slave replication strategy, persistence strategy.
- Sentinel mechanism
- How to design a highly available cluster
- How to solve the Redis data skew problem,
- How to solve hot data
- Elimination strategy
- Highly reliable data storage method
- Distributed common scenarios to solve actual combat
- Distributed transaction solution
- Single sign-on solution
- Distributed task scheduling
contact me
VX search [professional programmer] reply "Add group", I will pull you into the technical group. To be honest, in this group, even if you don't speak, just looking at the chat records is a kind of growth. Senior engineers from Alibaba/Tencent/Baidu, Google technology gods, IBM engineers, and Wang Jian* , from all walks of life, are all here. If you don't understand, please ask questions.
Finally, if you think Wang Zhan’s article is good, let’s have a three-link: follow, forward and like