快手数据库内核一面

虽然做过数据库相关的项目, 但这还是第一次面数据库内核呢, 以前就听说数据库面试很硬核, 今日一面, 果真如此

自我介绍
拷打项目: miniob(蚂蚁的数据库竞赛项目), 非常细节

DBMS索引怎么工作, 如何实现, 联合索引, 主索引和辅助索引? B+树...
B+树执行查询/修改操作时是如何加锁的? 考虑节点分裂和合并
文件分页存储怎么实现? 分页机制和索引的关系
LRU算法, LRU刷盘时一致性的保证(考虑到宕机的情况) 参考mysql
MVCC的原理, 及其实现? 参考mysql
项目支持的事务隔离级别? 如何支持?

少量面经:
linux系统CPU执行满了怎么办?
进程和线程区别, 进程之间如何通信, 线程之间如何通信

随便问了问实习做的事情

手撕:
删除链表倒数第k个元素

已约二面
全部评论
更:二面已挂
点赞 回复 分享
发布于 03-31 13:24 黑龙江

相关推荐

头像
09-04 15:35
武汉大学 Java
手写跳表吗,有意思。1. 自我介绍2. 个人经历盘点3. 说说mysql索引类型(b+树,hash,bitset),知道索引压缩技术吗(不知道)4. 看过什么源码(leveldb,mysql),leveldb内存数据结构是啥(不知道,只会扯lsm tree)5. 看过leveldb是吧,来写个跳表吧(花20min写了个残废insert,中途被面试官问你刷过题没有,楼主顿觉毫无希望,直接嘴硬给楼主出hot100楼主早就写完了)6. ob大赛干嘛的7. 说点无锁数据结构(rcu、cow)8. 内存分配器了解吗(不了解,说了一下数据库buffer pool的prefetch和后台刷脏页的设计)9. 职业规划(楼主清楚自己对搜广推毫无了解,只能说想要成长性高一点的,顺便diss一下算法工程师和支付业务开发)10. 干嘛不做数据库开发(太菜了这话当然不能说啦,表明自己还是对上层应用更感兴趣一点,搜广推这种比纯业务开发偏鸡架,比鸡架偏业务的岗很合适楼主)11. 反问:无fa可说,搜广推按最近面下来的感觉,大家干的活基本所差无几(用户点击与曝光log,特征持久化与更新,图算子编排巴拉巴拉,哪个公司都在搞这套)。团队规模:30+人(哪个公司都这么多人)凉了吗。本来楼主觉得上次的快手二面部门(搜推架构)明明去年把主站的团队裁完了,按理说是缺人的,结果还是因为楼主的k个一组有瑕疵没撕出来挂了楼主而愤愤不平。与现在这个部门两相对比(搜推架构是1面反转链表2面k个一组,广告是1面合并k个链表2面跳表),看来还是想招人的,只是楼主莼菜,错失良机。
查看9道真题和解析
点赞 评论 收藏
分享
评论
点赞
14
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务