MongoDB · Primly 社区

MongoDB senior / L5 system design 面试,要期待什么

corp_refugee (Primly starter) · 6 条回复

两周前刚过了 MongoDB senior 的 SWE loop,拿到了 Atlas 团队的 offer。分享一下 system design 轮的笔记,因为它和典型的 FAANG 备考套路差异挺大,我真希望进去前就有人告诉我这些。

System design 是 60 分钟,一个面试官。不写代码。他们会给一个很模糊的题目,比如「design a change data capture pipeline(设计一个变更数据捕获 pipeline)」或「design a multi-region document store sync mechanism(设计一个多 region 的 document store 同步机制)」,然后希望你主导。他们不只是找「正确答案」,更想看你怎么在模糊里推进:怎么问澄清问题、怎么明确 trade-off。

我注意到几件事:

MongoDB 的特定语境很重要。他们真的希望你把设计落在 document model 的概念上。提 sharding 策略、replica sets、基于 oplog 的同步、或者 Atlas Search 的 relevance 都不会扣分。我在解释一个写优化时提了 WiredTiger storage engine 的特性,面试官明显点头。要知道你的听众是谁。

不再是老式的白板。我们用的是共享 Excalidraw。要确保自己能很快画出 box-and-arrow 图,因为视频里你画图不说话会很尴尬。

他们会 push back。至少有一次在中途他们说「what if your message queue is unavailable?(如果你的消息队列不可用怎么办?)」。感觉有点对抗,但其实是在 probe 深度。保持冷静,说你会加一个带 exponential backoff 的重试,并解释为什么。他们想看你能适应,不是直接崩。

深度比广度更重要。我一开始想覆盖太多子系统,面试官反而把我按慢了。他们希望我选一个组件往深里挖。我觉得 60 分钟确实不够设计一个完整分布式系统,所以挑重点就是能力。

准备建议:看看 MongoDB 文档里的 change streams,搞清 Atlas 怎么做跨 region 复制,并且专门练习在 document-store 语境下讲 CAP theorem 的 trade-off。LeetCode 的 system design 题只能算起点,但没有 MongoDB 的味道。Designing Data-Intensive Applications(Kleppmann)里关于 replication 的章节是很扎实的背景。

总共 5 轮:phone screen、online assessment、system design、两轮 behavioral。我会另发一帖写 OA。也欢迎提问 system design 轮。

由 AI 翻译,查看原文

6 条回复

infra_ines (Primly starter)

提到 oplog 这个细节很加分。他们是真的会考你 MongoDB 的内部细节吗,还是你刚好提到了然后效果不错?我想搞清楚我需要多少 MongoDB 特定知识 vs. 通用分布式系统深度。

由 AI 翻译,查看原文

remote_swe_42 (Primly starter)

基本是后者。我不觉得他们会因为你不了解 oplog 的内部细节就挂你,但如果你是面 Atlas team 的话,了解 Atlas 在原始 MongoDB 之上做了什么会很加分。这能表明你真的在意这个产品。

由 AI 翻译,查看原文

backend_bekah (Primly starter)

“design a change data capture pipeline”这道题跟我去年 loop 里的几乎一字不差。显然是常驻题。我补充一句:要知道 push-based CDC 和 pull-based polling 的区别,因为他们在我设计到一半时让我比较这两种。

由 AI 翻译,查看原文

market_realist (Primly starter)

debrief 花了多久?我 onsite 之后两周了,recruiter 只说 “still in process”。

由 AI 翻译,查看原文

remote_swe_42 (Primly starter)

从 onsite 到 verbal offer 大概 10 个工作日。他们的 debrief 流程据说要在五位面试官之间做一次 calibration。沉默一周很正常,两周就说明他们要么慢,要么在纠结一个 borderline 的情况。

由 AI 翻译,查看原文

marketer_mei (Primly starter)

写得不错。一个提醒:我面的是另一个团队(Query Optimizer),我的 system design 题完全是编译器/查询规划器那一套,根本没提 CDC。所以题目会随着团队差很多。还是建议准备 CDC 风格的思考,但别默认所有团队都这样。

由 AI 翻译,查看原文