Basic Basics
- Object-oriented features
- Final, finally, finalize the difference
- What is the difference between int and Integer
- The difference between overloading and overriding
- What is the difference between an abstract class and an interface
- Talk about the use and realization of reflection
- Talk about the scenario and implementation of custom annotations
- The difference between the GET and POST methods of HTTP requests
- Session and Cookie Differences
- Session distributed processing
- JDBC process
- MVC Design Ideas
- The difference between equals and = =
Collection
- List and Set differences
- List and Map differences
- The difference between Arraylist and LinkedList
- The difference between ArrayList and Vector
- The difference between HashMap and Hashtable
- HashSet and HashMap differences
- The difference between HashMap and Concurrenthashmap
- Working principle and code implementation of HASHMAP
- Working principle and code implementation of CONCURRENTHASHMAP
Thread
- How to create threads and how to implement them
- What is the difference between sleep (), join (), yield ()
- Talk about the Countdownlatch principle.
- Talk about the cyclicbarrier principle.
- Talk about the Semaphore principle.
- Talk about the Exchanger principle.
- Talk about the difference between Countdownlatch and Cyclicbarrier
- ThreadLocal principle Analysis
- How to implement the thread pool
- Several ways to thread pool
- The life cycle of a thread
Lock mechanism
- Talk about thread safety.
- The principle of volatile implementation
- Synchronize implementation principle
- The difference between synchronized and lock
- CAS optimistic Lock
- ABA issues
- The business scenario of optimistic locking and its implementation method
Core piece data storage
- Considerations for MySQL Index usage
- Talk about anti-pattern design.
- Talking about the design of sub-library and table
- Distributed dilemma and countermeasures brought by sub-database and sub-table
- Talk about the path of SQL optimization
- The deadlock problem encountered by MySQL
- InnoDB and MyISAM of the storage engine
- Principles of database indexing
- Why do you use B-tree
- The difference between a clustered index and a nonclustered index
- Limit 20000 loading is slow how to solve
- Choosing the right Distributed primary key scheme
- Choose the right data storage solution
- ObjectId rules
- Talk about MongoDB usage scenarios
- Inverted index
- Talk about ElasticSearch usage scenarios
Cache usage
- What types of Redis are there?
- REDIS internal structure
- Talk about Redis usage scenarios
- Redis persistence mechanism
- How Redis achieves persistence
- Redis Cluster scheme and implementation
- Why Redis is a single thread
- Cache Rush
- Cache demotion
- The rationality of using caching
Message Queuing
- Usage scenarios for Message Queuing
- The solution of the message's re-sending compensation
- The idea of power-equal solution of message
- The idea of accumulating messages
- How to implement Message Queuing yourself
- How to ensure the order of messages
Frame article Spring
- What's the difference between Beanfactory and ApplicationContext?
- The life cycle of Spring beans
- How Spring IOC Implements
- Talk about Spring AOP
- Spring AOP Implementation Principles
- Dynamic agents (Cglib and JDK)
- How Spring transactions are implemented
- The underlying principle of Spring transactions
- How to customize annotation implementation features
- Spring MVC Run Process
- Spring MVC Startup process
- Spring's single-instance implementation principle
- What design patterns are used in the Spring framework
- Other Spring Products (srping Boot, Spring Cloud, Spring secuirity, Spring Data, Spring AMQP, etc.)
Netty
- Why Choose Netty
- Talk about the use of Netty in business
- Native NIO has epoll bug in JDK version 1.7
- What is a TCP Sticky pack/unpacking
- Workarounds for TCP sticky/unpacking
- Netty Threading Model
- Tell me about the 0 copies of Netty.
- Netty Internal Execution process
- Netty Re-connected implementation
Micro-service Micro-service
- How the front-end separation is done
- Micro-service which frameworks
- How do you understand the RPC framework
- Talk about the implementation principle of RPC
- Talk about the principle of Dubbo's realization
- How do you understand RESTful
- Talk about how to design a good API
- How to understand the idempotent nature of RESTful APIs
- How to ensure the idempotent of the interface
- Talk about CAP theorem, BASE theory
- How to consider data consistency issues
- Talk about the final consistency of the implementation plan
- What do you think of micro services
- The difference between microservices and SOA
- How to split a service
- How MicroServices Perform database management
- How to deal with the chain call exception of MicroServices
- For quick tracking and positioning issues
- Micro-Service Security
Distributed
- Talk about the use of distributed scenarios in business
- Session Distributed Solution
- Scenarios for distributed locks
- Distribution is the implementation scheme of locks
- Distributed transactions
- Algorithm and implementation of cluster and load balancing
- Talking about the design of sub-library and table
- Distributed dilemma and countermeasures brought by sub-database and sub-table
Security issues
- Security elements and STRIDE threats
- Guard against common Web attacks
- Service-side communication security attack
- Analysis of HTTPS principle
- HTTPS downgrade attack
- Licensing and Certification
- Role-based access control
- Data-based access control
Performance optimization
- What are the performance indicators?
- How to discover performance bottlenecks
- The common means of performance tuning
- Tell me about your performance tuning in the project.
Demand analysis of engineering articles
- How do you understand and split the requirements prototype?
- Tell me about your understanding of functional requirements.
- Tell me about your understanding of non-functional requirements.
- What interactions and improvements do you propose for your product?
- How do you understand user pain points
Design capabilities
- Tell me about the UML diagram you used in your project.
- How do you think of the component
- How do you think of service
- How do you do domain modeling
- How do you divide the domain boundaries
- Tell me about your field modeling in your project.
- Talk about the outline design
Design Patterns
- What design patterns are used in your project
- Talk about the use of design patterns in common open source frameworks
- Tell me about your understanding of design principles.
- Design concepts for 23 design patterns
- Similarities and differences between design patterns, such as the difference between a policy pattern and a state pattern
- A combination of design patterns, such as the practice of strategy mode + Simple Factory mode
- The performance of design patterns, such as which performance is better in singleton mode.
Business Engineering
- How the front-end separation in your system is done
- Tell me about your development process.
- How do you communicate with the team?
- How do you conduct code reviews
- Tell me about your understanding of technology and business.
- Tell me about the Exception you often encounter in the project.
- Tell me about the hardest bug you've encountered in the project, how to solve it.
- Tell me about your deepest impression in the project and how to solve it.
- What do you think is the problem with your project?
- Have you ever experienced CPU 100%, how to troubleshoot and resolve
- Have you ever encountered memory OOM, how to troubleshoot and resolve
- Tell me about your practice of agile development.
- Tell me about your practice of devops.
- Describe one of the most valuable projects in your job, and the role in the process
Soft power
- Tell me about your highlights.
- Tell me what book you're reading recently.
- Talk about the technical books that you think are the most meaningful
- What do you do in your spare job?
- Talk about the direction of personal development
- Tell me what you think the capabilities of the service-side development engineer should be.
- Tell me what you think the architect is, what the architect does.
- Tell me about the technical experts you understand.
Java Interview Essentials Summary Set