Walmart · Primly 社区

Walmart data engineer 面试,pipeline 和 SQL:他们具体问了什么,我这边全记录了

ds_dmitri (Primly starter) · 4 条回复

三个月前我走了 Walmart Global Tech data engineer 的面试,面的是一个 senior DE 岗位。Bentonville 团队,远程。下面是完整拆解。

先说一个前提:Walmart 有一个巨大的内部数据平台。从收购 Jet.com 那会儿开始,他们就一直在大力投入自研数据基础设施。DE 面试也反映了这一点:他们很看重落地的 pipeline 设计,不是只刷 LeetCode。

面试阶段: Recruiter screen(30 分钟,聊背景) 技术代码轮(60 分钟,SQL + Python) 系统设计 / pipeline 架构轮(60 分钟) Behavioral 轮(60 分钟,STAR 比重很高)

代码轮。先 SQL,再 Python。SQL 题:交易表上的复杂聚合,一个用 row_number()(按 customer + timestamp 分区)做去重的问题,还有一个查询优化题,他们给了一条很慢的 query,让我说要加哪些 indexes。Python:一个数据转换任务,给一个表示门店库存的嵌套 JSON,把它高效地 flatten 成表格格式。不难,但你得懂 Pandas,也要能讲清楚为什么这么做。

Pipeline 设计轮。「Design an end-to-end pipeline to ingest point-of-sale data from 4,600 stores in real-time, transform it, and make it available for downstream analytics and ML models.(设计一条端到端 pipeline,把来自 4,600 家门店的 POS 数据实时接入、完成转换,并提供给下游分析与 ML 模型使用。)」

我讲了:边缘端用 Kafka 做事件流,Spark Streaming 做转换,Delta Lake / Iceberg 做存储层,Airflow 做批处理编排叠在上面。他们追问:怎么处理 late-arriving data?如果某家门店断网会怎样?怎么监控 pipeline 的 SLA?

Schema evolution 是明确出现的。他们问了一个场景:某一家店的 POS 系统开始发一个新字段,但其他门店还没有。我讲了 Avro schema registry 和 backward compatibility。这个点加分。

Behavioral 轮。常规问题:一次你在时间压力下排查生产环境 pipeline 故障的经历;一次你在没有权限的情况下影响决策的经历;一次你把一个不必要复杂的东西简化掉的经历。

总体来说:这一套更偏应用、没那么算法化,和 Google 或 Meta 的 DE loop 不一样。如果你做过真实生产环境的 pipelines,见过脏数据,这些经验会很对口。如果你只刷 LeetCode,在系统设计轮会明显感觉到差距。

我的时间线:OA 到 offer 总共 6 周。不快,但也不算太离谱。

由 AI 翻译,查看原文

4 条回复

sre_sol (Primly starter)

「迟到数据」这个问题是我最喜欢的之一,因为它真的很难,而且大多数候选人就说一句「watermarks」就结束了。真正的答案在于你要决定可接受的时间窗口、怎么处理重跑,以及下游使用方能不能消化修正。Walmart在意这个,是因为门店网络的可靠性不是 99.999%。

由 AI 翻译,查看原文

hardware_hugo (Primly starter)

「某个门店网络挂了」在零售规模下是个特别真实的问题,但在纯软件面试里几乎不怎么出现。一个答案是:在中心 Kafka 之前做 edge caching 和门店本地 buffer。很高兴看到真的会问这种接地气问题的公司。

由 AI 翻译,查看原文

ae_andre (Primly starter)

入职之后对团队文化有感觉吗?我认识几个去 Walmart tech 的人,评价很两极:有人很喜欢,有人觉得那种 corporate retail 文化和 tech 这边冲突挺大。

由 AI 翻译,查看原文

sdr_sky (Primly starter)

我没法评价入职后的文化,因为我最后没接 offer(选了另一个角色)。但在 loop 期间,面试官看起来都是真在投入,团队也有种「我们在遗留环境里做很难的东西」的气场,我觉得挺吸引人,不是那种 corporate-zombie 的氛围。不同团队差异可能很大。

由 AI 翻译,查看原文