滴滴存储一二面

背景:

211本985硕非科班,项目一个NoSQL内核实现(6000行左右),一个15445通关(代码量等同);华为无关方向两个月实习;一篇无关SCI一区;

7.28投递

8.15一面,隔15分钟二面

一面

1. 自我介绍

2. 详细介绍NoSQL的项目(滴滴做的RocksDB二次开发?)

3. 讲讲LSM-Tree

4. MemTable直接到SST吗?(中间还有个immutable)

5. 你写的SST多大?大小怎么权衡

6. 还有一些项目问题想不起来了,问的还是比较多的,但是基本上都没问题,到这里大概20分钟

7. 手撕跳表(感谢赛码网平台过于简陋,不用Debug了)20到30分钟

8. vector的扩容策略

9. 智能指针,可以无脑shared_ptr吗?(不行,效率有问题,适时用unique_ptr或者普通指针)

10. 移动语义有什么用,怎么用?左移和右移语义(这还真是第一次听说,不过也答上来了,指的是std::forward和“右值引用本身是个左值”的问题)

11. explicit用过吗怎么用

12. 内存泄漏怎么解决

13. 看你用了lock_guard给跳表上锁,lock_guard基于什么机制实现?具体呢?(构造上锁析构解锁)有没有粒度更细的策略?(不会,忘了复习了,没追问)

大约一小时结束,10分钟约二面立即开始(但是面试官迟了差不多20分钟)

内存泄漏经典,每次都问。个人觉得这几个点要说到(即使没用过也要硬编):

1. 日志排查(我的项目自己做了一个小日志库集成进去了)

2. core dump可以用gdb打开,恢复现场状态;再说几个gdb命令,b(breakpoint),r(run),s(step in)等等

3. 内存泄漏检查工具(但是好像面试官不太爱听这个),Linux我用的Valgrind,g++12自带AddressSanitizer,Windows也有其他的工具

二面

项目问的很细

1. 自我介绍

2. 依然详细介绍NoSQL的项目

3. 布隆过滤器介绍一下,如果每个SST有一个BloomFilter,读盘还是有很大的开销,怎么办?(我说的全局BF,但是要考虑数据量大的时候BF的大小还有命中率)

4. 缓存粒度多大?DataBlock,KV还是SST,这几种粒度又各有什么问题,你为什么这么选择?

5. 并发策略的粒度,MVCC是针对KV还是SST

6. MemTable转Immutable没落盘时怎么读的?(糟了没考虑到,可能是整个面试里比较有问题的地方了,现场思考应对了一下)

7. 手撕链表题:123456->162534,思路是快慢指针断链,后半段倒序,然后和前半段归并即可,想了几分钟,面试官提示“前半段是正序,后半段是倒序”然后我就有思路了,但是!先写了快慢指针断链,面试官说只要写到倒序后半段就行不用归并,等我写完倒序(有bug的,他还看都没看),面试官直接:你还有什么问题吗我没什么问题了。我也没写5分钟啊?

面完很快发感谢信,寄了。不会是KPI吧

#滴滴信息集散地##本周投递记录#
全部评论
mark,下周一面
1 回复 分享
发布于 04-26 00:08 上海
我擦 同部门
1 回复 分享
发布于 2023-08-16 16:29 上海
有实习有项目有背景也刷啊,太哈人了
点赞 回复 分享
发布于 2024-05-07 13:40 上海
师兄 你的nosql的项目具体是啥
点赞 回复 分享
发布于 2023-08-24 09:15 上海
能加一下好友吗老哥
点赞 回复 分享
发布于 2023-08-19 13:58 吉林
哪儿的base,有笔试吗
点赞 回复 分享
发布于 2023-08-19 13:54 吉林
现在存储岗问的内容都更偏数据库方向一些么
点赞 回复 分享
发布于 2023-08-19 11:19 福建
我去,问你的这些存储引擎的问题对于存储岗位而言是常规的吗?还没面过存储岗位。
点赞 回复 分享
发布于 2023-08-18 21:36 湖北
佬,什么岗位
点赞 回复 分享
发布于 2023-08-18 12:30 广东
老哥三面了吗?我是同岗位
点赞 回复 分享
发布于 2023-08-18 09:06 北京
存储和数据库内核相关的都好难,岗位也少
点赞 回复 分享
发布于 2023-08-16 16:45 上海
问的东西也太难了吧
点赞 回复 分享
发布于 2023-08-16 15:10 陕西
现在基本是手撕有点问题就寄 撕出来聊的有点瑕疵也寄😅
点赞 回复 分享
发布于 2023-08-16 11:45 北京

相关推荐

2025-06-25 投递2025-07-01 ai面2025-07-14 一面一面:我有问过身边几个朋友最近小鹏的面经,都和我完全不一样,经历仅供参考。无八股无手撕,无压力面,纯项目。约的晚上很晚的时间,总时长40min。首先说我内容做的很详细,但全篇只问了我第1个项目的事情。问题1:你在这里面的担任,做了哪些工作我脑子抽抽,滔滔不绝讲了10min,背景、创新、方法全讲了一遍。面试官没有打断。问题2:左右相机建立的点怎么判断是同一个追问:在候选角点密集且有噪声的情况下,如何确定一对一对应,以便进行后续优化。追问:如果共识区只取一半参与计算,那和中间重叠的部分就会被排除,导致原本应有的 overlap 消失。追问:如果左右分开管理,可能会出现一边优化得很好,到另一边由于边缘等因素优化质量较差的问题。回答:把我问住了,我的设计确实没有很好的考虑这个点,只是实现了预期功能,没有更深一步考虑追问:特征点在转移到另一个相机后位置发生明显偏移,你会调整这个位置,还是等最后的大BA统一优化?回答:没有专门在这一步进行调整,处理方式比较简单,确实可能存在优化空间。问题3:角点不明显的场景也有改善?回答:虽然没有这方面内容,但我没直接说,而是拿了一部分之前的工作往这方面的东西去靠。我的方法两相机视角差别大,特征点的匹配效果不好,做过这个问题的相关研究。文章的创新点里也考虑了这部分内容问题4: C++ 多线程和内存方面的了解(不算是“考”八股)回答:底层理解不深,但平时会用到,比如基于开源算法时会参考已有的互斥锁等资源保护做法,我本身在效率和内存上没有做特别多优化问题5:平时调试的逻辑回答:分模块逐步修改,边改边测中间结果,避免一次性大改造成混乱。提取核心功能写 demo 单独验证,通过再整合进系统,并举了替换描述子的实际例子说明。追问:c++这样的话还是比较麻烦,要是Python的话会简单回答:我笑着说是,然后又简单讲了一个虽然工作量很大,但也能做到的例子他笑着跟说,经常Python10分钟就搞定,c++写几个小时,最后一跑起来还挂了😂最后 HR 认真介绍了他们部门在做地图相关工作,我顺势问了自动驾驶的趋势,聊到了端到端和传统方案。大同小异,端到端为主,传统方法更多起兜底作用。考虑到时间太晚就没有问别的。结果大概两天内出,后续还有一次技术面和主管面。整体感觉很好,面试官态度很友好,也是这段时间唯一一个夸过我的HR。
小鹏汽车一面43人在聊
点赞 评论 收藏
分享
评论
10
50
分享

创作者周榜

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