面经
面经
- 线程池
java.util.concurrent.Executors
- 通过该类创建的各线程池的特性
- 创建线程池的方法的各个参数含义
- 适用场景、缺陷
- 线程池拒绝策略
- 核心线程数和最大线程数意思,什么场景下线程池的线程数达到最大线程数
- JVM 相关
- 堆结构:堆上有哪些分区,概述
- 堆上哪些分区可以被回收
- 调优经历
- 常用参数
- 常用GC算法,以及使用算法的相关垃圾回收器:标记清除、标记整理等等;G1、CMS等等。
-
Spring源码
问得比较浅,一般都是讲对象生命周期 -
数据库
我简历写的Mysql,所以问Mysql比较多;
- 索引,引申:B+树和B树,为什么用B+树做索引
- 是否了解数据库存储引擎
- 数据库参数调优是否了解
- 慢sql语句调优
- 给一个场景写SQL
- 事务
- 事务类型
- 事务的传播
- 对什么数据结构比较了解
引申容器集合相关问题:Map Set List ;
- 各种容器、集合的特性;
- 线程哪些线程安全,哪些不是线程安全;
- ConcurrentHashMap 在JDK7 和 JDK8 中的区别;
- 能够作为HashMap 的Key的对象需要满足什么条件;
- 设计模式
- 用过哪些设计模式?
- xx模式和xx模式的异同?
- 多线程相关
- volatile 特性场景
- synchronized 的锁升级
- ReenTrantLock 和 synchronized 的异同
不太记得清具体问题了,还有些就是结合具体项目问;比如业务逻辑,怎么保证数据不丢失等等,都是和具体业务挂钩的。