JavaInterview is the accumulation of knowledge that I have accumulated during my preparation for the Spring Recruitment and the past few years. Many of it are my own original articles. At the same time, there are also many articles that I feel are particularly helpful for interviews during my preparation for the Spring Recruitment. JavaInterview It may not necessarily help you enter a big factory such as BAT, but if you study carefully and think carefully, I believe you can be as lucky as me and enter a big factory.
I often write blogs in CSDN. I have accumulated 400+ original blogs and have 251W+ visits . I am a CSDN blog expert . The CSDN blog address is: https://sihai.blog.csdn.net. I have currently received an offer from a major company in Spring Recruitment.
If you find it helpful, please give it a star , haha (it's not perfect yet, I will add it one by one later).
Let’s rush together! ! !
If you don’t know what to learn, please see What is the Java learning roadmap? (Originality is not easy, welcome to like it), this is the latest and most complete Java learning route in 2021!
Summary of Java learning resources (personal summary)
A complete set of learning video tutorials from Java basics to Java practice, including multiple enterprise-level practical projects
Interview algorithm information. This is a summary of algorithm information. After learning it, you can basically handle 80% of major manufacturers.
Interview materials from major companies, a one-year summary, covering all Java technical points
Interview mind map, hand-written summary
Various Java e-books: e-books related to various technologies
Java interview mind map (hand typed) , I relied on these maps to get an offer from a first-tier Internet company. Follow the public account and reply:思维导图
;
Highlights : To obtain the above resources, please follow my public account程序员的技术圈子
, scan the QR code below on WeChat , and reply: Java资料
, get mind maps, green channels to pay attention to benefits, waiting for you.
Directory (ctrl + f searches better: it cannot be clicked, but it is still writing)
- personal experience
- Project preparation
- Interview knowledge points
- Company interview
- Java
- Base
- Containers (including juc)
- Basic container
- blocking container
- concurrent
- JVM
- Java8
- computer network
- computer operating system
- Linux
- Data Structures and Algorithms
- database
- MySQL
- MySQL (optimization ideas)
- System design
- Flash kill system related
- Separation of front and back ends
- Single sign-on
- Commonly used frameworks
- distributed
- dubbo
- zookeeper
- RocketMQ
- RabbitMQ
- kafka
- Message middleware
- redis
- distributed system
- Online problem tuning (virtual machine, tomcat)
- Interview Guide
- tool
- other
- Permission control (design, shiro)
- Java learning resources
- Java book recommendations
- Recommended practical projects
- Program life
- illustrate
- Introduction to JavaInterview
- About reprinting
- How to contribute to this open source documentation
- Why create this open source document?
- Contribute
- contact me
- Official account
personal experience
- How do fresh graduates prepare for school recruitment? Let me tell you with my school recruitment experience this year.
- [Self-taught Java learning route from college to graduate school] This is the most suitable route for the general public and non-majors, helping you quickly find a satisfying job
- Two months of real interview experience, tell you how to get a job in a large factory?
Project preparation
- My personal project introduction template
- My real experience in interviewing for two months: After interviewing with 20 major manufacturers, I found that introducing project experience like this makes the project look awesome!
- Necessary project knowledge and solutions
Interview knowledge points
- Summary of interview knowledge points from major companies
- Classification summary of common Java back-end interview questions (high-frequency test points)
Company interview
- Summary of interview experience of various companies in 2020
- up to date! ! CMB Network Technology Java interview experience, compiled with answers
- Got an offer of 30K!
- Big face sutra! ! Simian Meituan finally got the offer
- Ten Faces of Ali, Seven Faces of Toutiao
Java
Base
Although these articles are basic, they do provide an in-depth understanding of the basics. If you can understand these basics well, then there will be no problem with basic Java interview questions. Memorizing interview questions is not as important as understanding the principles.
- Java basic mind map
- Java Basics (1) In-depth analysis of basic types
- Java basics (2) self-increasing, self-decreasing and greedy rules
- Java Basics (3) Enhanced for loop and Iterator
- Java Basics (4) In-depth analysis of Java operation order
- Java Basics (5) In-depth analysis of String properties
- Java Basics (6) In-depth analysis of switch statement
- Java Basics (7) In-depth analysis of the four access rights of Java
- Java Basics (8) In-depth analysis of constant pool and loading and unboxing mechanism
- Java Basics (9) Introduction to Variable Parameter List
- Java Basics (10) In-depth understanding of array types
- Java Basics (11) Enumeration Types
- Classes and Interfaces (2) Detailed explanation of the four internal classes of Java
- Classes and Interfaces (3) Interfaces and Nested Interfaces in Java
- Classes and Interfaces (4) Method Overloading Analysis
- Classes and Interfaces (5) Java Polymorphism, Method Overriding, and Hiding
Containers (including juc)
Basic container
- ArrayList source code analysis and in-depth explanation of interview questions from real major manufacturers
- LinkedList source code analysis and in-depth explanation of interview questions from real major companies
- HashMap source code analysis and in-depth explanation of interview questions from real major manufacturers
- TreeMap source code analysis and in-depth explanation of interview questions from real major manufacturers
- TreeSet source code analysis and in-depth explanation of interview questions from real major manufacturers
- LinkedHashMap source code analysis and in-depth explanation of interview questions from real major companies
blocking container
- ConcurrentHashMap source code analysis and in-depth explanation of interview questions from real major manufacturers
- ArrayBlockingQueue source code analysis and in-depth explanation of interview questions from real major manufacturers
- LinkedBlockingQueue source code analysis and in-depth explanation of interview questions from real major companies
- PriorityBlockingQueue source code analysis and in-depth explanation of interview questions from real major manufacturers
concurrent
- In-depth explanation of Synchronized keywords and analysis of interview questions from real major companies
- Volitale keywords in depth and analysis of interview questions from real major companies
- About the implementation of LRU
- What questions will be asked in the ThreadLocal interview?
- Thread pool interview questions, this article will help you solve it!
JVM
- In-depth understanding of Java virtual machine series
- In-depth understanding of Java virtual machine series-completely solve interview questions
- In-depth understanding of Java virtual machine - thorough analysis of Java memory area
- Deeply understand the principles of Java virtual machine-JVM memory allocation and recycling strategies, and bid farewell to JVM memory allocation illiteracy.
- In-depth understanding of Java virtual machine-analysis of common vm parameters
- In-depth understanding of Java virtual machines - how to use the command line tool that comes with JDK to monitor the performance of millions of highly concurrent virtual machines
- In-depth understanding of Java virtual machine - how to use VisualVM to perform performance analysis on high-concurrency projects
- In-depth understanding of Java virtual machine-do you understand the principles of GC algorithm?
- There are several garbage collectors that interviewers often ask about. I will use this article to answer them in my next interview!
- The interviewer will 100% torture the CMS garbage collector. I will use this article to criticize you in the next interview!
- JVM interview questions 87 detailed explanations
Java8
- Java8 Stream: 20,000 words and 20 examples, playing with the filtering, reduction, grouping, and aggregation of collections
- Have you learned how to use the new features of Java8 to reconstruct traditional design patterns?
- Java8 lambda expressions, method references, functional interfaces, default methods, static methods
- Java8 Consumer, Supplier, Predicate and Function Strategy
- Java8's Stream, the king of streaming operations, returns
- The latest features of Java11-17
computer network
- Full analysis of http interview questions
- Common computer network interview questions
- Regarding the issues of tcp and udp network models, this article will tell you
- Don’t panic if you don’t understand http and https yet!
- The interviewer asked me about computer networks, and I talked to him about each question for half an hour.
computer operating system
- Operating system and computer network related knowledge
Linux
- Java engineer linux commands, this article is enough
- Linux common interview questions (Basic version)
- Linux high frequency interview questions
- Several frequently asked Linux interview questions, solve them all
Data Structures and Algorithms
data structure
- Do you really know the data structure of skip table? The interviewer may ask these questions!
- How much do you know about red-black trees? You won’t definitely be criticized by the interviewer.
- B-tree, B+ tree, how much do you know? What questions does the interviewer ask?
- This article will give you a thorough understanding of red-black trees
- Binary tree, binary search tree, binary balanced tree, red-black tree, B-tree, B+ tree
algorithm
- From getting started in college to getting offers from big companies as a graduate student, here are some must-read data structure and algorithm book recommendations. I cannot recommend them enough!
- Solutions to high-frequency algorithm questions in interviews in 2021
- Analysis of the latest sword-point offer problems in 2021
- Regarding the leetcode problem of greedy algorithm, this article can help you solve 80%
- This is how to answer the dfs question and kill the leetcode question in seconds
- The backtracking algorithm doesn’t know how to do it. You must read this article.
- How much do you know about dynamic programming? Let me help you get started.
- The linked list question is really not difficult. After reading this article, you will know how simple it is.
- Are you still afraid of the problem of binary trees? = Questions on stacks and queues can be formulated in this way. Have you mastered it?
- Several leetcode problem-solving techniques commonly used in arrays!
database
MySQL
- Comparison of storage engines such as InnoDB and MyISAM
- MySQL: from B-tree to B+ tree to index to storage engine
- The most powerful tutorial on MySQL full-text index
- Another artifact of MySQL - lock, a must-have for MySQL interviews
- MySQL transactions, this article is enough
- Complete list of mysqldump tool command parameters
- After reading this article about MySQL backup, you no longer have to worry about deleting the database and running away.
- Regarding MySQL indexes, you must pay attention to how the interviewer will embarrass you during the interview.
- Optimistic locking and pessimistic locking in MySQL, optimistic locking and pessimistic locking in JDK?
MySQL (optimization ideas)
- MySQL high frequency interview questions
- MySQL query optimization process
- Interviewer: MySQL has hundreds of millions of tables, how to deeply optimize them?
- 12 SQL optimization solutions summarized by experienced drivers (very practical)
System design
Flash kill system related
Distributed architecture diagram
Detailed explanation of flash sale architecture design ideas
Design of key details for flash sale
Separation of front and back ends
- Overview of front-end and back-end separation
- JWT user authentication with front-end and back-end separation
Single sign-on
- What is single sign-on
- Principle of single sign-on mechanism
Commonly used frameworks
Spring
- The whole process of WeChat payment and Alipay payment to springmvc+spring+mybatis environment (Alipay and WeChat payment)
SpringBoot
- The most complete tutorial in springboot history, 11 articles fully analyzed
- Microservices interview related information
distributed
dubbo
- A practical tutorial for getting started with dubbo. This article couldn’t be better.
- dubbo source code analysis
- Dubbo interview questions
- dubbo interview questions 2
zookeeper
- What is zookeeper?
- zookeeper interview questions
- zookeeper interview questions 2
RocketMQ
- RocketMQ simple tutorial
- RocketMQ Tutorial
- RocketMQ interview questions
RabbitMQ
- RabbitMQ Tutorial
- RabbitMQ interview questions
- RabbitMQ interview question 2
- RabbitMQ interview question 3
kafka
- The most easy-to-understand introduction to Kafka on the Internet
- The most easy-to-understand introduction to Kafka on the Internet 2
- Kafka Getting Started Tutorial
- kafka interview questions
- kafka interview questions 2
Message middleware
- Summary of message middleware interview questions
redis
- Redis design and implementation summary article
- Essential Redis interview questions: basics, interview questions
- Redis interview related: it contains redis knowledge
- redis other data structures
distributed system
Online problem tuning (virtual machine, tomcat)
- Garbage Collector ZGC
- jvm series of articles
- Behind a JVM FullGC, there was a thrilling online production accident!
- In-depth understanding of Java virtual machines - how to use the command line tool that comes with JDK to monitor the performance of millions of highly concurrent virtual machines
- In-depth understanding of Java virtual machine-how to use VisualVM to perform performance analysis on high-concurrency projects
- JVM performance tuning
- Practical JVM performance tuning for tens of billions of throughput services
- An online JVM tuning practice, the optimization process of FullGC from 40 times/day to once every 10 days
- JVM tuning tools
Interview Guide
tool
Git
- A complete list of git commands in actual development
Docker
other
Permission control (design, shiro)
- Access control design
- shiro related tutorials
- springboot+vue+shiro front-end and back-end separation practical project
- Shiro is a good tutorial
Java learning resources
- 2021 Java video learning tutorial + project practice
- 2021 Java 1000G latest learning resources summary
Java book recommendations
- From getting started to getting an offer from a big factory, recommended books on data structures and algorithms that you must read
- The most comprehensive e-book download on the Internet
Recommended practical projects
I would like to tell you carefully that there are many enterprise-level projects among the resources above. Don’t be afraid if you don’t have any projects, because you saw this.
- When looking for a job, what should I do if there is no project on the table?
- Recommended Java practical projects
Program life
- I think it's time to say goodbye to college
- Persistence, these two words are very important!
- Regarding the postgraduate entrance examination, this is my experience for everyone.
- From an ordinary second-year undergraduate to a graduate student to a young person in self-media, this is my story
illustrate
Introduction to JavaInterview
The purpose is very simple. These articles and the entire github information are all prepared for interviews. I just hope to provide some help for interviews, and it is best to be able to enter a big factory.
About reprinting
If you need to repost some articles from this repository to your own blog, just remember to indicate the original address.
How to contribute to this open source documentation
- Many of them are my original creations, and my abilities are limited. Corrections are welcome.
- There are many knowledge points that I may not have covered, so you can supplement other knowledge points.
- There are inevitably imperfections or errors in the existing knowledge points, so you can modify/supplement the existing knowledge points.
Why create this open source document?
The initial idea came from my own personal confusing learning experience. The main purpose is to use this open source platform to help some friends who encounter problems in learning Java or during the interview process.
Contribute
Due to my limited personal ability, I may not have covered many knowledge points, so you can supplement other knowledge points.
contact me
Add my WeChat notes to github to join the group.
Official account
If you want to follow my updated articles and shared information in real time, follow my public account Programmer’s Technical Circle .