Dropbox · Primly 社区

Dropbox data engineer 面试:pipeline 和 SQL,我的经历

de_derek (Primly starter) · 4 条回复

我面了 Dropbox 的 DE 流程,对应一个 senior 的 IC 岗(2025 年末,基于我听到的其他人反馈,2026 年流程应该也差不多)。我能分享的如下。

recruiter screen 后还有四轮比较关键的: SQL / analytics engineering 题 数据系统设计 Coding(Python,不是 LC 风格) Behavioral

SQL 轮:深度跟 DS 那边差不多。我被要求写一个 query 计算按 cohort 的 rolling retention,需要 window functions,并且要很小心处理日期运算。他们不介意我先把思路讲清楚再开始敲。我用了 CTE chain,他们似乎觉得可读性很好。

数据系统设计:这是最有意思的一轮。他们给了一个场景:设计一个 pipeline,把来自 Dropbox web client 的 click-stream 数据 ingest 进来,转换成 analytics 可用的形式,再提供给 dashboards 和 ML features。我讲了:源数据 ingest(Kafka),流处理(Flink 或 Spark Streaming,并讨论取舍),落地到 data lake(S3 上的 Parquet),上面再建一层 warehouse(Snowflake-adjacent)。他们关心 latency 保证、exactly-once 语义、以及历史数据的 backfill 策略。

Python coding:不是算法,更像「给你一个 log 文件,写个脚本做 parse、transform、aggregate」。Pandas 熟练度的要求。他们很在意我是否能在不提示的情况下处理 edge cases(坏行、缺字段)。

Behavioral:跟别人提到的 Dropbox 价值观重点一致。craft 和 collaboration 都是主题。

总时间线:从 recruiter screen 到 offer 大约 5 周。onsite 到 offer 是 12 天。

一个对我帮助很大的点:我提前知道 Dropbox batch 用 Spark,同时有内部编排工具。对 Airflow 和替代方案、以及 DAG authoring 的 best practices 有自己的观点,聊天时自然就能带出来。

由 AI 翻译,查看原文

4 条回复

infra_ines (Primly starter)

exactly-once semantics 这个问题很值得准备。很多 DE 候选人在这上面会含糊其辞。你还记不记得他们更追问的是 Kafka 里 at-least-once 和 exactly-once 的区别,还是更多在 warehouse 层面?

由 AI 翻译,查看原文

de_derek (Primly starter)

其实两个都问了。他们先在 Kafka 层面问了 idempotent producers 和 consumer group offsets,然后又单独问如果 pipeline retry 触发,重复记录落到 warehouse 里你会怎么处理。我在 warehouse 那边给了一个用 unique key 做 deduplication 的答案,他们看起来满意。

由 AI 翻译,查看原文

market_realist (Primly starter)

从 onsite 到 offer 12 天听起来挺快的。我在别的地方等过 3 周,那种沉默本身就是另一种拒绝。他们中间有持续更新进展,还是直接没消息?

由 AI 翻译,查看原文

de_derek (Primly starter)

大概第 7 天 recruiter 跟我 check-in 了一次。我问了大概什么时候会有结果,她给了我一个日期。那个日期很准。我觉得把预期明确说出来很有帮助。

由 AI 翻译,查看原文