今年早些时候走完了 tesla 的 frontend SWE loop,中级岗位(目标 3-5 YOE)。分享一下,因为我找到的帖子要么太老,要么是后端/全栈方向。
轮次: online coding assessment:跟别人描述的一样,两道 medium,而且完全不偏前端。纯算法。 phone screen(工程师):先来一道 medium LC(string parsing),然后转到前端相关。他们让我讲 React reconciliation 怎么工作,以及什么时候你真的会用 useMemo。不是要背课本,他们想听你讲权衡,以及什么时候不值得用。 virtual onsite:一天 4 轮。
每轮拆解: coding 1: medium 数组题。面试官比较安静,要我自己 drive。先讲暴力,再优化。 coding 2: 从零实现一个简化版 debounce,然后加需求:做成可取消。这轮很前端,也确实是最有意思的一轮。 system design: 设计一个实时 dashboard,从数据流更新。他们希望我讲 WebSocket vs polling 的权衡,如何 throttle UI 更新避免浏览器卡死,以及一点规模化的状态管理讨论。我举了 React context / zustand 的例子,也可以。 behavioral: tesla 的 behavioral 比我预期更重,整整一小时。问题包括如何在压力下处理事情、在信息不全时做决策、以及如何和 manager 有分歧。他们用 STAR,但要具体,不要像公关稿。
让我意外的点: 他们不在意 CSS 冷知识。没人问我解释 flexbox。 他们很在意性能:渲染性能、避免 jank、用 DevTools 做测量。这在 system design 和 behavioral 都会出现。 tesla 的 UI 很多是内部工具(制造运营、车队监控)。他们想要理解数据密集型界面的 frontend engineer,不是做消费级移动端 UX 的那种。
整体 loop 一共 5.5 周。recruiter 在各阶段之间回得挺慢,但工程师在面试中都很投入。