Data Engineering Interview Prep

Data engineering interview prep is the process of practicing the five rounds the loop tests: SQL, Python, data modeling, system design, and behavioral. The loop runs 5 to 7 rounds across roughly 4 to 8 weeks of focused prep.

A data engineering loop runs five domains in some order: SQL, Python, data modeling, pipeline system design, behavioral. The domains are stable across companies and levels. What changes is how much judgment the room expects you to show on top of the working answer, and that changes a lot between L4 and L6. This guide is the 2026 read on the loop, built from 2,817 verified interview reports across 920 companies. If you're two weeks out, skip to the SQL round and the modeling round; those carry the most weight.

Prepare for the interview
01 / Open invite
02min.

Know the patterns before the interviewer asks them.

a system design query, the same shape a screen would give you.
The diff against expected. Where ties broke. What you missed.
sandbox
1source → bronze → silver → gold
2 ingest : CDC + Kafka
3 transform : dbt + Airflow
4 serve : Snowflake
5
Execute your solution0.4s avg.
PayPalInterview question
Solve a problem

The five rounds, in the order they actually run

SQL round. 45 to 60 minutes, live coding, one or two prompts that look like analytics questions but test window functions, anti-joins, and conditional aggregation. Rejections here are about speed and clarity, not correctness; most candidates eventually get to a right answer, but the ones who hire are done in fifteen minutes with no dead ends. The trap is window-function ordering: a ties-allowed ORDER BY inside an OVER clause changes the answer in ways that are hard to spot under time pressure. Full walkthrough in the SQL round prep guide.

Python round. Closer to a notebook than to LeetCode. Pandas groupby/merge/pivot, parsing semi-structured input (gzipped JSON, malformed CSV, fields-of-fields), small class design, and increasingly often a PySpark variant. The bar is not whether you can write Python; it is whether you can write the kind of Python a data engineer writes on the job. Companies with heavy Spark stacks bias toward PySpark on this round, covered in the Python round breakdown.

Data modeling round. The round that decides most loops, and the one candidates underprepare for. The interviewer gives you a product (ride-share, streaming app, e-commerce) and asks for the warehouse schema. Passing answers state the grain before drawing tables, name the slowly changing dimension type (Type 2 is the common one, Type 6 is the discriminator), defend a tradeoff between star and data vault, and call out at least one denormalization decision with a reason. The two losing patterns: skipping the grain statement and over-normalizing. Detail in the data modeling round guide.

