滴滴C++一面复盘

这场滴滴C++一面整体问得很杂,但又不是那种完全脱离项目的八股拷打,更多是基础题穿插项目追问

前面会先看你的计算机基础和C++功底,后面再结合项目去问设计、优化、排查和取舍。整体感受就是:范围广,节奏快,很多题都能继续深挖。

我自己的感受是,面试官比较看重你是不是真的理解,而不是只背过答案。

进程线程、Reactor、epoll、HTTPS、MySQL索引、内存池这些题,如果只能说定义,很容易就被问住。

另外项目一定要熟,不然后面问到性能优化、技术选型、线上问题排查时,会比较难接。

这场面试大概问了这些题:

  1. 进程与线程的区别是什么?
  2. C++11 协程的用户态线程是怎么实现的?
  3. 什么是 Reactor 模型?
  4. Reactor 模型底层是如何实现的?
  5. IO多路复用中 epoll 上层有哪些封装?LT 和 ET 的区别?
  6. 负载均衡中如何用 Round Robin 实现带权重的任务分配?
  7. 操作系统内存淘汰算法有哪些?随机淘汰有什么好处?
  8. STL 中 unordered_map 和 map 的区别?性能和内存如何?
  9. C++ 智能指针有哪些?Qt 信号与槽的底层原理是什么?
  10. MySQL 聚簇索引、覆盖索引、二级索引是否需要回表?
  11. MySQL 深度分页问题如何解决?
  12. 实现路由匹配应该用什么数据结构?
  13. HTTPS 握手过程和 TLS 报文解析是怎样的?
  14. 内存池的分配算法是什么?为什么这样设计?
  15. 跨域问题是什么?简单请求和非简单请求如何区分?
  16. 讲一下你的项目背景和业务场景。
  17. 你在项目里具体负责了哪些模块?
  18. 项目里最难定位的问题是什么?
  19. 你做过哪些性能优化?
  20. 你们项目里是怎么保证高可用的?
  21. 如果线上接口延迟突然变高,你会怎么排查?
  22. 为什么要做这样的技术选型?
  23. 如果让你重构当前项目,你最想改哪一块?
  24. 你觉得自己项目里最有价值的一次优化是什么?

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

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

总结下来,这场面试准备重点还是这几块:

操作系统基础网络编程C++常用原理MySQL优化项目表达能力

如果后面还要继续准备这类岗位,我会更建议按模块去复习,而不是零散刷题。

因为滴滴这种问法,很多时候不是问你“会不会”,而是看你能不能把一个知识点讲完整,再和项目经验连起来。

全部评论

相关推荐

评论
1
2
分享

创作者周榜

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