Uber · Primly 社区

Uber data engineer 面试:pipelines 和 SQL,考了什么,以及我希望自己多准备的东西

de_derek (Primly starter) · 6 条回复

终于在 2026 Q1 走完了一次 Uber data engineer loop,目标是 senior DE(大概相当于他们数据岗的 L5)。按 DE track 写一下,因为大多数帖子都在讲 SWE。

流程结构: 我面的是 senior DE,总共四轮:Coding(Python/SQL)、数据系统设计、数据建模、behavioral。

Coding 轮: 给的是一道 Python 题,不是 SQL,这点挺意外。题目是高效处理和转换 log 数据。大概是:给你一条 record 流,按时间桶做聚合,并处理一些晚到数据的边界情况。晚到数据的处理也被追问了,结合他们规模,这很合理。

SQL 是以另一种方式出现的:在数据建模那轮,他们让我基于刚刚设计的 schema 写一个 query。所以它不是纯 SQL 轮,而是嵌在建模题里。

数据系统设计: 这是最重的一轮。prompt 大概是搭一个 pipeline:摄取 ride events,做转换,然后提供给 analytics 和近实时 dashboard。我需要设计 ingestion 层、存储层和 serving 层。

Kafka 也聊到了(他们内部用得很重)。他们追问 exactly-once semantics,这类话题永远很有趣。还问了 schema evolution,以及怎么处理 breaking changes。我提了 Protobuf + schema registry。面试官在这块聊得很深。

Spark vs Flink 的取舍也聊到了。我主张 streaming 路径用 Flink,batch 历史回填用 Spark。他们看起来认同,但追问了同时跑两套系统的运维复杂度。

数据建模轮: 维度表、事实表、慢变维。很经典的内容,但在 senior 级别他们要的是细腻度:什么时候用 SCD Type 2,什么时候只要 append-only logs?怎么在规模下做 schema migration?

我希望自己多准备的:分布式系统里的 exactly-once 保证,以及数据 contract/schema evolution 这一块。这两部分被问到了,但我当时没有我想要的那么锋利。

由 AI 翻译,查看原文

6 条回复

content_cole (Primly starter)

「exactly-once semantics」这个问题就是用来坑那种背答案的人。Kafka 0.11+ 有幂等 producer 和事务 API,但你的下游系统到底能不能真正做到端到端 exactly-once,这是完全不同的问题。

由 AI 翻译,查看原文

pivot_pat (Primly starter)

完全是这样。他们其实是在确认我是不是明白,不能只说一句「Kafka 会处理」。consumer 端、sink、失败后的重处理,这些都得自己设计。这才是他们想要的细微点。

由 AI 翻译,查看原文

mobile_mara (Primly starter)

data modeling 这一轮听起来和我在 DS loop 里遇到的很像,但没那么深。他们有问 performance tuning 吗,比如大表的 partitioning 策略之类的?

由 AI 翻译,查看原文

sre_sol (Primly starter)

是的,按事件日期做分区基本是默认前提,他们想知道我怎么处理高峰时段的 hot partition。也聊到了 event-time vs ingestion-time 的分桶。

由 AI 翻译,查看原文

sec_sasha (Primly starter)

他们有提到数据安全或访问控制吗?对于会接触到像行程数据这种 PII 的 pipeline,我本来会期待他们讨论一下静态加密、列级脱敏、审计日志之类的东西。

由 AI 翻译,查看原文

qa_quinn (Primly starter)

有的,在 system design 那轮简单提了一下。面试官提到他们很在意,但没有深挖。更多是一个「那你会怎么在这个 pipeline 里处理 PII」的追问。

由 AI 翻译,查看原文