As a Java programmer, you are always stuck in business development, and you feel like you can do anything from system development to Bug fixing. However, once in a while at a party, you hear that your classmate who started out with you already has an annual salary of 500,000 yuan, while you are strapped for cash. So you want to look at new opportunities, find a new platform, and thrive. But when that smiling interviewer asks you those Java questions you know all too well, you just feel deja vu and can’t quite answer them. How HashMap works, for example, or how volatile is used. At this time, you may doubt your ability and hate why you didn’t study hard enough. This new version of the document has been uploaded on Github for a week and has received 30K+ STAR Java core interview magic skills (this parameter, the quality of how high I need to say it) is very comprehensive. Includes Java foundation, Java collections, JavaWeb, Java exceptions, OOP, IO and NIO, reflection, annotations, multithreading, JVM, MySQL, MongoDB, Spring family bucket, computer network, distributed architecture, Redis, Linux, Git, front-end, algorithms and data structures, M YBatis, RocketMQ, Netty, Dubbo, Zookeeper, distributed cache, data structure and other content is very rich, has helped many people to win the offer of first-tier Internet companies. Let me share it with you. Article reprinted: Le Byte

JavaOOP

What is the B/S architecture? What is the C/S architecture and what are the development platforms for Java? What is the JDK? What is the JRE? What are the features of the Java language the difference between object-oriented and procedural what are data structures? What are Java data structures? OOP is what? Class and object relationships? There are several data types in JavaCopy the code

Scary: This Github interview note contains all the questions you need to know about Java

Java Collection/generic ArrayList vs. linkedList List,Set,Map what's the difference between Array and ArrayList? What are the features of maps? Collections are stored in the java.util package. There are several main interfaces. What is a list interface?Copy the code

Horrible: This Github god interview notes, almost all the Java knowledge interview questions written out because the document is too much detail so only edited part of the knowledge points of the chapter rough introduction, each chapter of the small nodes there are more detailed content! The following is part of the chapter table of contents. Due to the space limit of the headlines, the detailed explanation in the table of contents cannot be listed one by one. At the end of this article, all the detailed knowledge in the following chapters can be obtained.

Java Exceptions What are the two types of exceptions in Java? How many mechanisms are there for handling exceptions? How to define a try catch fifinally exception? Thow is different from THORws. Error is different from Exception. What is the difference between Error and exceptionCopy the code

Scary: This Github interview note contains all the questions you need to know about Java

IO and NIO in Java? Java IO and NIO What are the differences between common I/O classes byte stream and character stream blocking I/O model non-blocking I/O model multiplexing I/O model signal-driven I/O model Asynchronous I/O Java NIOCopy the code

Scary: This Github interview note contains all the questions you need to know about Java

What other methods can Java reflection use to create objects besides using new? Is it more efficient to create objects with Java reflection or with New? What does Reflection do in Java? The pros and cons of the reflection mechanism: Java Reflection API Steps to use Reflection (get Class objects, call object methods) Get Class objects There are several ways to use reflection to create object instances on the flyCopy the code

Scary: This Github interview note contains all the questions you need to know about Java

Java serialization What is Java serialization and how is it implemented? Save (persist) objects and their state to memory or disk serialized objects are held as byte arrays - static members do not save serialized user remote object transfer Serializable implements serialization writeObject and readObject custom serialization strategy serialization ID Serialization does not save a static variable; the Transient keyword prevents the variable from being serialized to a file.Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

There are several ways to implement multithreading in JAVA that inherit the Thread class to implement the Runnable interface. How can a thread pool stop a running thread what is the difference between notify() and notifyAll()? What is the difference between sleep() and wait()? What is volatile? Can order be guaranteed?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

Can there be memory leaks in JVM Java? Please briefly describe. In 64-bit JVMS, is the length of an int the majority? What are the differences between Serial and Parallel GC? For 32-bit and 64-bit JVMS, is the length of a variable of type int the majority? Difference between WeakReference and SoftReference in Java? What does the JVM option -xx :+UseCompressedOops do? Why use how to determine whether a JVM is 32-bit or 64-bit using a Java program? What is the maximum heap memory for 32-bit and 64-bit JVMS? What are the differences between the JRE, JDK, JVM, and JIT? Explain Java heap space and GC?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

Mysql database storage engine InnoDB (B+ Tree) TokuDB (Fractal Tree) Memory Database engine InnoDB (B+ Tree) TokuDB (Fractal Tree- nodes with data - Columns are not separable)Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

Redis What is Redis? How is Redis different from other key-value stores? Redis data type? What are the benefits of using Redis? What advantages does Redis have over Memcached? What are the differences between Memcache and Redis? Is Redis single process single thread? What is the maximum size of intelligent storage for a string? Redis persistence mechanism cache avalanche, cache penetration, cache warm-up, cache update, cache degradation and other problemsCopy the code

Scary: This Github interview note contains all the questions you need to know about Java

Memcached What is Memcached and what does it do? What are the application scenarios of memcached service in enterprise cluster architectures? How to implement distributed cluster of Memcached service? What are the features of the Memcached service and how it works? How does Memcached memory management work? How does memcached work? What is memcached's biggest advantage? What are the advantages and disadvantages of memcached versus MySQL query memcached versus local cache (such as PHP APC, Mmap files, etc.)? What is the cache mechanism for memcached? How does memcached implement redundancy?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

