Java 后端开发与分布式架构核心面试题精选
Java 核心基础与集合
- HashMap 数据结构及实现原理,其链表是用来解决什么问题的
- 可以自定义 java.lang.String 类吗,说明为什么
- Java 集合常用类及数据结构
- 说说 volatile 关键字及使用场景
- 什么是悲观锁和乐观锁,分别如何实现
- Java 有哪几种自带的线程池,说说它们的应用场景
- 线程有哪几种状态流转
- 怎么排查多线程问题
- 说说 JVM 内存模式及如何调优
- JVM 有哪些自带命令及如何使用
- 说说类加载机制,它们是怎么设计的
并发编程与同步
- 线程同步的有哪些方式
- 如何防止死锁
- 如何实现分布锁,需要考虑的问题
- Session 共享有哪些方案
Spring 框架与生态
- SpringMVC 加载流程
- Spring 事务传播机制有哪些,如何用 JDBC 实现 require_new
- Spring IOC AOP 是什么,实现动态代理有哪些方式,代理类和原来的类之间是什么关系
- Spring 中用到了哪些设计模式
数据库与存储
- MySQL 如何进行 SQL 优化?如何进行性能检测
- MySQL 有哪几种索引类型及应用场景
- MySQL 主备同步是如何进行的,原理是什么
- MySQL 分库分表有哪几种分法,如何解决数据分布不均匀的问题,如果避免查询某个字段扫全库全表的情况
- MySQL 事务隔离级别有哪几种,默认是哪个
- MySQL 如何解决幻读问题
- MySQL 读写分离方案
- MySQL 有哪几种引擎及应用场景
- MyBatis 占位符的#和$有什么区别
- Redis 有哪几种类型的数据结构
- Redis 如何防止缓存穿透
- Redis 如何做集群,有哪些方案
- Redis 和 Memcache、Ehcache 有什么区别
- Redis 如何做持久化
分布式系统与中间件
- 如何实现分布式事务,你们公司是怎么解决的
- Zookeeper 说说选举算法
- Zookeeper 有哪几种节点类型
- Zookeeper 有哪些应用场景
- Zookeeper 如何部署集群,至少有几台机器
- Dubbo 里面用的什么通信框架
- Dubbo 和 Dubbox 有什么区别
- Dubbo 里面用的什么序列化框架
- Dubbo 如何利用 Zookeeper 实现注册发现,还有别的方式实现注册发现吗
- 还了解别的分布式框架吗
- 如何解决分布式服务调用链过长的问题
- Dubbo 它是阻塞的吗
- Dubbo 说说核心的配置有哪些
- MQ 什么是推模式,什么是拉模式
- MQ 有没有消息丢失情况,如何防止
- MQ 用来解决什么问题
- MQ 你们用的什么 MQ,为什么要用这个,它的最大吞吐量是多少
- 一致性 hash 算法
- 接口安全如何做
- 用户登录有哪些保障安全的手段
- 怎么减库存,如何防止超买超卖
- 要你实现 RCP 框架,你会注重什么
网络协议与系统运维
- Nginx 有哪几种负载均衡算法
- TCP 协议为什么是三次握手四次挥手,为什么不是别的
- HTTP 报文有哪几个部分
- Linux 查看 CPU、内存、硬盘、网络 IO、负载、端口占用情况、及某个具体进程的命令

