面试:Java。感觉挺亲切的,整体难度中等,确认通过。八股文问得少,问了比较多的底层原理和算法系统架构:设计出几十万QPS的系统架构,我从数据库优化,接口性能优化,缓存使用消息中间件使用,池化技术(线程池和连接池),负载均衡,加机器等方面回答计算机组成部分:cpu缓存是否知道,原理是什么。我说我知道,我答了什么时候会缓存命中,缓存未命中的情况以及影响。算法题:如何判断链表有环,我回答了标记累加+广度优先遍历还有快慢指针操作系统部分:死锁形成和解决办法,这个没啥难度线程如何共享变量,这个没啥难度jvm部分:垃圾回收算法,原理,优缺点。回收,复制,整理G1垃圾回收过程,这个可自行查找cms,还parallel,serial优缺点网络编程部分:netty的线程模型我回答,reactor 扩展到有epoll追问io多路复用原理,我回答了select,poll,epoll相关内容追问epoll事件驱动原理基于epoll问我红黑树翻转过程零拷贝原理,我回答了用户态和系统态切换DMA拷贝流程,以及零拷贝少了哪些拷贝过程八股文:hashmap为啥线程不安全,多线程访问会有什么后果你说你用的concurrent hashmap,源码有没有看过,原理是什么 我回答了了一些CAS+synchronized 锁升级过程。追问,这些锁用到了什么,我回答AQS。再追问AQS原理,然后一直问到cpu怎么锁的,锁缓存,锁总线,关闭中断总结:面试问题几乎贯穿到整个计算机体系,问了我整整接近50分钟,难度挺大的。我列举了一部分问题,还有一些太难了,没回答上来。最后还是过了
3轮面试:部门主管面试、HR面试、视频面试
面试感受:很好;面试难度:有难度;面试来源:BOSS直聘