上个月我走了 Anduril frontend engineer 的面试流程,面的是 mid-senior。没拿到 offer,但很清楚他们到底在找什么,而这点和大多数 frontend 面试不太一样。
我原本以为会是常规那套:React 组件设计、性能优化、无障碍,可能再来点 CSS specificity 的坑。有一些确实有。但明显最关键的,是那些把你推到「产品系统设计」那块的 session,而不只是纯 frontend 手艺。
轮次实际覆盖了什么:
Coding 轮 1:偏 React。从零实现一个数据可视化组件。状态管理、高效 re-render、用 refs 做动画的正确方式。很常规。他们看重的是干净的代码,不只是能跑的代码。
Coding 轮 2:这轮把我打了个措手不及。他们给了一个实时数据流场景(类似:sensor 数据高频更新,需要在 dashboard 里丝滑渲染)然后让我设计 update cycle。怎么 throttle 或 debuffer 输入流。怎么避免 layout thrashing。UI 卡住、buffer 在不断堆积时怎么处理。我表现还行,但能感觉到他们不太满意我没有第一时间想到用 web worker。
System design(对,frontend 也要):设计一个 dashboard,同时展示来自多个系统的实时 telemetry。面试官会追问:客户端如何高效 subscribe/unsubscribe、WebSockets 的重连逻辑怎么做、用户布局偏好如何跨 session 持久化,同时又不在每次加载都做一次往返请求。这轮 60 分钟,节奏很快。
Behavioral:形式标准,但他们会特别问我有没有在知道技术约束会让某个需求不可行时,push back 过 PM 或设计师。他们想要能给出充分理由的「拒绝」,而不是把东西照单全收。
我的真实感受:Anduril 的 frontend 并不是那种 agency 或消费端产品的「UI 手艺人」工作。更像是带渲染层的系统工程。如果你喜欢性能敏感的实时界面,会很匹配。如果你主要在意精致的 design systems 和无障碍工具链,你可能会觉得不对味。
薪资有竞争力,equity 也有意义。Costa Mesa 的全职,他们不接受这个岗位 remote。