- 前序和中序数组还原二叉树,然后输出二叉树每一层最右边的节点
 - hashMap与hashTable的区别
 - hashMap为什么线程不安全,数据丢失和死链的问题是怎么发生的?
 - concurrentHashMap的size()函数会上锁吗?为什么?
 - 前面提到了CAS,介绍一下,CAS的ABA问题如何解决?
 - 介绍一下synchronized偏向锁、自旋锁、对象锁
 - synchronized有什么不足之处?
 - 公平锁和非公平锁怎么实现的?
 - 介绍一下QAS?tryAcquire()函数的实现?QAS条件队列和同步队列有什么区别?条件队列的节点是用什么函数增加和删除的?条件队列头节点被唤醒之后会去哪里?
 - A向B转账,B也要向A转账,转账过程如下:A先获取A账户的锁,进行减操作,然后A要获取B账户的锁,进行加操作,B同理。发生死锁了,怎么办?
 - 线程池类型有哪些?任务拒绝策略有哪些?线程池核心线程在对象刚初始化完成,没有来任务时,存在吗?
 - scheduledThreadPool的schedule是怎么实现的?
 - mysql的聚簇索引和非聚簇索引的区别?
 - B树和B+树的区别?B+树的查询时间复杂度?
 - 解释一下sql内连接和外连接
 - 你认为在创建索引时,原则是什么?
 - JVM的垃圾回收算法有哪些
 - G1用的什么垃圾收集算法
 - 快重传和确认重传
 - TCP快启动
 - TCP滑动窗口机制
 - spring IOC、AOP解释一下
 
