
Waymo MLE 面试节奏还挺直接的,建议不要完全按 HR 说的流程准备,因为具体问什么还是看面试官。
Waymo mle 第一轮
面试一开始是很简短的自我介绍,简历没有被特别深挖,很快就进入 coding。
第一题是给定 n 对括号,生成所有合法的括号组合。核心就是回溯,加上左右括号数量的剪枝约束。
第二题是给一个一维数组,不能选择相邻位置,求最多能拿到多少收益。其实就是打家劫舍这一类动态规划题,后面可以顺手做空间优化。
Coding 写完之后,面试官开始追问 ML 相关问题,主要集中在偏好优化和 RAG:
- 对比 DPO、ORPO、KTO 这三种无模型偏好优化方法,它们的核心差异是什么?
- RAG 里检索召回失败的常见原因有哪些?分别有什么解决办法?
Waymo mle 第二轮
这次的面试官是个中国人,非常好说话,前面还是相互自我介绍+bq, 可能由于是同胞面试官问的问题挺简单的,整个过程用了差不多15min左右,之后是八股,结束后就是coding部分了。
八股
从一个论文中截取了其模型的参数以及训练参数:
- Transformer模型: 32layers, 32 heads(64 dimension), used rotary embedding with dim 32
context length 2048, used flash-attention to speed up - Training details: random init, fixed learning rate, weight decay 0.1, optimizer: Adam, momentum 0.9,0.98, epsilon 1e-7; use fp16 with DeepSpeed ZeRO Stage2. Batch size 2048, train for 150b tokens
提问:
- head是用来干什么的? multi-head是什么, 写一下相关的公式. 还有什么别的attention method?
- rotaty embedding是什么? 还有别的什么 embedding 方法? rotaty embedding属于你提到的哪个?
为什么用rotaty embedding, 好处是什么? - 如何处理 long distance context?
- Flash-Attention是什么?
- 为什么用 Adam, 提到的三个参数都是什么意思?
- 为什么用fixed lr 而不用warm-up?
- weighted decay是什么?
- fp16是什么,还有别的什么精度数吗?
- DeepSpeed ZeRO Stage 2是什么
Coding
这次的题目是一道经典的leetcode 126,这题不难,之前做过类似的,题目要求在给定 beginWord 、 endWord 和 wordList 的情况下,找到从 beginWord 到 endWord 的所有最短转换路径,转换规则为“每次只能改变一个字母,且转换后的单词必须在 wordList 中”。
思路:先用 BFS 从 beginWord 出发,计算每个可达单词到起点的最短距离,并记录到 dist 里。这样可以先确定最短路径的层级关系。
然后再用 DFS 从 beginWord 回溯搜索所有路径。搜索时利用 dist 剪枝,只走那些距离刚好比当前单词多 1 的下一个单词,保证路径始终沿着最短路径方向前进。等走到 endWord 时,就把当前路径加入结果。这样就能找出所有最短转换路径。
Waymo mle 第三轮
这轮是一道场景题,场景大概是:Waymo 的车周围有很多 agents,比如其他车辆。现在给你这些 agents 之前几个 timestamp 的位置信息,以及周围环境信息,比如道路、车道线、交通状态等,再加上训练数据里的真实轨迹,问你怎么预测这些周边车辆未来两个 timestamp 的位置。这里要预测的是别的车,不是 Waymo 自己的车。
我的思路是把它当成一个 trajectory prediction 问题来建模。输入可以包括每个 agent 的历史轨迹、速度、朝向、相对位置,以及地图环境特征。模型上可以用 Transformer 或者 attention-based encoder,把不同 agent 之间的交互关系建进去,再用 decoder 输出未来两个时间点的位置。
后面面试官会继续追模型细节,比如 MHA 是什么、为什么 attention 适合建模多车交互、怎么融合地图信息等。比较难的一个追问是训练和推理不一致的问题。我当时说训练时可以用 causal mask,每一步只能看到之前的信息来预测后续轨迹。但面试官继续追问:训练时你看到的是 ground truth 历史轨迹,而 inference 时模型拿到的可能是自己前一步预测出来的结果,这就会产生 train-test mismatch,也就是 exposure bias。这个点需要考虑,比如用 autoregressive rollout、scheduled sampling,或者直接一次性预测未来多个 timestamp,来减轻推理阶段误差累积的问题。
如果你也在准备 Waymo、TikTok 或其他内容平台的公司 VO,建议多练带实际业务背景的题目。Interview Aid 目前提供北美 CS 真人辅导、OA 辅助 、Coding Interview 助攻、VO 面试陪练、简历优化包装以及高频真题整理,对校招和社招阶段的准备帮助都挺大。
祝大家早日拿到 Offer!