ssp有规定没法再高了,再高只能加面,记录下面经内核- xarray相关工作,RCU-safe,page cache方面的requirement、multiorder index和prefix节点的省略,谈了下cacheline方面可能存在的优势- radix-based抽象与tree-based抽象的区别- RCU reader side要避免的行为,提到了要避免compiler的reload优化、address speculation以及memory reorder的手动控制;writer side的store barrier,简单提了下grace period- linker方面,plt、got,如何实现lazy binding,可能的性能问题,额外跳转对pipeline可能的stall- spinlock跟atomic context交互时要注意的问题,提了下为什么关掉内核抢占,关中断的性能问题,以及避免和中断、bottom half产生死锁- 介绍了下kernel的block layer,以及SPDK在userspace对IO queue的借鉴,但IO merge就只做的比较简单了天池数据库比赛- 实现的无锁MPSC队列,producer为什么需要两个指针,如何保证无锁正确性,简单谈了下memory order- 如何管理指针?cmpxchg or fetch_add- 微架构方面的优化,比如cachline的false sharing实习- 简单聊了下阿里云实习整体工作,熟悉代码然后benchmark确认问题,尝试prefetch解决rocksdb的bottleneck,失败然后寻求新的方案,实现、debug,单线程和多线程上的优化、回归测试,基本没有反问算是隔壁部门总监的交叉面,问了下是网络虚拟化的,不过也内核出身,所以我说的都比较熟悉,我也很惭愧地表示自己对网络基本不懂,但面的还是很愉快的,就算哪里没get到也会跟我交流,我再跟他解释。晚上就给了反馈,hr说恭喜通过,涨了一个职级,钱稍微多了点。给的跟其他家还是有差距的,但开发本来就没法和算法比,而且我从大三到研三基本一直都是做os相关的,背景可以说相当match,也没oncall,没啥多想直接接了,手上其他的虽然没开可能钱多,但也不考虑了。