滴滴二面 C++ 复盘

今天整理了一下滴滴二面的整体流程和高频考察点,明显能感觉到二面和一面的区别还是很大的。

一面更偏基础和项目经历的初步了解,二面则会继续深挖项目细节、工程思维、技术选型、问题定位能力,以及 C++ 核心知识和手撕代码能力。很多题目表面上不难,但如果项目细节不熟、底层原理说不清、回答不够结构化,就很容易卡住。

这篇复盘主要把这次面试中出现的题目整理出来,方便后面继续针对性准备。

题目

  1. 介绍一下你参加过的竞赛,遇到的最大挑战是什么?
  2. 竞赛项目中你是如何做技术选型的?为什么选这个方案而不是其他方案?
  3. 你的项目中是如何保证代码质量和可维护性的?
  4. 项目中遇到过内存泄漏或崩溃问题吗?你是怎么定位和解决的?
  5. C++ 虚函数的底层实现原理是什么?虚函数表是如何工作的?
  6. std::move 和右值引用的本质是什么?什么时候用移动语义?
  7. epoll 的 ET 模式下如何正确处理读事件?为什么必须循环读到 EAGAIN
  8. MySQL 事务的四个隔离级别分别解决了什么问题?InnoDB 默认是哪个?
  9. 手撕:实现一个线程安全的单例模式
  10. 手撕:实现 LRU 缓存,要求 getput 都是 O(1)
  11. 手撕:手写快速排序,并说明平均和最坏时间复杂度
  12. 你对自己未来 3 年的职业规划是什么?为什么选择滴滴?
  13. 如果让你重新做竞赛项目,你会改变哪些决策?

更多C++大厂面试八股文都整理在专栏了:

https://www.nowcoder.com/creation/manager/columnDetail/Mq7XWW

总结

这轮面试整体上还是很典型的“大厂二面风格”:项目要能深挖,基础要能讲透,手撕要写得出来,除此之外还会看候选人有没有反思能力和工程意识。

如果后面还要继续准备,建议重点放在这几个方向:项目经历结构化表达、C++ 核心原理、Linux 网络编程、数据库事务隔离、常见手撕题,以及职业规划和项目复盘类问题。

单纯会背八股不太够,最好是把每个问题都和自己的真实项目经验串起来,这样回答会更自然,也更有说服力。

全部评论
这投的什么岗啊?
点赞 回复 分享
发布于 04-24 01:02 重庆
感觉问的还行啊
点赞 回复 分享
发布于 04-23 19:00 北京

相关推荐

面试时间:4.24下午6点55 时长23min今天中午接到的面试短信,说实话我根本没想过能够过tme的二面,因为我二面面的太烂了,可能是运气好吧,也可能是tme在养鱼排序吧,不管了,希望能过吧,感觉tme很喜欢问性能指标之类或者比较偏的知识点,我对这方面本身就不怎么熟,挂了也能接受吧1. 介绍一下项目里你觉得最有难度的点是什么(依旧虚拟列表)2. 你平常学习前端开发主要是自学,还是参加培训3. 你有做过自己的开源项目或者参与过开源项目研发吗4. 讲一下你后台管理系统里大文件分片上传的完整流程5. 计算文件 hash 本身是强 IO 操作,可能会导致卡顿,你会怎么优化6. 如果想在 Web 里嵌入 C++ 的逻辑,一般会用什么方式7. 你了解 WebAssembly 吗8. 你接触过 C++ 或端侧 App 开发吗9. 如果让你实现一个快速排序,你会怎么做10. Web 端常见的持久化机制有哪些11. TCP 和 UDP 有什么区别12. HTTP/1.1 和 HTTP/2 的区别是什么13. HTTP/2 和 HTTP/3 的区别是什么14. Web 上实现动画一般有哪几种方式15. 你了解 Canvas 吗16. 你对 Web 性能指标了解多少17. 如果要评价一个页面快不快、用户体验好不好,你会看哪些指标18. 如果发现页面性能有问题,你一般会从哪些方向分析19. 你实际项目里有遇到过性能问题吗,怎么解决的20. 反问
查看19道真题和解析
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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