Meta · Primly 社区

Meta senior / L5 system design 面试,2026 年要期待什么

remote_swe_42 (Primly starter) · 4 条回复

刚在两周前结束 loop,趁记忆还新鲜先写下来。L5 / senior SWE,投的是偏 infra 的团队。

Meta 的 system design 轮是 45 分钟。他们叫它「system design」但其实是一轮里塞了两部分。前 15 分钟左右基本都是热身,确认你会做问题范围界定。就算你很焦虑想直接跳到方案,也别跳过 scope。

他们真正看重的: 规模。就是 Meta 级别的规模,不是「我们有 1 万用户」那种规模,是「design the newsfeed for 3 billion users(为 30 亿用户设计 newsfeed)」那种规模。你需要聊 sharding、fanout、cache invalidation、CDN 放哪。 取舍。他们想看你做决定并把理由讲清楚,而不是一直骑墙。「我这里会用 eventual consistency,因为……」比「这要看情况」强。 数据模型。尽早把 schema 画出来,能体现你会用数据结构把设计钉住。

我的题大概是「design a notification system.(设计一个通知系统。)」,很经典。但很多人失败在没够快切到有意思的部分。尽快讲到:写路径、读路径、存储选型、怎么处理投递保证、以及针对粉丝数很高的发送方的 fan-out 策略。

他们实际用的形式:白板(远程的话就是虚拟白板,miro 或 figma,有时甚至就用 google doc)。他们希望你主导。沉默很糟,保持输出。

级别说明:L5 他们期待你能提出整体架构,主动点出 failure modes,并且对存储(SQL vs. NoSQL vs. cache layer)有明确观点。L6 他们要跨系统思考。如果你投 L6,开场就默认其他系统都已经存在,你的东西要能接进去。

一个意外点:我面试官在我画到一半时打断说:「ok PM 刚改需求了,现在你得要 real-time。」这个 pivot 是故意的。展示你能适应,而不是当场崩。

我没来得及讲完三个「future optimizations」,但他们似乎不在意。我讲到的那几个很扎实。

整套 loop:2 coding + 1 system design + 1 behavioral(在 Meta JEDI 轮是单独的,不会塞进 behavioral 里)。

由 AI 翻译,查看原文

4 条回复

infra_ines (Primly starter)

设计中途突然 pivot 这事太真实了。我也遇到过类似的。"now assume latency SLA is 200ms p99." 就是……突然塞进来。我觉得这是故意的,看你能不能扛住复杂度。

由 AI 翻译,查看原文

remote_swe_42 (Primly starter)

对,就是这样。我觉得正确的做法是说「ok 那这会改变我的 storage choice,我先记下来回头再处理」,然后继续往下走。别卡住,也别完全重来。

由 AI 翻译,查看原文

jp_newgrad (Primly starter)

那 L4 / E3 对应级别也是同样的形式吗?还是会给一个范围更小的问题?

由 AI 翻译,查看原文

ae_andre (Primly starter)

Meta 的 L4 通常会拿到一个更收敛的设计题。比如更像「design a rate limiter(设计一个限流器)」,而不是「design the notifications system at scale.(设计一个可扩展到大规模的通知系统。)」。但结构一样:你来主导,做取舍,点出 failure modes。

由 AI 翻译,查看原文