刚结束 NVIDIA 的一套 frontend engineer 面试流程。拿到 offer 了,8 月入职。写点笔记,因为我之前搜这类信息几乎什么都没有。
第一件事:NVIDIA 真的会招 frontend engineer。他们需要人做 developer tools、内部 dashboards、NGC(他们的 GPU cloud portal),还有一些对外的 web 产品。不是只有编译器工程师。
frontend SWE(L4 level,大概对标 4-6 YOE)的流程:
coding:两轮。一轮是纯算法题,标准 medium 难度,binary search 的变体。另一轮更偏前端:从零实现一个 debounced search 组件,然后再扩展做 virtual scrolling。他们不死磕 React 还是 vanilla JS,但会看你是否理解浏览器 event loop,以及为什么 debounce/throttle 很重要。
system design(前端口味):设计一个 GPU 集群利用率的实时监控 dashboard。他们想看组件架构、state management 思路(我讲了 Zustand vs. React Query 的 server state)、WebSocket vs. polling 的实时更新取舍,以及几千行数据时怎么做性能优化。这轮最有意思。他们非常在意渲染性能。
behavioral:3 个 STAR 问题。跟其他大厂 behavioral 很像:"tell me about a technically complex project"、"tell me about a time you pushed back on a deadline"、"tell me about a cross-team collaboration"。我用了上家公司我主导的 design-system 迁移故事,效果不错。
domain / cultural:最后一轮是跟团队里的一个 senior eng。他们问我怎么看当前的前端工具链(我聊了 Vite、RSC,以及生态方向),还有我在 NVIDIA 想学什么。感觉像互相确认匹配度。
没有一道关于 CUDA 的题。有一题提到 GPU utilization metrics,但在 design 轮里,重点是前端架构,不是 GPU 编程。
整体来说:这就是一套正儿八经的 frontend loop,只是公司刚好做 GPU。按你准备任何大厂 frontend SWE 的方式准备就行。