前 FAANG,最近走了 McKinsey 的 system design 面试,岗位是在他们内部平台团队的一个 Staff 对标 SWE 角色。分享一些笔记,因为我当时几乎找不到任何具体信息。
先说:McKinsey 不叫 L5 或 IC4。他们内部有自己的一套职级体系,但对外的 title 是「Senior Software Engineer」。从面试过程里的交流来看,大概对应 FAANG L5/E5 的 scope 预期。
形式:60 分钟,一个面试官,是 McKinsey 的 principal 级别工程师。没有白板,用的是共享 Google Doc。他们明确说 doc 只是为了沟通,不会因为排版工整与否扣分。
我抽到的题:设计一个近实时的 analytics 平台,让顾问可以跨客户项目查询 engagement 数据。需要考虑多租户、客户间的数据隔离(考虑到 McKinsey 的保密需求这点很明显)、延迟目标,以及 schema-on-write vs. schema-on-read 怎么取舍。
客户保密这个角度我觉得是刻意的。他们想看你能不能主动把它当成约束提出来,而不是等他们提示。我提了,然后引出了大概 15 分钟关于安全架构的讨论。
他们在看什么: 你来主导讨论。他们不会把需求一勺一勺喂给你。 权衡要讲出来。说为什么,不只是说做什么。 领域约束(他们这边是:顾问的工作流、多租户、审计链路) 粗略容量估算。不需要精确,但要能看出你做过。
让我意外的点:面试官是真的好奇,不像拿 checklist 打分。他对我的一个选择提出质疑,我们就纯粹在进行工程辩论。比我经历过的一些 FAANG system design 面试更不“表演”。
整体反馈大概 5 天就回来了。他们说所有轮次结束后 debrief 会很快。