我在 2026 年 4 月走完了 Dropbox frontend SWE 的面试 loop。面的是 Senior 的 Frontend Engineer 岗(相当于 L5)。发这个是因为 Dropbox 的 frontend 方向面经基本不存在,我只能从一些泛 SWE 帖子里拼起来。
Phone screen。 一个 coding 题,共享编辑器里写。中等难度,数组操作。面试官挺友好,会一直问我推理过程。不是那种白板沉默对视。
Onsite:两天共 5 轮(线上)。
Coding 1:JavaScript fundamentals。 这一轮挺意外的。不只是「实现一个算法」。题目要求你真的理解 closure、async/await、以及事件处理。比如:从零实现 debounce 函数,解释 call stack 里发生了什么,然后再扩展去处理一些 edge case。要懂 JS 内部机制,不只是框架 API。
Coding 2:更传统的 DSA。 图遍历题。感觉就是标准 Leetcode medium。说实话我觉得这轮格式跟 backend SWE 轨道差不多。
UI component design。 这一轮最 frontend-specific。他们让我设计并实现一个简化版的文件选择器组件:考虑状态管理、如何处理 loading/error/empty state、无障碍基础(键盘导航、ARIA label)、以及大文件列表的性能(提到了 virtualization)。我用 React 写的,因为这是我背景,他们也接受。他们不太执着于特定框架。
System design(frontend 口味)。 让你设计客户端侧的实时协作文档编辑器架构。他们不是要你深挖 operational transform。更关注的是:怎么做 optimistic update,怎么在 UI 层处理 conflict resolution,怎么思考 network boundary。考虑到 Dropbox Paper 是真实产品,这一轮非常贴近业务。
Behavioral。 标准。不同面试官用不同问法重复出现的一题是:你如何处理对某个技术决策的不同意见。在 Dropbox,他们好像很看重「早点 push back,决定了就对齐执行」的文化。别讲那种你心里觉得不对但默默照做的答案。
我会针对这个岗位重点准备: 深 JS(不只是 React/Vue)、无障碍基础、带真实状态的组件设计、以及客户端性能基础(virtualization、memoization、lazy loading)。算法题是门槛,但真正拉开差距的是这些 frontend-specific 轮。
我整个 loop 从第一封 recruiter 邮件到 offer 大概 3.5 周。comp 的沟通是口头 offer 之后单独聊的。岗位是 SF/remote hybrid。