System design round. Pipelines, not services. Prompts cluster around three families: near-real-time fraud detection, daily reporting aggregations, user event sessionization. Passing answers choose batch or streaming explicitly, name the orchestrator (Airflow if you don't have a stronger opinion), address late-arriving data, define a backfill strategy, and surface at least two failure modes (partial writes, schema drift, dedup, exactly-once semantics). The senior-vs-mid signal here is whether you bring up the failure modes before the interviewer prompts you. Walked through in the system design round guide.

Behavioral round. STAR format is table stakes. What separates strong answers is whether you distinguish what you did from what the team did, and whether you can name the tradeoff you made rather than the outcome you got. Senior loops add prompts about scope under uncertainty and outcomes you owned across teams; staff loops add prompts about decisions that played out over quarters. The most common failure is rambling, the second most common is burying the result. Stories worth practicing live in the behavioral round guide.

What changes by level

Same five rounds. Different bar for what counts as a passing answer. The shift from working answer to reasoned answer is sharp between L4 and L5.

LevelWhat they're testingRound emphasisCommon failure
Junior / L3Working answer to a scoped problemSQL heavy, modeling light, no design roundSchema vocabulary gaps
Mid / L4Fluency across all five domainsEven weights, modeling and design at conceptual depthSkipping the grain statement in modeling
Senior / L5Judgment and tradeoff articulationModeling and design carry the loopNot leading the design conversation
Staff / L6Scope of impact and decision documentationTwo design rounds, one cross-org behavioralTreating design like an L5 deep dive instead of a roadmap

Role-specific bars sit on top of these. Analytics engineering loops add dbt and modeling depth at the expense of pipeline design. ML data engineering loops push feature-store design and online/offline parity. Cloud specializations (AWS, GCP, Azure) substitute one of the design rounds for a cloud-native pipeline build using that provider's primitives.

Companies whose loops are actually different

Most loops follow the standard five-round template. Five companies bend it enough to be worth knowing in advance. Netflix and Airbnb skew streaming and large-scale event processing; expect a Spark or Flink question where most other companies would ask SQL. Stripe pushes system design depth, with a second design round in place of a Python round for senior candidates. Databricks tests modeling on Delta Lake and PySpark specifics that no other loop covers. Uber runs the heaviest data modeling round in the industry, with two-hour onsites that include a live schema critique. If you're interviewing at any of these five, weight your prep accordingly.

For everyone else, the standard five-round loop is the right mental model. Reference the U.S. Bureau of Labor Statistics data engineer occupation page for level definitions and median compensation by metro.

Interview guides by company

Round-by-round breakdowns with the questions reported by candidates, the stack they actually use, and where the loop deviates from the standard template.

Stripe data engineer interview guide

Stripe Data Engineer process, comp, financial-precision SQL, and the collaboration round.

Uber data engineer interview guide

Uber Data Engineer process, marketplace and surge data modeling, geospatial pipelines.

Airbnb data engineer interview guide

Airbnb Data Engineer process, experimentation platform questions, two-sided marketplace modeling.

Databricks data engineer interview guide

Databricks Data Engineer process, Spark internals, lakehouse architecture, Delta Lake questions.

Snowflake data engineer interview guide

Snowflake Data Engineer process, micro-partitions, query optimization, warehouse architecture.

Netflix data engineer interview guide

Netflix Data Engineer process, streaming pipelines, A/B test infra, and the keeper test.

Lyft data engineer interview guide

Lyft Data Engineer process, marketplace pricing pipelines, real-time matching data.

DoorDash data engineer interview guide

DoorDash Data Engineer process, three-sided marketplace data, dasher-merchant-consumer modeling.

Instacart data engineer interview guide

Instacart Data Engineer process, retailer catalog modeling, batch and real-time inventory.

Robinhood data engineer interview guide

Robinhood Data Engineer process, trading data, regulatory pipelines, audit-trail modeling.

Pinterest data engineer interview guide

Pinterest Data Engineer process, recommendation pipelines, ad attribution data, graph modeling.

Twitter data engineer interview guide

Twitter (X) Data Engineer process, real-time timeline data, social graph modeling at scale.

Which tools actually show up

The job description and the interview rarely match. dbt is on every JD; dbt rarely shows up in the loop unless the company is dbt-native (Wayfair, HubSpot, dbt Labs). Airflow is the same: conceptual questions about DAG design come up, code questions almost never do. Spark is the inverse: rarely on the JD as a requirement, frequently in the design round as a tradeoff conversation. See the dbt vs Airflow comparison for which one to spend time on.

On warehouses, the loop is dialect-agnostic at most companies: ANSI SQL with Postgres syntax for the edge cases. The exceptions are the warehouse vendors themselves and the companies built on a specific stack. Snowflake-native shops ask Snowflake-specific syntax (QUALIFY, FLATTEN, time travel); BigQuery shops do the same for ARRAY functions and partition decorators. Snowflake vs Databricks covers which dialect to invest in if you're choosing.

For streaming, Kafka comes up in design rounds at any company handling real-time data, but only Stripe, Netflix, Databricks, and the ad-tech mid-market ask Kafka questions deep enough to require API-level familiarity. Flink is asked at maybe five companies in the industry. If you're not interviewing at one of them, the time-to-payoff on learning Flink is negative. See Kafka vs Kinesis for the AWS-context version of the same call.

Live Viewers, Live Billing

> We run a live video platform where creators broadcast to thousands of viewers at once. The product team wants real-time viewer counts and chat activity for creators, and the ads team needs accurate impression data for billing. Design a data pipeline for our livestream events.

+ Source
+ Transform
+ Storage
+ Quality
+ Consumer
+ Queue
Bronze
Silver
Gold
Custom
Pipeline Architecture
Sketch the architecture.

Click or drag a node from the toolbar above. Right-click the canvas for the full menu.

Drag from a node's right port to another node's left port to wire data flow.

How to spend your prep time

Two weeks out. SQL drills and one mock per day. Skip the take-home if it's not required. Don't start a new tool; you won't get to working fluency. Hit the top 100 questions for breadth, then do four to six full mock interviews out loud, alone or with a peer.

Eight weeks out. Week one and two: SQL and Python to fluency. Week three through five: data modeling ten problems deep, with the schemas drawn out and defended. Week six and seven: system design, fifteen prompts minimum, out loud. Week eight: mocks and behavioral rehearsal. Each round has its own detailed walkthrough in the per-round guides.

Switching from software engineering. Your algorithm prep is over-leveled for this loop. The deltas to close are dimensional modeling and pipeline design. See data engineer vs backend engineer for which of your existing skills carry over. SQL vs Python covers which to deepen first.

Switching from analytics or analytics engineering. Your SQL is already strong. The unfamiliar territory is pipeline orchestration, late-arriving data, and the failure modes that come from running schedules instead of writing queries. See data engineer vs analytics engineer for the specific gap to close.

A walked-through modeling question

Prompt. "Design the warehouse schema for a ride-share app. The product team wants daily reporting on completed rides, driver utilization, and surge pricing effectiveness."

The losing answer. A candidate draws three tables: rides, drivers, surge_events, normalizes each to 3NF, and answers the three reporting questions with joins. They never stated the grain. They built for the questions instead of the business. When the interviewer adds a question ("now report on rider lifetime value"), the schema cracks because it has no rider dimension.

The hire-signal answer. "I'm modeling a fact table at the completed-ride grain with one row per ride, and three Type 2 dimensions: dim_driver, dim_rider, dim_geo. Surge is an attribute on the ride fact, not its own table, because surge state at ride start is what reporting cares about. Driver utilization is a derived metric from the ride fact plus a snapshot of driver shifts. I'm choosing star over snowflake here because the reporting tool is BI and joins are cheap; if the consumer were operational, I'd reconsider." The candidate stated the grain, defended the SCD type, named the shape, and surfaced one tradeoff with a reason. That's the rubric.

The full walkthrough, with the follow-up questions the interviewer asks next and the variants that show up at Uber and DoorDash, is in the data modeling round guide. For the design-round version of this same exercise, see the system design walkthrough.

Common questions about the loop

How long should I prep before a data engineering loop?

Four to eight weeks is the range that fits most working engineers. If you've shipped pipelines in the last year and your SQL is fluent, four weeks gets you back to interview pace. If you've been in one tech stack for three years, plan eight. The unavoidable time sink is system design, which doesn't compress: you need fifteen or twenty design problems out loud before you stop sounding rehearsed.

Do I need Spark if I'm not interviewing at FAANG?

Less than the job descriptions suggest. Most mid-market loops touch Spark at the conceptual level (partitioning, broadcast joins, skew) but rarely require you to write PySpark on a whiteboard. The exceptions are companies that genuinely run on Spark at scale: Databricks, Netflix, Airbnb, and most large adtech and ride-share shops. For everyone else, read the JD literally; if Spark is one bullet among many, conceptual is enough.

Which round actually decides most loops?

Data modeling and system design. SQL and Python rounds have unambiguous outcomes; you either wrote the query or you didn't. The design rounds are where senior candidates separate from mid-level ones, and the rejections at L5 and above almost always cite 'did not lead the design conversation' or 'missed a tradeoff.' That's pattern recognition, not knowledge, and it only comes from practicing fifteen to twenty designs out loud.

Should I do the take-home if it's optional?

Yes, if the company is one you want. Most take-homes are assessed as much on the README as on the code: assumptions stated, tradeoffs named, edge cases you chose to skip explicitly called out. A clean take-home moves you from 'maybe' to 'yes' in calibration meetings. The exception is if the prompt is poorly scoped and a senior recruiter can't tell you the expected time investment; that signals an unserious process.

What changes between L4 and L5 expectations?

L4 is assessed on whether you can do the work. L5 is assessed on whether you can decide what work is worth doing. The same SQL question at L4 expects a correct query; at L5 it expects a correct query plus three reasons the requirement might be wrong. The same pipeline prompt at L4 expects a working pipeline; at L5 it expects a working pipeline plus the migration story and the failure mode you'd alert on.

How is this different from a data science interview?

Data science loops lean on statistics, A/B testing, and modeling. Data engineering loops lean on production systems. Both share SQL and Python, but the data engineering SQL bar is higher (window functions, query optimization, the kind of joins that come up because someone partitioned wrong), and the system design round replaces the modeling case study. If a job description mentions both, ask the recruiter which loop you'll get; the difference is real.

Is this platform actually free, and what's the catch?

Free, no card, no trial. The problem bank, the grader, the mock interview, the schema canvas, all of it. The platform is funded as part of a broader data product so the practice catalog has never been the revenue source. The 'catch' is that we use anonymized solve patterns to improve the adaptive engine and to weight which problems we add next.

02 / Why practice

Open a problem and start

  1. 01

    Active recall beats re-reading by 50%

    Cognitive-science meta-reviews (Dunlosky et al., 2013) rank practice testing as a top-tier study technique, while re-reading and highlighting rank near the bottom

  2. 02

    76% of hiring managers reject on the coding task, not the resume

    From HackerRank's 2024 Developer Skills Report. Candidates who look strong on paper still fail the live screen if they haven't done timed, executable practice

  3. 03

    Five problem shapes cover 80% of data engineer loops

    Dedup, sessionization, top-N-per-group, slowly-changing dimensions, partition tricks. Writing the shapes by hand turns the unfamiliar into pattern recognition

Where to go next