OfferForge 导师 Dr. W. — 博士毕业,前 FAANG Senior MLE。研究方向为大规模分布式机器学习系统,曾在顶级国际学术会议发表多篇论文。负责团队学术方向把控与 MLE 面试辅导。
OfferForge 导师 Dr. S. — 前大厂 Senior SDE,精通分布式系统与大规模数据处理。曾在顶级技术会议发表多篇技术报告,专注于系统可扩展性与可靠性。负责课程体系设计与 System Design 面试辅导。
OfferForge 导师 Dr. L. — 前大厂 Senior SDE,深耕分布式系统与微服务架构。在服务治理、事件驱动架构方面有丰富实战经验。负责求职策略制定与 SDE 面试辅导,已帮助多位候选人斩获 Senior 级别 Offer。
先说结论,少数会考,但不多,然而趋势在上升。在大多数公司,NG 的面试主要集中在算法、数据结构、代码实现和基础的计算机系统知识上,因此很少会设置完整的系统设计环节。对于像 Google、Meta、Amazon 这样的大厂,ng的考核更强调基础能力和编程功底,系统设计往往是从 L4/L5 之后才会被正式考察。
但这个规律并不是绝对的。一些以data infra或分布式平台为核心业务的公司,例如 Databricks、Snowflake、Stripe、Coinbase,可能会在 NG 面试中加入简化版的SD题。这类题目不会要求candidates 完整设计一个分布式大系统,而是测试候选人是否具备工程直觉,能否从零到一地构思出一个合理的小型服务。这样的设置更多体现了岗位和公司业务的特殊性,因为他们希望NG一入职就能在系统层面快速上手。
NG 面试里的系统设计,题目规模相对较小,通常是一个单一服务或者一个核心组件的设计。例如让候选人设计一个短链接服务、一个限流器、或者一个简单的 feed API。考察的重点不是系统的复杂度,而是候选人能否清晰地表达思路,把需求拆解成几个核心部分,并且能够用合理的数据模型和 API 来支撑实现。在这个阶段,面试官更关注候选人的基础功。比如是否能正确区分功能需求和非功能需求,是否能想到缓存、数据库索引这样的基本优化手段,是否能够在时间有限的面试里画出一个足够合理的架构草图。换句话说,NG 的 system design 是在考察“能不能造出来”,不要求完美,但至少要清楚、合理、有工程思维。
当候选人进入 mid/senior 级别时,系统设计环节的难度和深度会大幅提升。这个层级的题目往往是端到端的复杂系统,比如设计一个全球分布的消息队列服务、设计 YouTube 的推荐系统、或者设计类似 Ticketmaster 的购票和库存系统。在这种场景下,面试官不仅希望看到候选人能梳理需求、建模数据库和 API,还需要对大规模分布式系统的特性有深入理解。扩展性、容错性、数据一致性、流量高峰下的瓶颈、系统监控和演进路线,都可能是面试中深入追问的重点。这个阶段更强调 trade-off 的把握,比如在一致性和可用性之间如何平衡,什么时候使用分布式锁,什么时候使用缓存和消息队列,以及如何在团队协作中逐步演进架构。
可以说,NG 的系统设计题是对基础能力和思路清晰度的考查,而 mid/senior 的系统设计题则是全面检验候选人是否能够胜任大规模复杂系统的设计和落地。