刚走完 instacart 的 4 轮 data engineer loop。趁还新鲜记一下,因为我面之前几乎找不到很具体的信息。
recruiter screen 很标准,30 分钟,聊背景,他们解释了 eng 的招聘标准和定级。不涉及技术。
第 1 轮:SQL + 数据建模 这轮是重点。他们给了一个类似订单生命周期数据的场景(比如:orders、deliveries、items、zones)。要我写查询找异常,然后设计一个能支持实时更新且不锁表的 schema。我觉得 SQL 难度在中高级。会用到窗口函数、分区逻辑。一定要复习 RANK() 和 DENSE_RANK() 的区别,还有 running total。
第 2 轮:pipeline design 这轮更偏 system design。我们聊的是把高吞吐的事件流(类似 Kafka)灌到数仓里(看起来他们用的是 Redshift,但我没确认)。他们很看重 idempotency、late-arriving data、以及你怎么长期处理 schema evolution。也提到了 CDC 模式。我提了一下用 dbt 做 transformation,他们似乎也很熟。
第 3 轮:coding 一道题,纯 python,处理 dataframe 风格的数据集。不是 LeetCode 那种,更像「给你一堆脏数据,清洗后算 X」。会 pandas 很加分。他们在意你能不能不靠提示就把边界情况讲出来。
第 4 轮:behavioral 标准 STAR。围绕 ambiguity、跨团队冲突、上游数据质量差。还专门问了我一次:因为数据基础设施限制,你不得不顶回一个产品需求的经历。这个故事一定要准备。
整体流程感觉组织得不错。从第一轮到最终结果两周。我 7 年工作经验,目标是 L5 对标。面试官水平不错,看得出他们日常真在用自家技术栈。
欢迎追问,我乐意答。