Summary of Java Interview Clearance Points

Basics

basic skills

  • Object Oriented Features
  • The difference between final, finally, finalize
  • What is the difference between int and Integer
  • The difference between overloading and overriding
  • What is the difference between abstract class and interface
  • Talk about the use and implementation of reflection
  • Talk about the scene and implementation of custom annotations
  • The difference between the GET and POST methods of HTTP requests
  • Difference between session and cookie
  • session distributed processing
  • JDBC process
  • MVC design thinking
  • Difference between equals and ==

gather

  • Difference between List and Set
  • Difference between List and Map
  • Difference between Arraylist and LinkedList
  • Difference between ArrayList and Vector
  • Difference between HashMap and Hashtable
  • Difference between HashSet and HashMap
  • The difference between HashMap and ConcurrentHashMap
  • The working principle and code implementation of HashMap
  • The working principle and code implementation of ConcurrentHashMap

thread

  • How to create a thread and its implementation
  • What is the difference between sleep(), join(), yield()
  • Talk about the principle of CountDownLatch
  • Talk about the CyclicBarrier principle
  • Talk about the Semaphore principle
  • Talk about the principle of Exchanger
  • Talk about the difference between CountDownLatch and CyclicBarrier
  • ThreadLocal principle analysis
  • Talk about the implementation principle of thread pool
  • Several ways of thread pool
  • thread life cycle

lock mechanism

  • Talk about thread safety
  • volatile implementation principle
  • synchronize implementation principle
  • The difference between synchronized and lock
  • CAS optimistic locking
  • ABA problem
  • Business scenarios and implementation methods of optimistic locking

Core articles

data storage

  • Notes on using MySQL indexes
  • Talk about anti-pattern design
  • Talk about sub-library and sub-table design
  • Distributed dilemma and countermeasures brought by sub-database and sub-table
  • Talk about SQL optimization
  • Deadlock problem encountered by MySQL
  • InnoDB and MyISAM storage engine
  • The principle of database index
  • Why use B-tree
  • Difference between clustered index and non-clustered index
  • limit 20000 loading is very slow how to solve
  • Choosing an Appropriate 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 are the types of Redis
  • Redis internal structure
  • Talk about Redis usage scenarios
  • Redis persistence mechanism
  • How Redis implements persistence
  • Redis cluster scheme and implementation
  • Why is Redis single-threaded?
  • cache crash
  • Cache Degradation
  • Reasonableness of using cache

message queue

  • Usage scenarios for message queues
  • Message retransmission compensation solution
  • The idempotent solution of messages
  • message stacking solution
  • How to implement a message queue yourself
  • How to ensure the order of messages

Framework articles

Spring

  • What is the difference between BeanFactory and ApplicationContext
  • Spring Bean life cycle
  • How Spring IOC is implemented
  • Talk about Spring AOP
  • Spring AOP implementation principle
  • Dynamic proxies (cglib and JDK)
  • Spring transaction implementation
  • The underlying principle of Spring transaction
  • How to customize the annotation implementation function
  • Spring MVC running process
  • Spring MVC startup process
  • Spring's singleton implementation principle
  • What design patterns are used in the Spring framework
  • Spring other products (Srping Boot, Spring Cloud, Spring Security, Spring Data, Spring AMQP, etc.)

Netty

  • Why choose Netty
  • Talk about the usage scenarios of Netty in business
  • Native NIO has an epoll bug in JDK 1.7
  • What is TCP sticking/unpacking
  • The solution to TCP sticking/unpacking
  • Netty threading model
  • Talk about Netty's zero copy
  • Netty internal execution process
  • Netty reconnection implementation

Microservices

Microservices

  • How to separate the front and back ends
  • Which frameworks are microservices
  • How do you understand the RPC framework
  • Talk about the implementation principle of RPC
  • Talk about the implementation principle of Dubbo
  • How do you understand RESTful
  • Talk about how to design a good API
  • How to understand the idempotency of RESTful APIs
  • How to ensure the idempotency of interfaces
  • Talk about CAP theorem and BASE theory
  • How to Consider Data Consistency
  • Talk about the implementation of eventual consistency
  • What do you think about microservices
  • Difference Between Microservices and SOA
  • How to split services
  • How Microservices Do Database Management
  • How to deal with chain call exceptions of microservices
  • For fast tracking and locating problems
  • Security for Microservices

distributed

  • Talk about the use of distributed scenarios in business
  • Session distributed solution
  • Distributed Lock Scenario
  • Distribution is an implementation of locks
  • Distributed transaction
  • Algorithms and Implementations of Clustering and Load Balancing
  • Talk about sub-library and sub-table design
  • Distributed dilemma and countermeasures brought by sub-database and sub-table

safe question

  • Security Elements and STRIDE Threats
  • Protection against common web attacks
  • Server communication security attack and defense
  • Analysis of the principle of HTTPS
  • HTTPS downgrade attack
  • Authorization and Authentication
  • role-based access control
  • Data-Based Access Control

performance optimization

  • What are the performance indicators
  • How to spot performance bottlenecks
  • Common means of performance tuning
  • Talk about how you perform performance tuning in your project

Engineering

demand analysis

  • How do you understand and split requirements prototypes
  • Talk about your understanding of functional requirements
  • Talk about your understanding of non-functional requirements
  • What interactions and improvements do you suggest for the product?
  • How do you understand user pain points

Designing ability

  • Tell us about the UML diagrams you have used in your project
  • How do you think about componentization
  • How do you think about servitization
  • How do you do domain modeling
  • How do you draw domain boundaries
  • Talk about domain modeling in your project
  • Talk about outline design

Design Patterns

  • What design patterns are used in your project
  • Talk about the analysis of the use of design patterns in common open source frameworks
  • Tell us about your understanding of design principles
  • 23 Design Patterns Design Ideas
  • Similarities and differences between design patterns, such as the difference between strategy pattern and state pattern
  • The combination between design patterns, such as the practice of strategy pattern + simple factory pattern
  • The performance of design patterns, such as singleton pattern which performs better.

business engineering

  • How does the front-end separation in your system work?
  • Tell us about your development process
  • How you communicate with your team
  • How do you conduct code reviews
  • Tell us about your understanding of technology and business
  • Talk about the Exception you often encounter in your project
  • Tell me about the most difficult bug you encountered in the project and how to solve it
  • Tell me about the difficulties you encountered the most in the project and how you solved them
  • What do you think are the shortcomings of your project?
  • Have you ever encountered CPU 100%, how to troubleshoot and solve
  • Have you encountered memory OOM, how to troubleshoot and solve it
  • Tell us about your practice of agile development
  • Tell us about your practice of DevOps
  • Introduce one of the most valuable projects in your work and your role in the process

soft power

  • Tell me about your highlights
  • Tell me what book you've been reading recently
  • Tell me about the technical books you find most meaningful
  • what to do after work
  • Discuss about the direction of personal development
  • Tell us what skills you think a server developer should have
  • Tell us what you think an architect is like and what an architect mainly does
  • Talk about a technical expert you understand

(over)

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324964678&siteId=291194637