我 3 月做了 Yelp 的 virtual onsite,一天 5 小时。我按轮次写一下,因为这就是我面试前在 Google 上一直搜的东西。
Round 1:Coding(45 分钟) 中等难度的图题。他们想看的是干净的代码,而不只是对的答案。我第一版解法有个很细的 off-by-one,我在讲解过程中自己发现了,他们给我空间当场改掉,也没有因此扣分。
Round 2:System Design(45 分钟) 和预期一样,是 search 相关的题,毕竟他们做 local search。我讲了 indexing、relevance ranking、以及读写分离。他们追问我怎么处理 business 数据(营业时间、临时停业等)的实时更新。这个点要准备一个具体方案。
Round 3:再一次 Coding(45 分钟) 这轮是产品模拟。设计并实现一个类似预订(reservations)的简化对象模型。比起纯算法更偏 OOP。这里 edge case 比原始速度更重要。
Round 4:Behavioral(45 分钟) 两位面试官一起。他们覆盖了 ownership(讲一个你从头到尾推动的项目)、冲突解决、以及失败经历。双面试官的形式让我感觉像是在 backend 做校准;他们可能在不同维度上拆分信号。
Round 5:Bar-raiser 风格 / cross-team(45 分钟) 来自另一个团队的人。问题更模糊:当需求在一个 sprint 中途变了你怎么办、怎么在多个 on-call alert 之间做优先级,之类的。
Debrief 和时间线: 我在 5 个工作日内收到结果。recruiter 说他们会等所有面试官提交 feedback 后再同步,然后由 hiring manager review。offer 没有 lowball,但 sign-on 也不算大。我用另一个 offer 做对比,把 base 多谈了 $12k。
整体感觉:面试官很专业,不残酷。一天很长,但他们安排了休息。我还会愿意再去面一次。