滴滴 C++ 实习面经:一面狂扫底层基础,二面更像确认你和团队方向是否匹配
这篇滴滴 C++ 实习面经很有代表性,因为它把“算法落地 / 工程优化型团队”常见的筛法展示得很完整。
一面时长接近 1 个半小时,几乎把:
-
图像 / 机器学习背景
-
IO 模型
-
epoll -
指针 / 引用
-
对齐和
sizeof -
虚拟内存
-
编译流程、静态库 / 动态库
-
智能指针
-
移动构造
-
TCP / UDP
全扫了一遍。二面则明显收敛,开始看你和具体团队方向是否匹配。
校招大礼包获取:入口
可能是至今最全,最好,最实用的校招大礼包,减少信息差,预期漫步无敌的刷提,不如有的放矢,针对性的准备,这样才能有效备考,有了这份资料,不说100%拿到offer,至少帮你提升50%概率拿到offer
这篇面经适合谁看
如果你准备投 C++ 工程化、模型落地、偏底层优化的岗位,这篇非常有参考价值。
因为它展示的是一种典型的“不是纯后端,也不是纯算法,而是工程化落地岗”的面试风格。
面试流程速览
这位同学一共经历了两轮,最后拿到 offer。
一面的主要特点是:
-
电话形式
-
时间很长
-
题很多、很杂、很底层
二面则更像:
-
简单追问深度学习
-
问 C++11
-
问高并发项目
-
介绍团队工作内容
这说明滴滴这个团队前面主要在看你“够不够硬”,后面在看你“适不适合来做这个方向”。
一面在看什么
一面的题几乎覆盖了 C++ 工程岗的所有核心基础:
-
图像处理 / 机器学习背景
-
为什么用同步 IO 而不是异步 IO
-
多路复用和
epoll -
指针和引用区别
-
类对象
sizeof、静态成员、虚函数、对齐 -
32 位和 64 位区别
-
CPU 和 GPU 区别
-
虚拟内存和物理内存
-
进程 / 线程 / 进程通信
-
内存映射和共享内存
-
TCP 如何处理乱序和可靠传输
-
GCC 编译流程、静态库和动态库
-
Makefile
-
UDP 丢包怎么处理
-
智能指针、循环引用
-
拷贝构造和移动构造
-
算法:环形链表、兑换零钱
这轮最鲜明的信号就是:团队不怕你背景偏算法,但一定会要求你有很扎实的工程底子。
为什么这类一面会问到很多“交叉领域”问题
因为这类团队做的是模型落地和优化,不是纯算法,也不是纯业务后端。
所以它会天然关心:
-
你对 CPU / GPU 有没有概念
-
你对 IO 和多路复用有没有理解
-
你对编译、库、内存、对象模型是不是扎实
这就是典型的“工程化算法岗”画像。
二面在确认什么
二面的问题明显少很多,主要包括:
-
LSTM 一些简单问题
-
C++11 新特性
-
Web 高并发项目
-
团队具体工作内容介绍
这轮已经不再是高压扫底层,而更像在确认:
-
你的背景和团队是否匹配
-
你能不能接受偏工程化、偏优化的工作内容
原始面经里候选人最后也明确表示,这个部门做的是深度学习模型落地引擎,偏工程化,很喜欢这个方向。
这也解释了为什么这条流程最后转化得比较顺。
从这篇面经里能看出滴滴在筛什么
-
你的 C++ 基础是否够硬
-
你是否具备系统、IO、编译、内存方面的底层能力
-
你是否能把算法 / 模型背景转成工程落地能力
-
你和团队方向是否匹配
如果你准备这类岗位,这几块要重点补
-
epoll、同步 / 异步 IO、进程线程、虚拟内存这条系统线要很稳。 -
sizeof、对象对齐、虚函数、移动构造、智能指针这些 C++ 细节要补透。 -
CPU / GPU、模型落地、编译和库链接这些交叉工程知识别空。
-
链表、DP 这种基础算法题仍然要能顺手写。
最后提醒
这篇面经最有价值的地方,是它告诉你:想进这类模型工程化团队,光会算法不够,光会 C++ 也不够,得两边都像样。
更多推荐



所有评论(0)