大概六周前我走完了 Samsung frontend engineer 的 loop,岗位在他们 SmartThings web platform team。我是 mid-level(4 年经验,主要 React)。分享一下,因为网上几乎没有针对 frontend 的 Samsung 信息。
流程:OA,一轮技术电话面试,然后三轮线上 onsite。
OA: 两道题,都是 JavaScript。一道是 DOM 操作(给一组需求,实现一个组件行为),另一道是纯算法题(数组操作,easy-medium)。平台是 HackerRank。只要 JS 熟,90 分钟够用。
技术电话面试: 他们在 CodePair(Samsung 的内部工具,本质是共享编辑器)里 live coding。我被要求从零实现 debounce,然后讲 React reconciliation 怎么工作,再问 CSS specificity 和 cascade 怎么解决冲突。更偏交流,不死板。面试官明显是做 frontend 的,不是那种临时 Google 面试题的泛工程师。
Onsite 第 1 轮(前端深技术): 用 React 做一个带分页的列表组件。不靠框架魔法,只用 hooks 和原生 fetch。他们观察我怎么组织 state、怎么处理 loading 和 error 状态,以及我会不会在没人提醒的情况下考虑可访问性(我提了 aria-live 做状态更新提示,这点很加分)。接着是性能题:一个列表渲染 10k items 很慢,让我讲诊断和优化。我讲了 virtualization、memoization、用 React DevTools 做 profiling。
Onsite 第 2 轮(system design,前端): 设计一个实时 dashboard,展示成千上万连接的智能家居设备状态。我先定范围,聊 WebSocket vs. polling 取舍、客户端状态管理(Redux Toolkit vs Zustand,我给了真实取舍而不是随便选一个),以及断线重连逻辑怎么做。感觉像中型产品公司的更现代版本。
Onsite 第 3 轮(行为面试): 很标准。讲一次你优化慢页面的经历。和设计师的冲突。你会怎么 onboarding 到现有代码库。不刁钻。
Offer 是 Bay Area mid-senior 档 $140k base。按市场看有点低,但岗位本身挺有意思。我最后没接,但整体面试体验我给好评。面试官真的懂前端。