我申请并面了 Bain 的一个 frontend 岗位。不是咨询岗,是他们内部的产品工程团队,做 Bain 面向客户的工具和内部平台。是真正的产品团队,我进去之前也不太确定。
下面是流程:
Recruiter screen:30 分钟,常规。她很坦诚地说 Bain 的 eng 团队比 FAANG 小,但影响力很高,因为每个工具都直接服务咨询项目。这个卖点确实挺能打。
Technical round 1:React/JS 基础 他们发了一个小的 take-home:做一个带异步数据的筛选和排序 table 组件。没有强制具体框架,但因为他们的技术栈就是 React,所以默认用 React。我大概花了 2.5 小时。他们在乎的点:可访问性(反馈里提到了 aria attributes)、错误状态处理、以及不要过度设计。review 的人明显是真的看了代码。
Technical round 2:Live coding + systems 一次 live coding(debug 他们给的 React 组件,里面有一些 state management 的 bug),然后一道设计题:如果要做一个实时 dashboard,在客户会议中 consultant 录入数据时能即时更新,你会怎么做?我讲了 WebSocket vs polling、state normalization、optimistic updates。他们对 offline 处理也追问得挺到位。
Behavioral + culture fit 两道 behavioral,和一个 hiring manager。其中一个基本就是“讲一次你 push back 一个产品决策,结果如何”。另一个是和非技术 stakeholder 合作的经历。这轮比很多产品公司权重更高。在 Bain,你会和一堆 MBA associate 一起工作,他们观点很强、技术上下文很少。他们想确认你能扛得住。
整体氛围:比我预期更认真,不是刷题 grind。take-home 的范围也合理。面试官都挺投入。我觉得这个岗位更偏爱 3-6 年经验的 mid-level 工程师。
薪酬有竞争力但不是 FAANG 水平。建议问清楚总包,包括他们的 profit-sharing 项目,据说还挺可观。