### 并发
#### 线程池
1. 线程池的核心参数
2. 当一个线程池core=5,max=20。此时先发送三个任务,等两个任务处理完成时,再提交一个任务,这时候线程池的现有线程是多少?
3. 线程池是如何运行的,拒绝策略有哪些?
#### 锁
1. reentrantlock和synchronized区别
2. 当synchronized升级为重量锁时,它是一个公平锁吗?
3. 介绍一下objectMonitor
4. ThreadLocal是怎么做到线程间数据隔离的?
5. ArrayBlockingQueue的底层实现
#### ThreadLocal
ThreadLocal是怎么做到的线程间数据隔离的?
四种引用方式,什么情况下会垃圾回收
ThreadLocal会在什么情况下发生内存泄露
#### 集合框架
hashmap扩容时是头插法还是尾插法
hashmap环问题
ConcurrentHashMap如何实现线程安全?(1.7和1.8分别说下)
### 设计模式
1. 了解常用的设计模式:单例模式、工厂模式、观察者模式、建造者模式...
2. 手写dcl单例模式
### 算法
实现一个lru
二叉树 打印出根节点到全部叶子节点的路径
二叉树翻转
链表快排
字符串去相邻字符串 如'abba' -> '' 'abbba' -> 'aba'
动态规划
### 框架
spring boot启动机制
mybatis原理 sqlsession生命周期
mybatis一级缓存二级缓存
### MySql
mysql可重复读是否完全避免幻读,能解决哪些场景下的幻读
mysql的binlog redolog undolog
mysql的数据存储形式
索引的存储形式
sql的优化思路 开放性问题,缓存什么的也可以说一说
mysql回表机制 覆盖索引 索引选择性
### JVM&垃圾回收
Java内存模型
说一下cms
说一下三色标记法
说一下如何设定年轻代 老年代大小
说一下垃圾回收的算法
说一下class信息放在了jvm的哪些区域中
### 消息队列(可以选择自己熟悉的)
怎么保证顺序发送
怎么保证一定送达
怎么保证消息不丢失
。。。
## redis
redis中总共有几种淘汰策略
redis怎么保证缓存穿透,了解布隆过滤器吗
说一说跳表.ConcurrentSkipListMap以及redis中跳表分别是如何实现的
redis如何保证与数据库数据的一致性
redis怎么防止热key对redis造成过大压力
redis的配置纪元是用来做什么的
epoll poll select的区别
水平触发和边缘触发的区别
卷起来