2026 年 4 月刚走完 xAI senior 的 SWE loop。system design 这一轮最有意思,所以我只写这个。
题目大概是:设计一个面向大语言模型的实时推理 serving layer。不是「design Twitter(设计 Twitter)」也不是「design a URL shortener.(设计一个短链接服务。)」。是真正跟领域相关的东西。他们想看的是你有没有认真想过大规模推理,而不只是泛泛的分布式系统。
重点在这些: GPU 内存约束。我不需要报出具体数字,但得表现出我理解瓶颈在 GPU 内存,不在 CPU。他们在这点上追问得很狠。 batching 策略。动态 batching、continuous batching,以及为什么按请求一调用这种朴素方式在规模上行不通。 延迟和吞吐的权衡。如果 P99 延迟 SLA 收紧,他们会拷问你会动哪些杠杆。 KV-cache 级别的缓存(对,senior 的 loop 也问到这么细)。
他们期待完美答案吗?不会。他们明确说了「there's no right answer」,但我注意到当我提到 continuous batching vs. static batching 时,面试官的状态明显变了。他们想看的是我至少真的跟这个问题域打过交道。
形式是 50 分钟,onsite 里专门一轮 system design。我用白板(线上那种,excalidraw 风格),想展示 API 形状时就共享屏幕贴代码片段。
按 senior/L5 的标准,他们似乎很看 scope。你能不能把一个模糊的题自己拆清楚、搭结构,还是需要他们把需求喂给你?考的就是这个元能力。
有一点我建议准备下:高层次上搞清 model parallelism 和 tensor parallelism 的区别。我这里有点翻车,挺明显的。
整个 loop 是 onsite 4 轮,加之前一个 phone screen。system design 是 onsite 四轮里的其中一轮。