上个月我刚通过 McKinsey SWE loop 的 coding 部分。给想知道怎么准备的人拆一下。
coding / online assessment 这块流程分两部分:
Part 1:Phone screen 前的 async OA。通过 HackerRank 发。90 分钟,两道题。我遇到的是: 一道滑动窗口(按 LeetCode 对标算 medium) 一道图连通性(也算 medium,如果追求最优解会更接近 hard)
平台自带基础 IDE。我用的是 Python 3。OA 更像过滤器,不是深度信号,因为后面的 phone screen 会现场再考类似内容。
Part 2:Onsite 期间的一轮 live coding。一位面试官,60 分钟,CoderPad。我拿到一道三段升级的题:先写 naive 解,再优化,然后加一个「如果输入分布在多个 shards 上怎么办」。第三段更多是在考你边想边讲,而不是让你真的实现。
整体难度:只要你 medium 稳,并且刷过一些树/图题,基本就没问题。我没遇到 hard。他们测试的是你能否在轻度压力下写出干净、可读的代码,而不是你背了 150 个套路。
他们特别关注的点:让我在写代码前先把逻辑讲清楚,不是写完再解释。面试官在我太快开始敲代码时会暂停我,说「能先把思路讲一遍吗?」值得记住。
接受的语言:Python、Java、JavaScript、C++。recruiter 事先确认过。
有一点要提醒:McKinsey 的技术面在不同 group 之间不完全一致。QuantumBlack 的 coding 流程最结构化。更接近核心咨询业务的团队可能 coding 更轻,甚至没有。尽早问清楚你具体面的是哪个 group。