Java training over, is facing graduation to find a job. When looking for a job, it is important to do specific interview preparation. A poorly prepared interview is a waste of time and irresponsible. Most of them are interview questions in the interview process. You can fill in the gaps by checking them. Of course, the list here certainly cannot cover all the ways.

I. Introduction to Java project

Most of the time, this is the opening question in an interview, and the interviewer asks this question to measure your overview skills and overall vision. Some people often complain that they are piling up business every day but not growing. In fact, in many cases the heap business does exist, but it is not without growth. It is not middleware or technical architecture that is growth. For example, our demand analysis ability, communication and collaboration ability, product thinking ability and abstract modeling ability are all very important hard strengths.

1. Define what the project does

2. Define the value of the project. (Why did you do this project, what pain points did it address, and what value did it bring?)

3. Define the function of the project. (What features are involved in this project?)

4. Define the technology of the project. What technologies are used in this project?

5. Define the position and role of individuals in the project. What was your role in the project?

6. Define the overall structure of the project.

7. Identify the strengths and weaknesses of the project and how you would redesign it.

8. Identify highlights of the project. (What are the highlights of this project?)

9. Identify technical growth. (What technical growth did you experience through this project?)

Second, Java foundation

1, The difference between List and Set

2. How is a HashSet guaranteed to be non-repetitive

3. Is HashMap thread safe, and why not?

4. Expansion process of HashMap

5. What are the differences between HashMap 1.7 and 1.8?

6. Final Finally Finalize

7. Strong reference, soft reference, weak reference, virtual reference

Java reflection

9, Arrays. Sort implementation principle and Collection implementation principle

10. LinkedHashMap application

11. Implementation principle of Cloneable interface

12. Anomaly classification and processing mechanism

What is the difference between ‘wait’ and ‘sleep’

How are arrays allocated in memory


Java concurrency

1. Realization principle of synchronized and lock optimization?

2. How does volatile work?

Java semaphores?

4. The difference between synchronized and ordinary methods?

5. How to implement that all threads wait for an event to occur before executing it?

6, the CAS? What are the defects of CAS and how to solve them?

7. What’s the difference between synchronized and lock?

8, How to lock Hashtable?

HashMap concurrency problem?

10, ConcurrenHashMap? Why red black trees in 1.8?

11, AQS

12. How to detect deadlocks? How do I prevent deadlocks?

13. Java Memory Model?

14. How to ensure that i++ results are correct in multiple threads?

What are the types, differences and usage scenarios of thread pools?

Analysis of thread pool implementation principle and thread scheduling process?

17, how to tune the thread pool, how to confirm the maximum number?

18. What should we pay attention to when using the ThreadLocal principle?

19. What are the uses of CountDownLatch and CyclicBarrier and the differences between them?

20. LockSupport tool

Condition interface and its implementation principle

22. Understanding Fork/Join framework

The principle of segmental lock, lock force reduced thinking

24. The eight blocking queues and the characteristics of each blocking queue


Third, the Spring

BeanFactory and FactoryBean?

2. Understanding of Spring IOC and its initialization process?

BeanFactory and ApplicationContext?

How is the life cycle of Spring beans managed?

5. What is the loading process of Spring beans?

6. If you were asked to implement Spring AOP, how would you do it?

7. What issues would you pay attention to if you were asked to implement Spring IOC?

How does Spring manage transactions? Transaction management mechanism?

What are the different transaction propagation behaviors of Spring?

What design patterns are used in Spring?

How does Spring MVC work?

How does Spring loop injection work?

13. Understanding Spring AOP, terms, how do they work with each other?

14. How does Spring secure Controller concurrency?

Four, Netty

1. BIO, NIO and AIO

2. Netty components

3. Netty’s threading model

4. Causes and solutions of TCP packet sticking/unpacking

5. What serialization protocols do you know? Including usage scenarios and how to choose

6, Netty zero copy implementation

7. What are the high performance aspects of Netty


Fifth, distributed correlation

1. The underlying implementation principle and mechanism of Dubbo

2. Describe the detailed process of a service from publication to consumption

3. How does distributed system do service governance

4. The concept of idempotency of interfaces

5. How does messaging middleware solve the problem of message loss

6. How to handle Dubbo service request failure

7. Will the reconnection mechanism cause errors

8. Understanding distributed transactions

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

10. What is the purpose of Zookeeper and the principle of election?

11. Vertical split and horizontal split of data.

Zookeeper principles and application scenarios

13. Zookeeper Watch mechanism

14. How to handle the redis/ ZK node outage

15. How to achieve unique serial number in distributed cluster

16, how to make a distributed lock

17, used what MQ, how to use, compared with other MQ advantages and disadvantages, MQ connection is thread safe

18. How can THE DATA of MQ system be guaranteed against loss

List all the strategies you can think of to divide the database into different tables. How to solve the problem of full table query after dividing database and table

Zookeeper election strategy

21, Global ID


Vi. Database

1, what is the optimization of mysql pagination

2, pessimistic lock, optimistic lock

3, composite index, the most left principle

Mysql > alter table lock

5. Mysql performance optimization

Mysql > alter table hash; What index is used for what situation

Transaction characteristics and isolation level


Seven, caching,

1, Redis used what data data, and how to achieve the bottom of Redis

2, Redis cache penetration, cache avalanche

3. How to use Redis to implement distributed lock

4. How to solve the concurrency competition problem of Redis

5, Redis persistent several ways, what are the advantages and disadvantages, how to achieve

6. Redis cache invalidation policy

7, Redis cluster, high availability, principle

Redis cache sharding

9. Redis’ data elimination strategy


Viii. JVM VMS

1. Detailed JVM memory model

2, tell me when memory overflow, memory leak?

3. Talk about Java thread stacks

4. What are the criteria for determining the progression from the younger generation to the older generation of the JVM?

5. FullGC occurs frequently in JVM. How to check problems online?

6. Why is the parent delegate pattern used for class loading? Are there any scenarios that break this pattern?

7. Class instantiation order

8. JVM garbage collection mechanism, when to trigger MinorGC, etc

What does a complete GC flow (from YGC to FGC) look like in the JVM

10, various recyclers, their advantages and disadvantages, focusing on CMS, G1

11. Various recycling algorithms

12, OOM error, StackOverflow error, Permgen space error

The JVM, short for Java Virtual Machine, is a specification for computing devices. The JVM is an imaginary computer that is implemented by emulating various computer functions on an actual computer.




You can ask for a raise if you achieve these skills

1-5 years of development experience, when you propose a salary increase or offer, how confident are you? Are you confident enough to quit without a salary increase? Are you confident that your supervisor or project manager can agree with you, they are trying to keep you. If so, you are successful. What technology does not talk about salary!

I’m going to analyze these techniques for you, and I’m going to list some techniques for you, and see if you’ve learned them.

Performance tuning

Application framework source code interpretation

Distributed architecture

Topics on Microservices

Team collaborative development

B2C mall project actual combat

Shanghai Shangxue Java training collation, welcome to visit the consultation or request Java learning materials. Refer to the original author: senior Java architecture links: https://www.jianshu.com/p/fe4ad994ce1b source: Jane books