Summary of the skills you need to have as an architect



Summary of the skills you need to have as an architect

Summary of the skills you need to have as an architect

King Fried

King Fried

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:

  1. Thread basics, thread cooperation: basic concepts, how to start and terminate, thread sharing, thread cooperation, fork/join
  2. Thread concurrent package:
    1. The role of countdownlatch, application scenarios and implementation.
    2. The role of CyclicBarrier, application scenarios and practices.
    3. Semaphore function, application scenario or practice.
    4. Exchange function, application scenario.
    5. Callable Future 和 FutureTask
  3. Atomic operation CAS: CAS principle, what are the atomic operation classes, and usage scenarios.
  4. Display lock and AQS: display lock, LockSupport tool, AbstractQueuedSynchronize implementation and source code analysis
  5. Concurrent container: ConcurrentHashMap, blocking queue.
  6. Thread Pool
    1. What is a thread pool and why should you use a thread pool.
    2. What is the difference between the four implementation methods.
    3. How to implement an own thread pool
    4. Thread pool working mechanism
    5. Executor framework
    6. CompletionService
  7. Concurrency:
    1. Class thread safety issues
    2. How to judge class thread safety
    3. What problems can be caused by thread insecurity
    4. Thread-safe singleton mode

JVM performance tuning

  1. Java memory model
    1. Runtime data area
    2. Parsing stack
    3. Method push and pop
    4. Heap parameter setting, actual memory overflow
  2. Garbage collection, memory allocation strategy
    1. How to judge the survival of the object and what algorithms are there.
    2. References between objects: strong and weak references
    3. GC algorithm
    4. Generational collection
    5. Garbage collector
    6. STW explanation
    7. What performance tuning tools does JDK have
  3. JVM execution subsystem
    1. Class loading mechanism
    2. Detailed method call

23 design patterns

Mysql

  1. Several common storage engines, Innodb focuses on understanding
  2. Lock, transaction,
  3. Sub-database and sub-table design method
  4. The data structure of the index.

The internet

  1. TCP,UDP,HTTP
  2. JDK 的 NIO BIO
  3. What is Netty and why use Netty.
  4. Serialization framework
  5. Netty source code analysis.

Summary of high-level knowledge of architects:

  1. Distributed related:
    1. Distributed coordination and distribution, Zookeeper foundation
    2. Nginx high concurrent application, forward proxy, reverse proxy, dynamic and static separation, LVS
    3. How to solve the consistency problem in a distributed architecture
  2. Asynchronous and messaging middleware
    1. What are the message middleware, such as common RabbitMQ, Rocket MQ, Kafka
    2. Familiar with one of them, you can do in-depth research, such as why Kafka has high throughput.
    3. How to solve message duplication and message loss
  3. Caching and NoSql
    1. Redis commonly used data structure
    2. Redis master-slave replication strategy, persistence strategy.
    3. Sentinel mechanism
    4. How to design a highly available cluster
    5. How to solve the Redis data skew problem,
    6. How to solve hot data
    7. Elimination strategy
  4. Highly reliable data storage method
  5. Distributed common scenarios to solve actual combat
    1. Distributed transaction solution
    2. Single sign-on solution
    3. 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


Guess you like

Origin blog.51cto.com/14984172/2562813