拷打的太狠了吧1.自我介绍2.项目拷打3.请介绍 JVM 的内存区域划分。堆内存内部是如何划分的?4.如何在 ArrayList 和 LinkedList 之间做选择?5.HashMap 的底层数据结构是什么?put 方法的执行流程是怎样的?为什么 HashMap 是线程不安全的?6.ConcurrentHashMap 如何保证线程安全?CAS 的原理是什么?存在哪些问题?Synchronized 的使用场景和原理了解吗?7.请说明线程池的工作机制。8.你使用过 Redis 吗?使用时需要注意哪些问题?如何解决缓存穿透、击穿和雪崩?9.你使用的是 MySQL 吗?联合索引为何遵循最左匹配原则?什么是回表?如何避免回表?10.有接触过分布式框架吗?11.TCP 为什么要三次握手?12.反问