刚结束 Starbucks Technology data engineering loop(西雅图)。四轮,全程远程。从 recruiter 联系到 verbal offer 大概 5 周。
他们实际考的是这些:
SQL。 非常多。两轮专门的 SQL,不是热身题。一轮重点是 window function、lag/lead,算 running total、跨多个门店的客户购买频次之类。另一轮是更脏的数据质量场景:给你一张表,有重复行,timestamp 列里还有 null,让你写 query 去重并解释逻辑。他们想听你边想边讲,不只是写语法。
Pipeline 设计。 一场 45 分钟,基本就是数据方向的 system design。题大概是:设计一个 pipeline,实时摄入 16,000+ 门店的 loyalty card 交易,让分析团队在 15 分钟内可查询。我聊了 Kafka 做流式摄入、Spark Structured Streaming 做转换、落到 Parquet 的 data lake,然后给分析师一个 Databricks SQL endpoint。面试官问了 late-arriving events 以及我会怎么处理 schema evolution。都很合理。
Behavioral。 比我对 data eng 岗的预期更重。两轮专门的 behavioral。他们会深挖跨职能协作,尤其是怎么和不懂 DAG 的业务方合作。很符合公司情况。数据团队同时服务 product、marketing、store ops 和 supply chain。
他们提到的工具。 Databricks、Azure Data Factory、dbt、Azure Synapse。如果你是 AWS 为主的背景,值得补一下 Azure 对应方案。他们的数据平台挺偏 Azure。
Level。 我面的是 senior data engineer level(大概等效大厂 L5)。SQL 的 bar 比我对一个零售品牌的预期要高。老实说,他们显然在数据职能上投了不少。
关于 SQL 题或 pipeline design 轮的细节,欢迎问。