2026 年初面了 Salesforce 的一个 senior frontend SWE 职位(Lightning Web Components 团队)。下面是当时的完整流程。
一些背景:Salesforce 有一个很大的内部 UI 框架叫 Lightning Web Components(LWC)。如果你面的是平台本身或核心 CRM 前端相关团队,至少概念上了解 LWC 会有帮助。如果是产品团队(Marketing Cloud、Tableau 等),就没那么相关。
面试轮次:
phone screen:45 分钟,一道 coding 题。我的是 DOM 操作:给一棵嵌套的评论节点树,按正确缩进渲染出来。他们要你写纯 JS,不要框架。递归加基础 DOM API。观察点:你能不能用树的思维来解题,能不能写出干净可读的 JS,而不是靠各种「魔法」。
onsite(线上,4 轮): frontend system design:设计一个实时 dashboard,每 30 秒刷新数据但不整页重载。我讲了 WebSockets vs. polling、组件架构、状态管理、以及如何优雅地处理过期数据。他们还追问了可访问性(ARIA roles、键盘导航),这点挺出乎我意料。a11y 基础要懂。 coding round:两道题。第一道是 React 组件题:做一个可筛选的数据表格,处理边界情况(空状态、加载中、错误)。第二道是纯算法:找 2D 网格里的所有岛屿(BFS/DFS)。算法题看起来跟前端不太搭,但就是用来验证基本解题能力。 behavioral:带具体故事。他们问了:我重构大型代码库的经历、我做的一个 UI 决策被设计团队 pushback 的经历、以及我如何在性能和功能之间做取舍。他们在看成熟度和协作能力。 hiring manager chat:更多聊团队匹配和我想做什么。
我觉得怎么准备:前端系统设计要比刷 Leetcode 更重要。他们想看你能思考真实 Web 问题(渲染、性能、状态、可访问性),不只是会做网格题。也要复习核心 JS:闭包、事件循环、原型链。不是背八股,是要能顺畅聊。
整个流程大概 4 周。最后拿到 senior 级别的 offer。湾区 base 在 $155-165k 区间(hybrid)。