2026 年 5 月走完了 Uber frontend engineer 的面试流程,岗位是 Maps & Visualization 团队的 mid-level SWE。我过去一年面过 Lyft、Instacart,还有几家 Series B 公司,所以能对比。
最意外的是:他们对 core JavaScript 的考察比任何框架都更狠。我原本重刷 React 细节,结果只被问到一道 React 相关的问题,大部分都是 vanilla JS。
第 1 轮(phone screen): coding 题,用 JavaScript 实现 rate limiter。完全不是 frontend 题,更像通用编程题。我做出来了,但感觉很怪。
Onsite 第 1 轮(UI coding): 从零写一个组件。我的是带分页的列表,外加搜索/过滤界面。他们非常在意搜索输入的 debounce,以及空状态和错误状态这些 edge case。不给框架,就是 vanilla JS/DOM。时间压力很真实。
Onsite 第 2 轮(JavaScript fundamentals): 深挖 closures、event loop、prototypal inheritance、以及 async/await 底层怎么跑。即使岗位是 mid-level,这轮也像 senior 的标准。他们基本想看你是否真的知道 runtime 在干什么。
Onsite 第 3 轮(systems/design for FE): frontend 架构设计。题目是设计一个实时协作文档编辑器。是的,frontend 岗。希望你能从概念层面聊 WebSockets、operational transforms 或 CRDTs,以及你会怎么组织 client state。我不太懂 CRDT 的内部细节,也直接说了;他们能接受,只要你理解 trade-offs。
Onsite 第 4 轮(behavioral): 标准 STAR。他们特别问了我一次不同意某个技术决策时我怎么做的,感觉这是他们的重点。
结论:如果你 2026 年要投 Uber 的 frontend,要深学 JavaScript,不要只学 React。整体 bar 更像通用 SWE 面试,只是带点 frontend 味道,而不是纯 frontend specialist。