几周前我走了一次 Walmart Global Tech frontend engineer 的面试 loop,岗位是他们 eCommerce platform 团队里的 mid-level SWE。分享一下,因为我准备的时候几乎找不到专门针对 frontend 的信息。
结论先说:不只是 leetcode。他们确实在意真正的 frontend 知识,这点比那种不管岗位一律扔 DSA 的公司舒服。
流程: recruiter call,然后两轮技术,再一轮 behavioral/team fit。我的全程都是 virtual。
技术面 1:JavaScript + React 这一轮最偏 frontend。他们让我在共享的代码编辑器里做一个小组件(不是白板)。大概是:做一个带 debounce 的 search input,加一个结果列表,要能处理 loading 和 empty state。他们会看着你写,并实时提问。类似 "why debounce over throttle here(这里为什么用 debounce 而不是 throttle?)"、"how would you test this component(你会怎么测试这个组件?)"、"what happens if the API returns an error(如果 API 返回 error 会怎样?)"。
还有一些原生 JS 问题:event loop、closures、箭头函数 vs 普通函数里 this 怎么工作。都不算刁钻,但你得真懂答案,不是背定义。
技术面 2:DSA 回到 leetcode 领域。一道 medium,偏数组。他们说 frontend SWE 这一轮的 coding bar 跟 backend 一样。我面前就知道,但从第一轮切回来还是有点跳。刷过题的话是可控的。
behavioral: STAR,四个问题。其中有一个专门问我一次提升 web performance 的经历,跟岗位很契合。他们好像在看我是不是真的理解 Core Web Vitals,而不只是知道这个缩写。
结果和薪资: 拿到 offer。San Jose / Sunnyvale hub 的 mid-level SWE(大概相当于 L5)。Base 大概 $155k,另外还有 RSU,TC 全包大概在 $225-230k 左右。我本来以为会更低,毕竟 Walmart 的名声不如 FAANG,但这个 offer 其实挺有竞争力。
如果你在准备 Walmart 的 frontend:React 常见模式和原生 JS 基础要补扎实,leetcode medium 继续刷,再准备一个 performance 故事。组件小练习压力不大,但如果你很久没真写代码,可能会有点措手不及。