上个月刚走完 eBay 的 frontend engineer loop。面的是他们 seller experience team 的 mid-senior 级别岗位,base 在 San Jose,但给了 remote 的灵活性。
流程是:recruiter call,technical phone screen,然后四轮线上 onsite。四轮分别是:JavaScript/CSS fundamentals,React component design,system design(偏 frontend),以及 behavioral。
JavaScript/CSS 那轮最让我意外。他们把基础问得挺深。问题包括:解释 event delegation,== 和 === 有什么区别(没错,2026 还在问),浏览器如何渲染页面(critical rendering path),CSS layout 有哪些方法、什么时候用 Grid vs Flexbox。然后还有一道 coding:从零写一个 debounce。挺基础,但他们想看实现是否干净、以及 edge case 处理(immediate invocation flag、后续调用时清理)。
React component design 是在 Codesandbox 里 live coding。我需要做一个 typeahead/autocomplete 输入组件,支持 debounced fetch、loading state、键盘导航(上下箭头 + 回车),以及基本的无障碍(aria attributes)。大概 60 分钟。无障碍被点名了:他们希望有 aria-expanded、role=listbox、以及正确的 focus 管理。这块我有点卡,只能更多用讲思路的方式说我会加什么,而不是全部写完。
Frontend system design:设计 eBay 的 listing page 在大规模下的方案。Lazy loading、图片优化、SSR vs 客户端渲染的取舍、CDN 策略、web vitals(特别是 LCP、CLS、FID)。更像真实对话,不是白板背诵。我表现得像是真的在意性能,这也符合他们团队。
Behavioral 是标准 STAR,两题,30 分钟。没什么特别的。
San Jose 的 L5 frontend offer:base 大概 $215K,4 年 equity 后 total 约 ~$300K。不是 FAANG 水平,但 eBay 的 WLB 口碑确实好。整个流程大概 5 周。