上个月刚走完 Target 的 frontend engineering 面试,岗位是 Digital Guest Experience 团队的 SWE II,这个团队负责 Target.com 的购物体验。分享下流程细节,因为 Target 的前端相关信息莫名其妙地很少。
Recruiter screen(30 分钟): 自我介绍电话,聊背景、当前技术栈、为什么选 Target,以及一些安排(Minneapolis 总部,这个岗位预计 hybrid)。他们提到前端栈是 React + TypeScript,另外还有一些历史包袱 Angular,正在迁移掉。
Technical phone screen(60 分钟): 一道 JavaScript 编程题:给一个带类别和评分的商品列表,让你写一个 filter/sort 函数。中等复杂度,可以用任何浏览器 API,不需要算法花活。然后大概 20 分钟聊前端基础:解释 virtual DOM,reconciliation 怎么工作,什么时候用 useCallback vs useMemo,你怎么做 React 的性能优化。
他们不会拿很冷门的边界情况刁你。更多是在确认我真的理解底层发生了什么。
Onsite(线上,4 轮):
Coding 轮: 一道中等 LC 题,数组/对象操作。没有特别硬核的算法。用标准 ES6+ 就行。他们更看重代码干净可读,而不是一个很“聪明”的 one-liner。
Frontend system design: 设计一个商品列表页,包含筛选、分页、购物车状态。不是后端 system design,是真的偏前端。聊了组件层级、状态管理思路(他们似乎更偏 signals/context,而不是在组件图里一路 prop drilling)、lazy loading、无障碍(他们会具体问到 ARIA roles)、以及大规模商品目录下的性能。这轮我最有主场感。
Behavioral: 三位面试官,工程背景混合。标准 STAR。他们会追问我一次为一个不受欢迎的技术决策据理力争的经历,以及我怎么处理设计分歧。我有准备,但 follow-up 比我预期更深。
Cross-functional 协作轮: PM + designer。问我当设计稿很难直接落到实现时,我怎么和设计合作,这基本就是我日常工作。这轮更像聊天,不太像被评估。
整体感受: Target 的前端团队比大家想的成熟。他们在做真实的规模,Target.com 流量很可观,从 system design 的问题能看出他们对性能的标准。如果你在准备:把 React 学深(不只是会用 API),考虑无障碍,并且要能认真回答“大规模下的性能怎么做”。