Java 面试指南(JavaGuide 后端通用面试题总结)
约 3101 字大约 10 分钟
JavaGuide 是一份系统化的 Java 面试指南 和后端通用面试复习资料,内容覆盖 Java 基础、集合、并发编程、JVM、Spring/Spring Boot、MySQL、Redis、分布式、高并发、高可用和系统设计等核心知识点。
如果你正在准备校招、社招或跳槽面试,可以从 Java 后端面试通关计划 开始,再按下面的模块逐步复习高频 Java 八股文和后端面试题。
本站所有内容都已免费开源,欢迎一起维护完善,有帮助的话,欢迎 Star!
面试准备
- ⭐Java 后端面试通关计划(涵盖后端通用体系) (一定要看 👍)
- 如何高效准备 Java 面试?
- Java 后端面试重点总结
- Java 学习路线(最新版,4w+ 字)
- 程序员简历编写指南
- 项目经验指南
- 面试太紧张怎么办?
- 校招没有实习经历怎么办?实习经历怎么写?
Java
基础
知识点/面试题总结 : (必看👍 ):
重要知识点详解:
- 为什么 Java 中只有值传递?
- Java 序列化详解
- 泛型&通配符详解
- Java 反射机制详解
- Java 代理模式详解
- BigDecimal 详解
- Java 魔法类 Unsafe 详解
- Java SPI 机制详解
- Java 语法糖详解
集合
知识点/面试题总结:
源码分析:
- ArrayList 核心源码+扩容机制分析
- LinkedList 核心源码分析
- HashMap 核心源码+底层数据结构分析
- ConcurrentHashMap 核心源码+底层数据结构分析
- LinkedHashMap 核心源码分析
- CopyOnWriteArrayList 核心源码分析
- ArrayBlockingQueue 核心源码分析
- PriorityQueue 核心源码分析
- DelayQueue 核心源码分析
IO
并发
知识点/面试题总结 : (必看 👍)
重要知识点详解:
- 乐观锁和悲观锁详解
- CAS 详解
- JMM(Java 内存模型)详解
- 线程池:Java 线程池详解、Java 线程池最佳实践
- ThreadLocal 详解
- Java 并发容器总结
- Atomic 原子类总结
- AQS 详解
- CompletableFuture 详解
JVM (必看 👍)
JVM 这部分内容主要参考 JVM 虚拟机规范-Java8 和周志明老师的《深入理解 Java 虚拟机(第 3 版)》 (强烈建议阅读多遍!)。
新特性
- Java 8:Java 8 新特性总结(翻译)、Java8 常用新特性总结
- Java 9 新特性概览
- Java 10 新特性概览
- Java 11 新特性概览
- Java 12 & 13 新特性概览
- Java 14 & 15 新特性概览
- Java 16 新特性概览
- Java 17 新特性概览
- Java 18 新特性概览
- Java 19 新特性概览
- Java 20 新特性概览
- Java 21 新特性概览
- Java 22 & 23 新特性概览
- Java 24 新特性概览
- Java 25 新特性概览
计算机基础
计算机基础(计算机网络、操作系统、数据结构与算法)已独立为单独模块,详见 计算机基础知识总结。
数据库
基础
MySQL
知识点/面试题总结:
重要知识点:
- MySQL 索引详解
- MySQL 索引失效场景总结
- MySQL 事务隔离级别图文详解)
- MySQL 三大日志(binlog、redo log 和 undo log)详解
- InnoDB 存储引擎对 MVCC 的实现
- SQL 语句在 MySQL 中的执行过程
- MySQL 查询缓存详解
- MySQL 执行计划分析
- MySQL 自增主键一定是连续的吗
- MySQL 时间类型数据存储建议
- MySQL 隐式转换造成索引失效
Redis
知识点/面试题总结 : (必看👍 ):
重要知识点:
- 3 种常用的缓存读写策略详解
- Redis 能做消息队列吗?怎么实现?
- Redis 5 种基本数据结构详解
- Redis 3 种特殊数据结构详解
- Redis 持久化机制详解
- Redis 内存碎片详解
- Redis 常见阻塞原因总结
- Redis 集群详解
MongoDB
搜索引擎

开发工具
Maven
Gradle
Gradle 核心概念总结(可选,目前国内还是使用 Maven 普遍一些)
Docker
Git
系统设计
基础
常用框架
Spring/SpringBoot (必看 👍)
知识点/面试题总结 :
重要知识点详解:
MyBatis
安全
认证授权
数据安全
定时任务
Web 实时消息推送
分布式
理论&算法&协议
RPC
ZooKeeper
这两篇文章可能有内容重合部分,推荐都看一遍。
API 网关
分布式 ID
分布式锁
分布式事务
分布式配置中心
高性能
数据库优化
负载均衡
CDN
消息队列
高可用
冗余设计
限流
降级&熔断
超时&重试
集群
相同的服务部署多份,避免单点故障。
灾备设计和异地多活
灾备 = 容灾 + 备份。
- 备份:将系统所产生的所有重要数据多备份几份。
- 容灾:在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。
异地多活 描述的是将服务部署在异地并且服务同时对外提供服务。和传统的灾备设计的最主要区别在于“多活”,即所有站点都是同时在对外提供服务的。异地多活是为了应对突发状况比如火灾、地震等自然或者人为灾害。
Star 趋势
公众号
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号“JavaGuide”。


