一面: 红黑树何时退化为链表 拦截器和过滤器的区别 myisam支持事务吗 mysql的各种锁 什么时候会触发表级锁 线程安全的list concurrenthashmap的size操作 automic类型的缺点以及JUC对其改进后提出的类 堆内内存和堆外内存 如何动态设置线程池 线程的崩溃会导致进程的崩溃吗 B+树,为啥不用二叉树,层数少了的好处是啥 arraylist的扩容步骤采用自增主键做索引的好处 linux查看cpu使用率的命令 算法题: 二叉树层序遍历 删除有序链表的重复数据 二面: RPC框架如何修改为异步的 BIO、NIO、AIO三者区别 往Nacos中注册的是啥 为什么选用Netty来做通信框架?还知道其他网络通信框架? EventLoop的工作原理,内部有几个工作线程 粘包半包怎么解决的 负载均衡算法 bossGroup和workerGroup哪个能写channel redis集群与一致性hash算法 redis 跳表这种数据结构为了什么? 查找快速 redis如何路由一个信息 如果让你设计一个服务注册中心,怎么设计? 注册中心怎么进行心跳检测 注册中心对于服务端掉线时怎么处理 许愿hr面[赞] 个人反思: 算法题可以不用最优解,用你觉得最稳的方案先做出来,之后有优化的方案可以再和面试官讨论。 算法题思路不确定要先和面试官沟通,讨论一下思路,如果面试官不同意那就算了。在自己没太大把握做出来的时候一定不要闷头写。 总的来说,java基础,jvm,多线程,数据库语句和底层结构,操作系统,计网都有涉及,而且往往从项目入手,对用到的技术栈深问,看你的深度,技术选型和对意外情况的考虑等。 #23届秋招笔面经#