PFI
jvm
介绍下内存模型?为什么需要内存模型?
新生代gc方式?工作原理? 老年代GC方式?工作原理?适用场景? 标记时从何开始?GCroot有哪些?
如何排查java进程CPU过高?
java基础
ThreadLocal的实现?
ArrayList扩容几倍?
HashMap的实现? 扩容的实现?
ConcurrentHashMap的实现?(7和8) 扩容的实现?(如何并发?)
PriorityQueue 这个一般给个场景,你看你能不能想到. 了解实现
ArrayBlockingQueue 和 LinkedBlockingQueue的区别 和适用场景?
synchronized和 ReentrantLock的区别和适用场景?
Aqs的原理?公平非公平的实现?
ThreadPoolExecutor的参数含义? 超出core的线程如何终止?
NoClassDefFoundError 和 ClassNotFoundException的 触发场景?
网络
bio nio aio的区别和适用场景?解决的问题? api什么样?
tcp3次握手 4次挥手过程, 为啥一定要3次和4次?
https原理?
http可以链接可以复用吗? 一个连接能同时发多个请求吗? (keepalive http2)
开源软件
mysql, 索引 为什么用b+树?
mysql的锁类型?分别有什么用?
mysql mvcc的原理? 也有单问undolog和redolog的
事务隔离级别?mysql对rr级别的实现?
mysql rr级别 和serialize级别的区别?
mysql集群方案? 怎么保证可用性?数据不丢?
redis的zset实现?
你们公司redis集群方案?
redis扩容怎么实现?
介绍redis持久化?实际有使用吗?
mq如何实现高可用?
mq保证顺序吗?如何保证?
事务消息怎么实现?
dubbo注册中心是什么?可以不使用zk吗?会有问题吗?
使用dubbo比 直接暴露http接口好在哪儿?
zk解决什么问题?
zk选举流程?
raft了解过吗?
分布式
介绍cap base理论? 工作中对base有哪些实践?
service mesh你怎么看?
数据结构与算法
二叉树,深度遍历打印?
二叉树广度遍历打印?每层按行打印.
求二叉树的高度? 递归&非递归(广度遍历 + 计数或双队列)
求二叉树最远的两个点的路径长度?
求二叉树两个点的最近公共祖先?
链表判断是否有环?
数组二分查找? 旋转数组的二分查找?
跳台阶?摆砖问题? https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
数组中找前K大的元素?
排会议室问题? 给出多个开会时间段,判断最少需要几间会议室?
给出两个矩形的对顶点坐标. 求重复部分的面积