面试体验很好,面试官人非常和善,对基础问题问得比较深入。
每次都是听完我的回答后,根据我的回答发散新的问题。
1. ReentrantLock 底层怎么实现的
2. AQS中Status具体是哪4种状态?分别代表了什么场景?
3. 你提到了其中的传播状态,那么AQS中的Propagate是在什么情况下释放节点?(太细了,早忘了)
4. Innodb架构有哪些特性?
5. Innodb存储空间为什么要用缓冲池?
6. 既然你提到缓冲池的这些功能,那Innodb缓冲池是怎么flush脏页的?了解相关算法嘛?
7. 除了数据库Cache,你了解系统级的缓存设计了吗?嗯,具体说说L1,L2,L3的区别?嗯,他们的映射方法是怎么样的?
8. 那你觉得缓存映射和虚拟内存地址映射有什么异同吗?
9. 再具体再讲一讲你说的MMU和DMA呢?
10. 那我们延伸到进程层面,进程间如何通信?讲一讲其中最简单的管道通信的原理?(6.828的小作业,双向close/open读写fd)
1. 问了问项目,做了哪些贡献
2. 团队合作能力怎么样,具体说说呢
3. Redis了解多少?讲一讲跳表
4. zipList的设计原理是怎么样的?
5. 布隆过滤器
6. 除了Redis,还有哪些中间件缓存呢?
7. 讲一讲高并发时候的锁机制
8. 了解哪些分布式组件?
9. 具体讲一讲chord的分布式hash?
在北京,不打算去了