I had a hard interview for half a year. Last month, with this interview question, I won the offers of Ali, byte beat and JD!



Recently, I have received many private letters from fans, including those who have worked for several years and the student party who is about to graduate. They all came to tell me that the golden nine silver ten is coming soon. They want to go to a big factory for an interview and ask me if I have any relevant interview questions to share. After hearing that, I also quickly sorted out a copy for you. I don’t say much. The full dry goods are below. Friendly tips, the article is full of dry goods. Watch it slowly!!!


  • What is redis?
  • Redis data type?
  • What are the benefits of using redis?
  • What are the advantages of redis over memcached?
  • What are the differences between Memcache and redis?
  • Is redis single process and single thread?
  • What is the maximum storage capacity of a string type value?
  • What is the persistence mechanism of redis? Their advantages and disadvantages?
  • Redis common performance problems and solutions:
  • Redis expiration key deletion policy?
  • Redis’s recycling strategy (elimination strategy)?
  • Why does redis need to put all data in memory?
  • Do you understand the synchronization mechanism of redis?
  • What are the advantages of pipeline? Why use pipeline?
  • Have you ever used redis cluster? What is the principle of cluster?
  • Under what circumstances will the redis cluster scheme make the whole cluster unavailable?
  • What are the Java clients supported by redis? Which is the official recommendation?
  • What are the advantages and disadvantages of jedis compared with redisson?
  • How does redis set and verify passwords?
  • Talk about the concept of redis hash slot?
  • What is the master-slave replication model of redis cluster?
  • Will write operations be lost in redis cluster? Why?
  • How are redis clusters replicated?
  • What is the maximum number of nodes in redis cluster?
  • How do redis clusters select databases?
  • How to try redis connectivity?
  • How to understand redis transactions?
  • What are the commands related to redis transactions?
  • How to set the expiration time and permanent validity of redis key respectively?
  • How does redis optimize memory?
  • How does the redis recycling process work?
  • What are the ways to reduce redis’s memory usage?
  • What happens when redis runs out of memory?


  • What kinds of locks are there in MySQL?
  • What are the different tables in MySQL?
  • Briefly describe the difference between myism and InnoDB in MySQI database
  • The names of the four transaction isolation levels supported by inmnodb in MySQL and the differences between them?
  • What is the difference between Chae and varchr?
  • What is the difference between a primary key and a candidate key?
  • What is MYI samchk used for?
  • What happens if a table has a – column defined as timestamp?
  • How do you see all the indexes defined for the table?
  • What does the% and in the iik declaration mean?
  • What is the column comparison operator?
  • What’s the difference between blob and text?
  • MySQL_ fetch_ Arr ay and MySQL_ fetch_ What is the difference between objects?
  • Where will the MyISAM table be stored and provide its storage format?
  • How does MySQL optimize distinct?
  • How do I display the first 50 lines?
  • How many columns can be used to create an index?
  • What is the difference between now() and current date()?
  • What is a nonstandard string type?
  • What are general SQL functions?
  • Does MySQL support transactions?
  • What type of field is good for recording currency in mysel
  • What are the MySQL permission tables?
  • What can be the string type of the column?
  • MySQI database is used as the storage of the publishing system. There are more than 50000 additional miles a day. It is expected that the operation and maintenance will be three years. How to optimize it?
  • Lock optimization strategy


  • What is spring?
  • What are the benefits of using the spring framework?
  • What modules does spr ing consist of?
  • Core container (application context) module.
  • Beanfactory – beanfactory implementation example.
  • XMLBeanFactory
  • Explain AP module
  • Explain JBC abstraction and dad modules.
  • Explain the object / relational mapping integration module.
  • Explain the web module.
  • Spring configuration file
  • What is a spring IOC container?
  • What are the advantages of IOC?
  • What is the usual implementation of ApplicationContext?
  • What is the difference between bean factory and Applicati on contexts?
  • What does a spring application look like?
  • What is spring dependency injection?
  • What are the different types of IOC (dependency injection)?
  • Which dependency injection method do you recommend, constructor injection or setter method injection? Spring Beans
  • What is spring beans?
  • What does a spring bean definition contain?
  • How to provide configuration metadata to the spring container?
  • How do you define the scope of a class?
  • Explain the scope of several beans supported by spring.

Java core knowledge points

There are 29 technical modules of Java core knowledge points, which can be explained in simple terms from all angles, interpret the key and difficult points in all aspects, combine graphics and text, and be easy to understand, so as to make learning a kind of enjoyment.


  1. thread
  2. JM memory area
  3. JVM runtime memory
  4. Garbage collection and algorithm
  5. Reference types in Java
  6. GC generation collection algorithm vs partition collection algorithm
  7. GC garbage collector
  8. JAVA I0/NI0
  9. JVM class loading mechanism

