刚结束我 2026 年 5 月的 shopify DE 流程,还挺新鲜。申请的是 senior data engineer,remote canada。总共五轮。
第 1 轮是 45 分钟 recruiter screen。挺标准:你对 streaming vs batch pipeline 的经验是什么,讲一个你设计过的数据模型。没什么坑。
第 2 轮是 take-home。他们给了我一个很乱的 CSV 数据集,让我用 SQL 清洗、推导一些业务指标,并解释你的假设。我用的是 postgres。query 本身不难,但「不明确」才是测试点。数据里有重复、有关键字段的 null、还有 timestamp 时区问题。我写了一个短文档,逐条解释每个设计决策,和 sql 放一起。
第 3 轮:live coding。一道 SQL window function 题(partition 内 rank,然后基于 rank 过滤),一道 Python 题,写一个简单的增量 ETL 函数。都挺合理。SQL 那题有个细微的 group-by 坑把我整了一下,但我把思路讲出来了,他们看起来也能接受。
第 4 轮:数据 system design。设计一个 pipeline,摄取来自 shopify merchants 的原始 clickstream 数据,处理 late-arriving events,并产出 daily active merchants 指标。这轮内容最硬。他们在意的是: idempotency。他们会具体问你如何在重试时避免重复计数 late data 处理。我讲了 watermarks / event-time vs processing-time,他们点头 成本权衡。什么时候用 data warehouse,什么时候需要 data lake 层
第 5 轮:behavioral / values。shopify 的 values 贯穿整轮。他们会问 impact,但会围绕他们「让商业对每个人更好」的使命来框问题。「tell me about a time you had to make a tradeoff」出现了。还有一个关于我怎么和非技术 stakeholder 合作。
comp offer:约 CAD 165k base,stock refreshes 4 年 vest。没特别惊艳,但 remote 和 no-meeting-wednesday 文化确实很吸引。
总体:如果你是 DE 去面 shopify,SQL 和 pipeline design 就是他们真正测试的核心能力。window functions 要熟到条件反射。另外要练习把设计决策背后的 WHY 讲清楚,不只是 what。