一面: io为什么会阻塞。 nio的底层实现原理 nio 为什么是非阻塞的,如果selector有数据了,如何通知channel tcp三次握手 为什么tcp是三次而不是两次。 死锁的概念(用一个场景来模拟死锁) 死锁如何避免的 如果发生了死锁怎么办 ArrayList 跟LinkedList arrayList如何动态扩展 hashmap内部原理 hashmap是不是线程安全的 如何保证hashmap线程安全。 concurrentHashmap的内部结构 static关键字 static关键字修饰的方法和属性什么时候加载 gc发生的时间 gc root节点的种类 两道算法题 将数组中的重...