Java multithreading / concurrency

  1. Java Concurrent knowledge base
  2. Java thread implementation / creation mode
  3. 4 thread pools
  4. Thread lifecycle (state)
  5. There are four ways to terminate threads
  6. What is the difference between sleep and wait
  7. The difference between start and run
  8. Java background thread
  9. Java lock
  10. Thread basic method
  11. Thread context switching
  12. Synchronization lock and deadlock
  13. Thread pool principle
  14. Java blocking queue principle
  15. Usage of cycle cbarrier, countdownlatch, semaphor e
  16. Role of volatile keyword (variable visibility, prohibition of reordering)
  17. How to share data between two threads
  18. Threadloca1 role (thread local storage)
  19. Synchr oni Ze reentr antlock
  20. Concurrent enthashmlap concurrent
  21. Thread scheduling used in Java
  22. Process scheduling algorithm
  23. What is CAS (compare and swap – optimistic lock mechanism – lock spin)
  24. What is AQS (Abstract queue synchronizer)

Spring Boot

  • What is spring boot?
  • Why use SPR ingboot
  • What are the advantages of spring boot?
  • What is the core annotation of spring boot? Which annotations does it mainly consist of?
  • What are the ways to run spring boot
  • How to understand starters in spring boot?
  • How to run some specific code when spring boot starts?
  • Does spring boot need a separate container to run?
  • What is the monitor in spring boot?
  • How to use spring boot to implement exception handling?
  • How do you understand starters in spring boot
  • What are the commonly used star servers for springboot
  • How many ways can SPR ingboot implement hot deployment
  • How to understand spring boot configuration loading order
  • What are the core configuration files of spring boot? What is the difference between them?
  • How to integrate spring boot and ActiveMQ
  • What is javaconfig?
  • How do I reload changes on spring boot without restarting the server?
  • What is the monitor in spring boot?
  • How do i disable actuator endpoint security in spring boot?
  • How do I run a spring boot application on a custom port?
  • What is yaml?
  • How to implement the security of spring boot applications?
  • How do I integrate spring boot and ActiveMQ?
  • How to use spring boot to implement paging and sorting?
  • What is swagger? Did you implement it with spring boot?


  • What is the purpose of pact in microservice architecture?
  • What are the advantages of microservice architecture?
  • What are the characteristics of microservices?
  • What are the best practices for designing microservices?
  • How does the microservice architecture work?
  • What are the advantages and disadvantages of microservice architecture?
  • What is the difference between monolithic, SOA and microservice architecture?
  • What challenges do you face when using the microservice architecture?
  • What are the main differences between SOA and microservice architecture?
  • What are the characteristics of microservices?
  • What is Domain Driven Design?
  • Why do you need Domain Driven Design (DDD)?
  • What is ubiquitous language?
  • What is cohesion?
  • What is coupling?
  • What is rest1 restful and what is its purpose?
  • What do you know about spring boot?
  • What is a spring bootstrap actuator?
  • What is spring cloud?
  • What problems does spring cloud solve?
  • What is the use of webmvctest annotations in spring MVC applications?
  • Can you give some key points about rest and micro service?
  • What are the different types of microservice testing?
  • What do you know about distributed transaction?
  • What is idempotence and where is it used?
  • What is bounded context?
  • What is two factor authentication?


  • What is mybatis?
  • Advantages of mybaits
  • Disadvantages of mybatis framework
  • Mybatis framework application
  • What are the differences between mybatis and Hibernate?
  • What happens when the attribute name in the entity class is different from the field name in the table?
  • How to write a fuzzy query like statement?
  • Usually – an XML Mapping file will write – a Dao interface corresponding to it. What is the working principle of this Dao interface? Can the method be overloaded when the parameters of the method in Dao interface are different?
  • How to get the automatically generated key value?
  • How to pass multiple parameters in mapper?
  • What is the use of mybatis dynamic SQL? How does it work? What are the dynamic SQL?
  • In addition to the common select | insert | updse | delete tags in the XML Mapping file, what other tags are there?
  • In the XML Mapping file of mybatis, can the IDs of different XML mapping files be repeated?
  • Why is mybatis a semi-automatic ORM mapping tool? What is the difference between it and automatic?
  • One to one and one to many association queries?
  • Mybatis implementation – how many ways are there for one? How did you do it?
  • How does mybatis operate in several ways to realize one to many?
  • Does mybatis support deferred loading? If yes, what is its implementation principle?
  • Mybatis L1 and L2 cache
  • What is mybatis interface binding? What are the implementation methods?
  • What are the requirements when using the mapper interface of mybatis?
  • How many ways can mapper be written?


The last thing I want to emphasize about the interview with a large factory is that the mentality is really important. It is the key to determine your play in the interview process. If you can’t play normally, you may miss the offer because of a small mistake, so you must pay attention to it. Another reminder is that full review is the key to eliminate your nervous mental state, but if you review enough, you will have much more confidence in the interview process.
All the learning materials and interview materials in the above contents are arranged in my official account.Bright future, you can get it by paying attention. I hope you will have a smooth interview and win your favorite offer!

Recommended Today

The selector returned by ngrx store createselector performs one-step debugging of fetching logic

Test source code: import { Component } from ‘@angular/core’; import { createSelector } from ‘@ngrx/store’; export interface State { counter1: number; counter2: number; } export const selectCounter1 = (state: State) => state.counter1; export const selectCounter2 = (state: State) => state.counter2; export const selectTotal = createSelector( selectCounter1, selectCounter2, (counter1, counter2) => counter1 + counter2 ); // […]