快手数据库内核一面

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

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

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

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

随便问了问实习做的事情

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

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

相关推荐

07-23 22:03
已编辑
武汉大学 Java
本来以为快star一面挂已经够狠了,楼主也早就不想搞db内核开发了。结果teg hr前天找到楼主,楼主以为是搞网络的就接了。结果是搞tdsql的组,100+人搞自研db的组,what can I say。1. 算法题,四则运算式2. 起手式,C++内存序了解过吗,当然没有啊哥们,业务岗大招当平a放啊。3. 安慰一下楼主,来个简单的raft 3节点和4节点比较4. 拷打实际场景节点掉线怎么快速恢复服务,怎么分散读请求压力,不懂啊,楼主能说出来的readindex流程都是一眼初学者的臆想,面试官频繁打断5. 安慰一下楼主,15445的lru-k作用6. 15445的buffer pool怎么跟磁盘交互的,脏页调用什么系统调用写入磁盘,有什么优化,不懂啊,鬼知道啊7. 了解过io_uring、direct io等这类概念吗,明知故问啊这不是8. K8s使用过吗,没有9. c++20 协程用过吗,没有10. thread_local用过吗,没有11. 多个线程访问原子变量和单个线程访问原子变量谁快?扯着扯着又扯到内存序,扯到内存序就抓瞎12. 所以怎么做全局计数器的优化,单核做到1亿的ops,八核做到8亿的ops,,不懂啊,饶了楼主吧。13. 反问:业务:db内核组,CSIG是调用这个组写的db的,100+人,还在扩张规模:因为是纯自研,所以比快手的10+人团队规模大10倍楼主疑似有点自取其辱了,明明看teg网络那个组的面经也不难就想着投投看,结果是个db内核组。快star还乐意跟楼主聊聊事务隔离级别这种务虚的东西,这次面试说到优化就是实际场景、cpu指令、io模型,楼主也没db初创实习经历啊,招人bar这么高干嘛捞楼主面试。
两月华子焊一生:更难绷了,招聘状态还进入复试了,不过这种场面楼主暑期实习就经历过了,无非是不想主动挂所以拖两周自动挂
查看12道真题和解析
点赞 评论 收藏
分享
评论
点赞
13
分享

创作者周榜

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