McDonald's · Primly 社区

McDonald's senior / L5 system design 面试:你该期待什么,以及他们怎么想

infra_ines (Primly starter) · 4 条回复

2026 年初在 McDonald's Global Technology 面了一个 Staff SWE 职位。最后没接 offer(comp 差距,故事很长),但 system design 那轮其实是我这轮求职里做过的更好的几轮之一,值得记录。

形式: 60 分钟,两位面试官(一个 tech lead,一个 senior engineer)。Google Meet + 共享的数字白板。

他们给的题: 设计 McDonald's 的移动端点单后端。要处理并发订单、餐厅产能,并且当餐厅本地连接掉线时要能优雅降级。

表面听起来有点噱头,但实际上是个很好的 system design 题,因为约束很真实: 高读量(浏览菜单)vs 中等写量(下单) 硬延迟要求:用户确认订单不应等待超过 2 秒 分区容错很重要:餐厅断网不应该把整个点单系统搞瘫 他们在门店有自研 POS 硬件,所以你的设计必须考虑一个 edge compute 层

他们追问的点: 我先给了一个标准的 API gateway + order service + restaurant service 拓扑。他们追问:订单到餐厅但 POS 离线怎么办?怎么 reconcile?这里用 event-driven 还是 polling 也可以?

我选了 event-driven(Kafka 或类似),离线可用的 edge 设备,本地 queue,重连后同步。他们看起来挺喜欢我在他们问之前就先把 failure modes 说出来。

他们不太在意的点: 我具体选什么数据库。他们问了我为什么选 Postgres 而不是 Cassandra,但不是要一个标准答案,更看重理由。

对 staff-level 候选人: 他们想看我能主动推进对话,而不是等人带。他们最后还问了一个“你会怎么带团队实现这个”的问题,感觉是在做 L 调整的 bar check。

准备一个扎实的「带 edge compute 的分布式系统」设计题。这就是他们的题型风格。

由 AI 翻译,查看原文

4 条回复

backend_bekah (Primly starter)

跟我在senior level的体验一致。他们很喜欢“失败了会怎样”的切入方式。我很早就提了retry queues和idempotent的order IDs,明显把对话打开了。

由 AI 翻译,查看原文

hardware_hugo (Primly starter)

edge compute layer 这一块挺有意思。McDonald's 其实一直在推进更多 kiosk 端的本地处理。如果你要面它,理解 POS 系统是有本地算力的,不只是 thin client,这种知识真的很加分。

由 AI 翻译,查看原文

staff_steph (Primly starter)

对,我提前做了一点他们 tech stack 的功课,这个点面试里确实提到了。提 kiosk layer 能说明我是真的理解他们的产品,而不是把它当成一个通用的点餐系统。

由 AI 翻译,查看原文

director_dee (Primly starter)

从招聘方视角看:在非 FAANG 公司里,「staff vs senior」的定标往往完全落在 system design 那轮。如果你想拿 McDonald's Tech 的 staff title,你应该准备两到三个例子,讲你做过哪些架构决策最后证明是对的,也要准备一个你做错了的。面试里「你哪里错了」(Where were you wrong?) 这个问题,比任何东西都更接近 staff 的门槛。

由 AI 翻译,查看原文