MongoDB what is MongoDB? What are the features of mongodb? What do you mean by NoSQL database? What is the difference between NoSQL and RDBMS directly? Why use and not use NoSQL databases? What are the advantages of NoSQL databases? What are the types of NoSQL databases? What are the basic differences between MySQL and MongoDB? How do you compare MongoDB, CouchDB, and CouchBase? What makes MongoDB the best NoSQL database? Does journal playback have problems with incomplete entries (such as one that happens to fail midway)? What is the role of profilers in MongoDB? What is a namespace?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

What are the main features of the different versions of the Spring Framework? What is the Spring Framework? List the advantages of the Spring Framework. What are the different features of the Spring Framework? How many modules are there in the Spring Framework, and what are they? What is a Spring configuration file? What are the different components of a Spring application? What are some ways to use Spring? What is the Spring IOC container? What is dependency injection?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

Spring Boot What is Spring Boot? What are the advantages of SpringBoot? What are the core annotations for Spring Boot? Which notes are it mainly composed of? What are the specific ways to run Spring Boot and how do you understand the Starters in Spring Boot? How do I run some specific code when Spring Boot starts? Does Spring Boot need a separate container to run? What is a monitor in Spring Boot? How do I implement exception handling using Spring Boot?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

What is Spring Cloud? What are the advantages of using Spring Cloud? What do I mean by service registration and discovery? How is Spring Cloud implemented? What does load balancing mean? What is Hystrix? How does it achieve fault tolerance? What is Hystrix circuit breaker? Do we need it? What is Netflix Feign? What are its advantages? What is Spring Cloud Bus? Do we need it? What is microservice and what is service circuit breaker? What is service degradationCopy the code

Horrifying: This Github interview note contains all the questions for the RabbitMQ interview

What is RabbitMQ why use RabbitMQ Scenarios using RabbitMQ How to ensure that messages are sent to RabbitMQ correctly? How do I ensure that message recipients consume messages? How can I avoid double-delivery or double-consumption of messages? What transport is the message based on? How are messages distributed? How are messages routed? How do I ensure that messages are not lost? What are the benefits of using RabbitMQ?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

Dubbo why Dubbo? What are the layers of Dubbo's overall architectural design? What communication framework is used by default, and what other options are there? Is the service invocation blocking? What registry is commonly used? Is there any other option? What serialization framework is used by default, and what else do you know? What is the principle that service providers can achieve invalidation? How does the launch of the service not affect the old version? How to solve the problem of long service invocation chains? What are the core configurations?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

What is MyBatis? MyBatis framework: What are the differences between MyBatis and Hibernate? What is the difference between {} and ${}? What if the attribute name in the entity class is different from the field name in the table? How to write 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 methods in the Dao interface be overloaded if their parameters are different? How do I get automatically generated (primary) key values?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

ZooKeeper What is ZooKeeper? How does Zookeeper ensure distributed consistency? What does ZooKeeper offer? Zookeeper file system ZAB protocol? Four types of data nodes Znode Zookeeper Watcher mechanism -- Data change notification client register Watcher implementation server process Watcher implementation client callback WatcherCopy the code

Scary: This Github interview note contains all the questions you need to know about Java

Data structure Stack queue Link Hash Table sort binary TREE prefix TREE red black TREE B-tree bitmap previewCopy the code

Scary: This Github interview note contains all the questions you need to know about Java

For Elasticsearch, you need to specify the size of your index data and how many shards you have. What is the inverted index elasticsearch elasticsearch index data is much more to do, how to tune, Elasticsearch is the search engine for elasticSearch, and the search engine is the search engine for elasticSearch. How to optimize the configuration of Elasticsearch for Linux? How does Elasticsearch implement Master voting? What if 10 of the 20 Elasticsearch nodes select one master and the other 10 select another master?Copy the code

Horrifying: This Github interview note contains all the Java knowledge interview questions

Kafka Kafka is a partition data file (offset, MessageSize, Data file segment load balancing (partition is evenly distributed across different brokers) Send compression in bulk (GZIP or Snappy What is the producer and consumer command line for the list of topic topics?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

Microservices What are the advantages of microservices architecture? What are the features of microservices? What is the best time to design a microservice? How does the microservices architecture work? What are the advantages and disadvantages of microservices architecture? What are the differences between monolithic, SOA and microservice architectures? What challenges do you face when using the microservices architecture? What are the key differences between SOA and microservice architectures? What are the features of microservices?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java

What is the notation for Linux absolute paths? What are the current and upper directories represented by? What is the home directory? What command is used to switch directories? How do I view the current process? How do I exit? How do I view the current path? How do I clear the screen? How do I exit the current command? How to perform sleep? How to check what function the Ls command performs? What parameters can be taken and what is the difference? How do you normally view logs? What commands are used to create soft links (shortcuts) and hard links to the command directory? What command is used to create a file? What command is used to copy files? What commands can be used to view file contents?Copy the code

Scary: This Github interview note contains all the questions you need to know about Java. Is the end result good or bad? It depends on the interviewer’s background (aura + skill), mentality and cognition, and communication skills. And some mainstream large Internet companies interview (Alibaba, JINGdong, Meituan, Didi) is to show your ability in the interview, so as to get the interviewer’s appreciation and affirmation. And programmers need to go through layers of interviews. As the saying goes, sharpness is not the mistake of cutting wood, do a good job of preparation before the interview can help you better deal with the interviewer’s questions and the interview in the emergency situation. Due to the space limitation, the detailed information of the PDF document is too comprehensive, the details are too much, so only part of the knowledge point screenshots out of the rough introduction, each small node there are more detailed content! Terrifying: This Github interview note lays out all the Java interview questions Terrifying: This Github interview note lays out all the Java interview questions