1.自我介绍2.手撕:leecode 1623.UDP和TCP的区别?TCP三次握手客户端和服务端的网络状态变化情况?4.第三次握手的作用?双方都变成已建立连接状态之后各自会分配什么资源在服务端和客户端?5.HTTP协议版本之间的区别?QUIC协议是在哪一层实现的?6.面向对象的思想在Java语言中怎么体现?7.Arraylist和linkedlist区别?linkedlist为什么设计成双向链表?各自的默认容量?8.hashmap数据结构和扩容原理?hashmap非线程安全发生在什么情况下?9.ConcurrentHashMap底层数据结构?里面用了哪些锁?10.CAS锁会出现什么问题?ABA问题怎么解决?11.Java中的锁的区别?ReentrantLock锁底层?12.启动一个线程有哪些方式?13.volitile关键字的作用?14.springboot spring springmvc之间的关系?15.循环依赖spring怎么解决的?两种方式都能避免循环依赖吗?16.数据库范式的作用?17.数据库索引的好处和缺点?18.哪些场景索引失效,没用到索引?19.mysql事务隔离级别?20.JVM类加载时机?21.一个实例对象什么情况下会被回收?jvm怎么判断对象有没有引用?22.CMS和G1的区别?如何怎么选择?23.netty框架怎么解决一个粘包,半包这些问题?netty实现通信需要注意什么?24.netty线程模型?总结:面试一个半小时,面试体验很好,面试官很nice