一面(1h)
- 介绍项目
- 用过哪些锁,在项目中是怎么使用的,使用的场景?Synchronized和Lock的区别?了解哪些并发编程中使用的容器?
- 介绍Map,Treeset,Arraylist,Llinkedlist的区别,从数组讲到链表,再讲到Hashmap,再讲到Hashcode()和equals()方法,哈希冲突的解决,再讲到了Concurrenthashmap的实现,JDK下1.7与1.8实现的区别,TreeMap与Treeset的区别。
- spring相关bean对象循环依赖是怎么回事,怎么解决?AOP的动态代理是怎么实现的?
- volatile的作用
- 了解过MYSQL的哪些索引吗?MYSQL的引擎?索引查询数据为什么快?什么时候该建立索引?什么时候使用索引查询比全表扫描更慢?为什么会发生两次IO的情况?
- java内存模型讲一下?
- 什么时候发生垃圾回收?有哪些垃圾回收算法?
- 线程池的参数?拒绝策略?
- 如果corePoolSize+BlockingQueue.size()>maxiumPoolSize会怎么样?
- 知道哪些排序算法?每个时间复杂度说一下,快排讲一下流程
二面(1h)
- Redis单线程吗?为什么这么设计?
- Redis的事务怎么处理的?怎么保证事务之间互不影响?
- 数据库的ACID讲一下
- 可重复读innodb怎么实现的?in