B站 系统研发(操作系统内核)春招面经
bg:专升本+ACM银牌+三个项目(一个毕设的KV分离LSM-Tree,一个6824的分布式KV,一个OJ)
一志愿投的是服务端开发,直接挂简历了,这个是二志愿,反而进面了
一面 30min
个人介绍
实习经历,遇到的挑战
为什么去年不找工作(可能觉得我怎么春招还在找工作)
为什么学习 Rust
内核有哪些子系统
怎么看 CPU 占用率
top 下有哪些项
什么情况下内核态(sy)占比高
什么情况下 iowait 比较高
如何排查这些情况
进程的状态,什么情况下会状态切换
分布式系统研究的是什么
CAP 定理
为什么 XX 项目使用 Raft
内核隔离机制
cgroup 有那些组
对这个职位如何理解(估计被我菜到了)
TCP 和 UDP 区别,TCP 如何保证可靠性
反问:
工作内容(内核优化)
会遇到的挑战(内核开发门槛,硬件门槛,Linux 社区交互,迭代路线选择)
总结:
晚上面的,面试官估计也是累了,感觉没什么精神
每回答一个问题后面试官都不会继续往下追问或给什么反馈,而是会沉默半分钟,然后就继续下一个问题了(可能也是我表现不好,面试官都懒得面了
二面 30min
一面一塌糊涂没想到都过了…
自我介绍
项目介绍(LSM-Tree)
在内核和网络方向做过什么工作
cgroup 内核实现
网络栈内核实现
软中断硬中断
项目发布可能会遇到的问题
解决过的线上问题
怎么排查网络故障
UDP报文
项目开发流程
看过的开源项目
怎么做团队合作
最近学习过什么
自己的优缺点
反问:
部门和项目情况(系统内核组,CPU调度、内存管理、网络栈优化什么都做)
研发流程(项目驱动,根据上层业务需要修改内核)
TODO
暂时还没挂,在流程中,待更新
两轮面试都是被疯狂拷打,对内核方面确实知之甚少,还有很多地方需要学习