开始折磨!讲讲你对锁的理解和分类CAS一般来说是怎么实现的如果我们实现一个自旋锁的话应该怎么利用CASCAS自旋会有什么问题怎么让自旋过程不那么消耗资源还有别的锁的分类吗Java种哪一类实现了公平和非公平锁ReentrantLock的非公平性是怎么实现的讲一下对索引的理解除了数据库,举几个在其他地方用到索引的例子讲一下往跳表里插入和查找数据的流程往跳表里面存n个数据,占用的空间是多少为什么索引查会更快一些数据库常见的连接类型B+树和B树的区别,那只从查询的角度来说的话,有什么区别这两个树查询一条数据的流程说一下怎么快速判断一个数是不是2的n次方(直接把所有的结果存下来、转成二进制右移、利用补码:(x != 0) && ((x & -x) == x);或者((x != 0) && ((x & x - 1) == 0));给定1到100,只有一个数出现了奇数次,剩下的数都出现了偶数次,怎么快速找到这个基数次的数字(数组、直接异或)8G的内存,有1亿个IP地址,现给出一个IP地址,判断是否在这1亿个IP地址中(hashmap、数组,把每一个IP定义成一个byte总结:二面的体验没有一面那么好了,多了一些场景&智力题,这些见过就会了,没见过感觉很难自己想出来。八股上问的更深一些了,感觉需要看过CAS和AQS源码才能答出来了,自己这方便确实比较薄弱,需要再加强一下了。