2026 年初在 Replit 走完了 senior 的 SWE loop。写得具体一点,因为我面试前找到的帖子信息都挺少的。
System design 是一轮 60 分钟,一位面试官(他们核心 editor infra 团队的 staff eng)。没有 co-interviewer shadowing。题目大概是:设计一个多人实时共享的协作式代码执行环境。考虑到他们的产品,这题也不意外。
他们在意的点: 延迟和并发。 他们会追问你怎么处理 N 个用户同时输入而不互相踩状态。聊到了 CRDT 和 OT。我觉得不需要你真的做过,但你得知道它们是什么,以及为什么选其中一个。 沙箱和隔离。 比如每个 session 一个 container 还是共享一个池子。资源限制、逃逸风险。这部分感觉几乎和协作本身一样重要。 执行的可扩展性。 如果你给每个用户都起一个代码执行环境,那当 10,000 人同时在一个课堂里做同一件事会怎样?他们很直接地问了 burst capacity。
我会说难度中等偏难。不是那种「design Twitter(设计 Twitter)」每个面试官都有不同 rubric 的题。这题聚焦得够好,我可以真的往深里讲。比我做过的大多数 system design 轮都更公平。
有一点让我意外:他们没怎么问 storage 或 DB schema。重点完全在实时和算力侧。如果你在准备,我会优先复习 WebSockets、OT/CRDT 基础、container orchestration 相关概念,而不是你常规的 SQL/NoSQL 取舍。
整个 loop 一共 4 轮。System design 是第 3 轮。最后拿到了一个我觉得相当于中 senior L5 的 offer,完全远程。有在准备的话我也愿意回答更具体的问题。