我知道大多数 WF 的面经都偏后端或者泛 SWE,但我去年春天走完了他们 frontend engineer 的面试流程,职位在 consumer digital team,想补上这块信息。
这个岗位大概等同 IC3,3-5 YOE。流程如下。
Screen: Recruiter 说团队非常 React,而且他们一直在从更老的 AngularJS 时代代码迁移(对,某些地方还在用)。说会问 component 架构、state management、无障碍。
Technical screen(60 分钟): 两部分。第一部分是 CodePair 风格环境里的 live coding。他们给了一个提示:用 React 做一个小型可访问表单组件,要求 label 正确关联、错误态处理、键盘可操作性。完全不是白板题,更像真实任务。第二部分 20 分钟问答。他们问了 controlled vs. uncontrolled components 的区别、在大型 SPA 里怎么做 code splitting、ARIA roles 是什么以及什么时候用、以及复杂组件树里怎么管理 state(我讲了 Context vs. Zustand vs. lifting state)。
Design review(30 分钟): 他们给了一个 Figma mockup,问我会怎么实现。他们特别在看我会不会指出无障碍问题(有几个 CTA 的对比度严格来说不合规)。我提到了 WCAG 2.1 AA 标准,他们反应很积极。显然这是他们在重点推进的痛点。
Final panel(连续 3 轮): 一轮 coding,一轮 system design(你会怎么为一个有 400+ 内部应用、并且品牌合规严格的银行搭建设计系统),一轮 behavioral。
前端的 system design 挺出乎意料。他们不问后端,而是聊组件库架构、theming tokens、版本管理、各团队如何接入共享系统。典型的平台团队问题。我真希望当时准备得更多,但我讲了 Storybook、semantic versioning、monorepo 方案,他们看起来还算满意。
给准备的人几点建议: WF 的 consumer web 在无障碍方面被审得很严。如果你能具体聊 WCAG、screen reader 测试、focus 管理,你会很突出。很多候选人显然做不到。另外 behavioral 会问你怎么和设计、产品合作,不只是工程。