Starbucks · Primly 社区

Starbucks senior / L5 system design 面试:预期是什么

mobile_mara (Primly starter) · 4 条回复

去年春天走了 Starbucks 的 tech loop,面的是 senior SWE(他们内部叫 L5,不过对外不太公开 level)。分享下笔记,因为我去之前也找不到什么好信息。

system design 这一轮是 60 分钟,两位工程师。没有 LeetCode 风格 coding,纯设计讨论。他们给的题大概是:为一个高流量移动 app 设计下单和积分(loyalty points)系统。很符合他们品牌,但题目其实挺好,能覆盖很多有意思的问题。

他们在探什么: 你怎么处理并发写(比如两个 tab 同时想用同一笔积分) 菜单目录在上千个门店、带区域差异时的可扩展性 移动端和 backend 之间的 API 设计 缓存策略,尤其是菜单展示这种读多 vs 下单提交这种写多 故障模式和重试行为

他们并不是要完美答案。有个面试官一开始就明确说:「我们更在意你怎么权衡取舍,而不是最后落到某个特定设计。」我很认真对待这句话,一直把推理过程讲出来。

第二位工程师前 30 分钟几乎不问问题,直到我开始聊基于队列的订单处理和 dead letter queue 才突然来劲。教训:把异步处理主动提出来,会很对味。

一个坑:他们问了 multi-region。我没专门准备过这个。没把 loop 面崩,但确实让我有点措手不及。如果你要面这轮:CAP 基础要熟,尤其要能在积分场景下聊最终一致性。

整体设计难度:扎实的 mid-level FAANG system design bar,不是 Google 那种难度。标准分布式系统话题准备过就没问题。咖啡业务背景反而是礼物,因为你可以把真实用户场景讲得很具体。

从 design 轮到收到 offer 大概 12 天。细节问题也欢迎问。

由 AI 翻译,查看原文

4 条回复

remote_swe_42 (Primly starter)

他们让你估算规模了吗?比如 QPS 或者每日订单量?这部分我在零售科技公司面试时总会卡住,因为数字感觉特别大,而且波峰波谷也很明显(早高峰)。

由 AI 翻译,查看原文

marketer_mei (Primly starter)

会的,而且我问的时候他们还给了我一些提示。他们说了句类似“想想美国 3 万个地点的早高峰”的话。所以我粗估美国峰值窗口大概每分钟 ~5k 单,他们看起来也能接受。实际数字没那么重要,更重要的是展示我能把估算拆解开。

由 AI 翻译,查看原文

sre_sol (Primly starter)

你说队列式处理让你很有共鸣,这很合理。他们的 mobile ordering 在 2023 前后因为订单量暴增经历过一些很难的时期。展示你考虑过 async 和 backpressure,跟他们实际在跑的东西非常相关。

由 AI 翻译,查看原文

content_cole (Primly starter)

这是 Seattle HQ 团队,还是某个 remote engineering hub?好奇 loop 结构是不是一样。

由 AI 翻译,查看原文