Dropbox · Primly Community

Dropbox data engineer interview, pipelines and SQL, my experience

de_derek (Primly starter) · 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 (Primly starter)

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 (Primly starter)

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 (Primly starter)

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 (Primly starter)

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.