当前位置: 首页 > 面试经验 >

百度-数据库内核开发实习一面面经

优质
小牛编辑
173浏览
2023-03-28

百度-数据库内核开发实习一面面经

全程面试一个小时,先聊实习,再聊数据结构和操作系统八股文,中间给了一道设计数据库缓存的情景题,最后出了一道实现双向链表插入、查找、删除的算法题。整体感觉面试难度适中,面试官很有耐心也很温柔,面试体验不错。

实习经历

(1) 研究生期间做深度学习,为什么就业想要走开发岗?

(2) 现在的实习才四个多月,为什么想要换一份实习?

(3) 项目各种技术细节如何实现的(不展开说了)

(4) 对你来说最有成就感的一个 task 是什么

(5) 有没有修复过体系结构不同(x86 和 ARM)导致的 bug 经历

注:基本把项目的各个技术环节从上到下问了个遍,在此基础上引申出各种八股文。

Linux

(1) cgroup 底层实现原理

(2) kill 与 kill -9 的区别

(3) 介绍一下互斥锁和自旋锁

(4) 实习中有没有使用锁的经历?

(5) 了解内存屏障的概念吗?

C/C++

(1) kill 函数的实现原理

(2) malloc 函数的实现原理

(3) malloc 分配的是虚拟内存还是物理内存

(4) malloc 什么时候开始分配物理内存

(5) 说说你对智能指针的理解

(6) 智能指针是线程安全的吗?

(7) 实习经历中使用过智能指针吗?

数据结构

(1) 哈希表和 B+ 树的区别

(2) B+ 树和红黑树的区别

业务情景题

(1) 如何高效并行地读取一棵 B+ 树

(2) 设计一个高效的数据库缓存机制

注:第一题因为我对 B+ 树不熟悉,所以出了第二道题,面试官说答的还不错。

算法题

(1) 实现双向链表的插入、删除、查找函数

注:双向链表不怎么熟,插入和查找都实现了,删除部分脑子短路,有个 bug 一直没想明白。

总结

毕竟是数据库内核开发,所以对于底层问的还是比较多的,数据结构要求也比较高。我目前实习在做一些基于 Linux 的底层工具和应用开发,所以对于底层/内核这方面还是很感兴趣的。通过和面试官交流发现,这种内核开发的岗位之间差别不大,很多东西是相通的,未来这也属于是我的一个就业方向。

#数据人的面试交流地##实习面试##面试##数据库#
 类似资料: