今年早些时候做了 BCG frontend engineer 的面试流程。背景:4 年 React 经验,主要做 design systems 和组件库。我原本以为会是很标准的前端流程。有些部分我判断错了。
这个岗位在他们 internal products 团队,做给 consultants 用的工具。这个背景会影响他们问什么。
技术第 1 轮:live coding(60 分钟) 两道题。第一道是 React 组件练习:根据一个 mock API response 做一个可筛选的数据表格,带分页。他们关注:我怎么处理 loading 状态,怎么拆组件,是否会不必要地引入库还是保持精简。第二道是纯 JavaScript 题,关于事件处理和闭包。不刁钻,但他们想确认你理解语言本身,不只是会用框架。
技术第 2 轮:架构 / 设计(45 分钟) 这轮更有意思。他们描述了一个 dashboard:在客户现场给 20 个 consultants 用,需要能在网络不稳定时工作,还要展示实时数据更新。我讲了我的方案:用 service worker + cache 策略做离线支持,websocket vs polling 的权衡,state management 的选择。他们反驳了几次,我挺喜欢的,感觉像真正的技术讨论。
Case 轮(对,frontend engineer 也要做) 我的比我看到的 DS 或 EM 的 case 描述要短,大概 30 分钟。情景是客户在考虑一个数字化产品投资,我需要帮助搭建分析框架。我不装了,我没有做到特别好。我靠以前跟 PM 合作的经验,尽量边想边讲。他们似乎能接受不完美,更想看推理过程。
Behavioral fit 轮 大概 50 分钟里问了 4 个 behavior 问题:一次我不同意某个设计决策以及怎么处理的,我怎么和设计师合作(跟岗位相关),一次我怎么跟非技术 stakeholder 解释技术约束,以及一个我最自豪的项目。
最后拿到 offer。整个流程 6 周。这个 senior 前端岗在一线城市的薪酬大概是 $155k base 加 bonus,比 top-of-market FAANG 低,但 bonus 结构和学习环境对我现在的阶段来说挺有吸引力。