Job hopping happens all the time, but I recommend that you think about why you want to change before you jump. Don't follow the trend, see colleagues leaving one by one, and start interviewing blindly yourself (not fully prepared during the period), is it because of technical reasons (affecting your own development, deviating from your planned trajectory), or money Less and less attention.
An inadequately prepared interview is a complete waste of time and irresponsible to yourself (if the title is high, I don't say it).
Today, I will share with you the Java interview outline compiled by Chenssy in this job-hopping. Most of them are interview questions during the interview process. You can check and fill in the gaps. Of course, it is impossible to cover all the methods listed here.
Project Introduction
In most cases, this is the opening question of an interview. The interviewer asks this question mainly to test your overview ability and overall vision. Some people often complain that they are building a business every day, but they are not growing. In fact, in many cases, the business is indeed growing, but it is not without growth. Growth is not about doing middleware or technical architecture. For example, our needs analysis ability, communication and collaboration ability, product thinking ability, abstract modeling ability, etc. are all very important hard powers.
OK, now on to the text.
1. Clarify what the project does
2. Define the value of the project. (Why do you do this project, what pain points does it solve for users, and what value does it bring?)
3. Define the function of the project. (What features does this project involve?)
4. Define the technology of the project. (What technologies are used in this project?)
5. Clarify the position and role of individuals in the project. (Your role in this project?)
6. Define the overall structure of the project.
7. Identify the strengths and weaknesses of the project, and how you would design it if you redesigned it.
8. Identify the highlights of the project. (What is the highlight of this project?)
9. Identify technical growth. (What skills have you grown through this project?)
10. Answers to the above questions, if you have any doubts, you can join the group: 561614305 to get the answers to the interview questions
Java Basics
1. The difference between List and Set
2. How does HashSet ensure non-repetition
3. Is HashMap thread-safe, why is it not thread-safe (it is best to draw a picture to illustrate that it is not safe in a multi-threaded environment)?
4. The expansion process of HashMap
5. The difference between HashMap 1.7 and 1.8, explain what optimizations have been made in 1.8 and how to optimize them?
6、final finally finalize
7. Strong reference, soft reference, weak reference, virtual reference
8. Java reflection
9. Arrays.sort implementation principle and Collection implementation principle
10. Application of LinkedHashMap
11. Implementation principle of cloneable interface
12. Exception classification and processing mechanism
13. The difference between wait and sleep
14. How arrays are allocated in memory
Java Concurrency
1. What is the implementation principle of synchronized and lock optimization?
2. What is the implementation principle of volatile?
3. Java semaphore?
4. What is the difference between synchronized in static methods and ordinary methods?
5. How to realize that all threads wait for the occurrence of an event to execute?
6. CAS? What's wrong with CAS and how to fix it?
7. What is the difference between synchronized and lock?
8. How is Hashtable locked?
9. The concurrency problem of HashMap?
10. Introduction to ConcurrenHashMap? Why use red-black trees in 1.8?
11、AQS
12. How to detect deadlock? How to prevent deadlock?
13. Java memory model?
14. How to ensure the correct result of i++ under multi-threading?
15. What are the types, differences and usage scenarios of thread pools?
16. Analyze the implementation principle of the thread pool and the thread scheduling process?
17. How to tune the thread pool and how to confirm the maximum number?
18. ThreadLocal principle, what should I pay attention to when using it?
19. The usage of CountDownLatch and CyclicBarrier, and the difference between them?
20. LockSupport tool
21. Condition interface and its implementation principle
22. Understanding of Fork/Join framework
23. The principle of segmented lock, the thinking of reducing the locking force
24. Eight types of blocking queues and the characteristics of each blocking queue
Spring
1、BeanFactory 和 FactoryBean?
2. Understanding of Spring IOC, its initialization process?
3、BeanFactory 和 ApplicationContext?
4. How is the life cycle of Spring Bean managed?
5. What is the loading process of Spring Bean?
6. If you want to implement Spring AOP, how do you implement it?
7. If you want to implement Spring IOC, what problems will you pay attention to?
8. How does Spring manage transactions, and what is the transaction management mechanism?
9. What are the different transaction propagation behaviors of Spring and what are they used for?
10. Which design patterns are used in Spring?
11. How does Spring MVC work?
12. The principle of Spring cycle injection?
13. Understanding of Spring AOP, various terms, how do they work with each other?
14. How does Spring ensure the security of Controller concurrency?
Netty
1 、 BIO 、 NIO 和 AIO
2. The major components of Netty
3. Netty's threading model
4. Reasons and solutions for TCP sticking/unpacking
5. Which serialization protocols do you know? Including usage scenarios and how to choose
6. Zero-copy implementation of Netty
7. What are the high performance of Netty?
Distributed correlation
1. The underlying implementation principle and mechanism of Dubbo
2. Describe the detailed process of a service from being published to being consumed
3. How to do service governance in distributed systems
4. The concept of idempotency of interfaces
5. How message middleware solves the problem of message loss
6. How to deal with the failure of Dubbo's service request
7. Will the reconnection mechanism cause errors?
8. Understanding of distributed transactions
9. How to implement load balancing and what algorithms can be implemented?
10. What is the purpose of Zookeeper and what is the principle of election?
11. Vertical splitting of data and horizontal splitting.
12. Zookeeper principle and applicable scenarios
13. Zookeeper watch mechanism
14. How to deal with redis/zk node downtime
15. How to achieve a unique serial number in a distributed cluster
16. How to make a distributed lock
17. Which MQs have been used, how are they used, what are the advantages and disadvantages compared with other MQs, and are the MQ connections thread-safe?
18. How to ensure that the data of the MQ system is not lost
19. List the database sub-database sub-table strategies you can think of; after sub-database sub-table, how to solve the problem of full table query
20. Zookeeper's election strategy
21. Global ID
database
1. What is the optimization of mysql paging
2. Pessimistic lock, optimistic lock
3. Combined index, leftmost principle
4, mysql table lock, row lock
5, mysql performance optimization
6. MySQL index classification: B+, hash; what index to use in any situation
7. Transaction characteristics and isolation levels
cache
1. What data is used by Redis, and how the bottom layer of Redis is implemented
2. Redis cache penetration, cache avalanche
3. How to use Redis to implement distributed locks
4. How to solve the concurrency competition problem of Redis
5. Several ways of Redis persistence, what are the advantages and disadvantages, and how are they implemented?
6. Redis cache invalidation strategy
7. Redis cluster, high availability, principle
8. Redis cache sharding
9. Redis data elimination strategy
JVM
1. Detailed jvm memory model
2. Talk about the circumstances under which memory overflow or memory leak occurs?
3. Talk about the Java thread stack
4. What are the judgment conditions for the promotion process from the young generation to the old generation of the JVM?
5. The JVM has frequent fullGC. How can I troubleshoot the problem online?
6. Why does class loading use the parent delegation mode, and is there any scenario that breaks this mode?
7. Order of instantiation of classes
8. JVM garbage collection mechanism, when to trigger MinorGC and other operations
9. What is a complete GC process (from ygc to fgc) in the JVM
10. Various recyclers, each with their own advantages and disadvantages, focusing on CMS, G1
11. Various recycling algorithms
12. OOM error, stackoverflow error, permgen space error