4 月我走完了 Lyft 的 final loop,投的是 ML engineer。虽然是线上,但他们叫它 “onsite”。下面按 SWE/ML 的视角拆一下。
轮次结构(总共 5 轮): Coding 1:算法题,45 分钟 Coding 2:更实用/偏应用,45 分钟 System design:1 小时 Behavioral:45 分钟 Hiring manager chat:30 分钟(不完全是打分轮,但他们可以标记疑虑)
轮次通常分两天半天,或者一天全做完。我当时一天连着做,真的很累。可以问 recruiter 能不能拆开。
Coding 两轮: 第一轮是图题。第二轮他们叫 “practical coding”,算法味更淡,更像写干净的生产代码。比如:给你一个数据结构,让你为它写一个 API,包含合理的错误处理和几个方法。这轮有点像 code review。他们在意 edge case、命名、清晰度,不太在意大 O 优化。
System design: 我另开帖写过。偏实时或 marketplace 相邻的问题。进面试前要搞清楚 Lyft 的业务到底怎么运作。
Behavioral: 三道问题,深挖。他们不是走 checklist,而是在追问。我提到一次组织冲突后,那一题就扩展成了 25 分钟的对话。
HM chat: 更偏聊天。我 HM 问我觉得 Lyft 的 ML 挑战里最有意思的是什么、我前 6 个月想做什么、以及我对团队有什么问题。不是陷阱轮,但也别梦游着过。准备一些关于具体工作的真问题。
Calibration 和时间线: 他们说 loop 结束 2 天内会 debrief。我在 3 个工作日后收到 recruiter 的反馈。口头 offer 后,细节又花了 4 天。OA 到 offer 总时长大约 6 周。
整体:流程组织得很好,面试官都准备充分,没有人想耍小聪明或挖坑。最难的部分就是一天内量太大。