1.数据库自增id、雪花算法生成的id、uuid哪个性能更好?2.Java的锁有哪些?Java中synchronized 和 ReentrantLock 有什么不同?3.Hashmap的底层结构?4.Hashmap初始容量是多少?负载因子多少?什么时候进行扩容?为什么初始化要进行扩容?5.TCP/IP模型?以及每一层对应七层模型哪个6.为什么四次挥手的报文要等2sml才能释放TCP连接?7.什么是普通索引?索引的叶子结点放的什么8.B+树的叶子节点用什么连接?(双链表),单链表和双链表的好处9.索引失效?10.怎么优化表、sql优化11.Volatile可以保证原子性吗?有哪些特性12.Synchronized的底层原理?13.缓存穿透和缓存击穿的的区别?怎么解决14.Redis怎么实现分布式事物?怎么加锁?加锁为什么要设置过期时间?作用?怎么释放锁?15.Springbean的流程?16.Spring用哪些设计模型?举例?17.Jvm内存模型?虚拟机栈放的什么?好多jvm知识18.类的加载过程19.垃圾回收机制20.永久代