Dropbox · Primly Community

Dropbox data engineer interview, pipelines and SQL, my experience

de_derek · 4 replies

Did the Dropbox DE interview process for a senior IC role (late 2025, process seems stable into 2026 based on what I've heard from others). Here's what I can tell you.

The process had four meaningful rounds after the recruiter screen: SQL / analytics engineering problem Data systems design Coding (Python, not LC-style) Behavioral

SQL round: Similar depth to what the DS folks get. I was asked to write a query to calculate rolling retention by cohort, which required window functions and careful handling of date arithmetic. They were fine with me talking through it before I typed anything. I used a CTE chain which they seemed to like for readability.

Data systems design: This was the most interesting round. They gave me a scenario: design a pipeline to ingest click-stream data from the Dropbox web client, transform it for analytics use, and serve it for dashboards and ML features. I walked through: source ingestion (Kafka), stream processing (Flink or Spark Streaming, tradeoffs discussed), landing in a data lake (Parquet on S3), with a warehouse layer on top (Snowflake-adjacent). They cared about latency guarantees, exactly-once semantics, and backfill strategy for historical data.

Python coding: Not algorithms, more like "given this file of log data, write a script to parse, transform, and aggregate it." Pandas-comfortable level. They cared that I handled edge cases (malformed rows, missing fields) without being prompted.

Behavioral: Same Dropbox values focus others mentioned. Craft and collaboration were both themes.

Total timeline: recruiter screen to offer was about 5 weeks. Onsite to offer was 12 days.

One thing that made a difference for me: knowing that Dropbox uses a mix of Spark for batch and has internal tooling for orchestration. Mentioning Airflow vs alternatives and having an opinion on DAG authoring best practices came up naturally in conversation.

4 replies

infra_ines

The exactly-once semantics question is a good one to prep. A lot of DE candidates wave their hands at it. Do you remember whether they pushed on the difference between at-least-once and exactly-once in Kafka specifically, or more at the warehouse layer?

de_derek

Both actually. They asked about idempotent producers and consumer group offsets at the Kafka level, then separately about how you'd handle duplicate records landing in the warehouse if a pipeline retry fires. I gave a deduplication-via-unique-key answer for the warehouse side and they seemed satisfied.

market_realist

12 days from onsite to offer sounds good. I've had 3-week waits elsewhere and the silence is its own kind of rejection. Did they keep you updated in between or just go quiet?

de_derek

One check-in from the recruiter around day 7. I asked when I should expect to hear by and she gave me a date. That date was accurate. I think setting the expectation explicitly helped.