Skip to content
暂无相关贡献者

Uber Scientist 面试经验

发表于 2025-11-21
更新于 2026-01-17
阅读量 加载中...

Delivery Logistics 组 · Switchback + Guardrail 翻车案例)

面试过程

面试流程概览

  • Round 1:Coding + Experiment Design
  • Round 2:BQ + Case(重点:Switchback、Guardrail、Metrics)

各轮面试内容与细节

第一轮:Coding + Experiment Case

面试官背景是 Econ,聊天气氛算轻松。

(1) Coding:LC Easy(移动 0)

题目大概是:

把 list 中的所有 0 移到末尾,保持非 0 元素的相对顺序。

我先把两种思路说了,然后写完第一种,最后讲了下 time/space complexity。
整体过关。

(2) Experiment Design:Randomization + Synthetic Control

我解释了为什么 randomization 做不了,接着提出 synthetic control。
对方继续追问 donor pool、matching、bias 等,我都能答上来。
第一轮算顺利结束。

第二轮:BQ + 深入 Case(Switchback + Guardrail,我的死亡现场)

这一轮面试官说话快得离谱,我几乎是一路狂奔着答。

(1) Surge Pricing 的 Causal 验证

我先讲 randomization 不可行,然后提出了 synthetic control 和 switchback。
他听到 switchback 之后立刻说:“那很好,我们就深入这个。”

(2) Switchback 基础(这一段我还行)

  • treatment/control 如何切
  • window 怎么选
  • washout 怎么设计
  • sample size 怎么定

这些我都有准备,我以为我能稳住局面。

我真正挂掉的地方:Guardrail Metrics(致命)

当我以为快结束的时候,他抛出关键一问:

“我们讨论了 key metrics,你说还有 guardrail。你准备用哪些 guardrail?”

我当时脑子一抽,说了几个:

  • satisfaction
  • total trips

他立刻指出问题:

“但我们是 switchback,全体都会轮换进 control 和 treatment。
long-term satisfaction 这种 metric 没法比较啊。那你怎么测?”

我一瞬间懵住了。

我尝试补救:

  • “那在 washout period 看?”
  • “或者实验后 vs 实验前?”

都被反驳:

“如果你只看 before/after,那就没必要用 switchback 了。”

这一刻我知道我大概没救了。

面试官真正想听的 Guardrail(我事后才发现)

后来我去翻社区讨论才知道:

Switchback 的 guardrail 必须是:

  • 短期可测
  • 在每个 window 里都能稳定算出来
  • 不被轮换机制稀释

例子:

  • driver acceptance rate
  • rider cancellation rate
  • abandoned rider requests
  • fill rate

也就是说:

  • 绝对不能选长期 satisfaction
  • 不能选跨周期 aggregate 指标

我当场没有说出这些,就是直接致命。

面试官反应与我的失败原因总结与建议

  • 他追问 guardrail 的方式非常 aggressive
  • 我的 guardrail 框架本质是错的
  • switchback 会让长期指标全部失效,这点我没有意识到

最致命的一点是:

我理解了 switchback,却没理解 guardrail 要“短周期可比较”。