Skip to content

Interview Roadmap

What a data engineering interview loop tests, which handbook guides cover each part, and a four-week plan to prepare.

Last reviewed · Download PDF

Related: SQL Interview Patterns · System Design Case Studies · System Design · Glossary


Overview

Challenge: Data engineering interviews cover a wide range: SQL, Python, data modelling, pipelines, distributed systems, cloud, and increasingly LLM tooling. Preparing "everything" is impossible, and reading without practising does not transfer to a live round.

Solution: Know the format of the loop, map each round to the topics that actually get asked, and practise the skill each round tests. Every guide in this handbook ends with Interview Questions, so this page tells you which ones to prioritise and in what order.

flowchart LR
    R["Recruiter screen<br/>fit, motivation, scope"] --> S["SQL round<br/>patterns, window functions"]
    S --> P["Python / coding<br/>data manipulation, clean code"]
    P --> D["Data modelling +<br/>pipeline design"]
    D --> A["System design<br/>end-to-end architecture"]
    A --> B["Behavioural<br/>ownership, incidents, trade-offs"]

Loops differ by company: some skip a round, add a take-home or a live debugging session, or add an AI/LLM round. Ask the recruiter for the format and the interview length.


On this page

Basic - The Rounds - Topic Map

Intermediate - A Four-Week Plan - How to Answer

Advanced - Behavioural Round - Take-Homes and Live Debugging - Questions to Ask Them

Reference - Common Pitfalls - Cheat Sheet - Interview Questions - Further Reading


The Rounds

Round What it tests Typical content Prepare with
Recruiter / hiring manager Fit, level, communication Your projects, why this role, scale you have handled A two-minute story for each project
SQL Fluency and pattern recognition Window functions, joins, dedup, cohorts, sessionisation SQL Interview Patterns, Lab 01
Python / coding Data wrangling and clean code Parse and aggregate records, dictionaries and sets, generators, sometimes a small algorithm Python for DE
Data modelling Turning a business into tables Star schema, slowly changing dimensions, grain, keys Data Modeling
Pipeline design Reliable ETL Idempotency, incremental loads, backfills, late data, quality checks DE Concepts, Ingestion & CDC, Airflow, Testing and CI/CD
System design Architecture and trade-offs Batch vs streaming, storage choices, scale, cost System Design, Case Studies
Tool depth Real experience with the stack on your CV Spark tuning, dbt, Kafka semantics, warehouse internals The guide for each tool
Behavioural Ownership and judgement An incident you handled, a disagreement, a mistake Behavioural Round

Topic Map

Where the questions come from, ordered by how often they appear in practice.

Priority Topic Guides
Almost always SQL and window functions SQL, SQL Interview Patterns
Data modelling (star schema, SCD) Data Modeling
ETL vs ELT, batch vs streaming, idempotency DE Concepts
Python data handling Python for DE
Very often Spark internals: shuffles, skew, partitioning PySpark
Orchestration and backfills Airflow, Dagster
Warehouse and lakehouse choices Snowflake, BigQuery, Delta Lake, Iceberg
Data quality and observability Data Quality, Pipeline Observability
Often Kafka and streaming semantics Kafka, Flink
dbt dbt
Testing and CI/CD for pipelines Testing and CI/CD
Cost and performance Cost Optimization
Serving fast analytics, query federation Real-Time Analytics Databases, Trino
Running data workloads on Kubernetes Kubernetes
Event time, windows and late data Beam and Dataflow, Streaming SQL
NoSQL modelling and CDC from operational stores NoSQL and Operational Stores
Serving data to the business BI Tools
Incidents, on-call and postmortems DataOps
Catalogs, ownership and lineage tooling Data Catalogs in Practice
Choosing and defending a stack Choosing a Stack
LLMs and data: safe SQL generation, MCP MCP and Text-to-SQL
Cloud platform specifics (Microsoft) Azure and Fabric
Security and privacy Data Security & Privacy
Growing LLMs, RAG, evals LLM APIs, RAG, Evals
Situational Terraform, Docker, CDC, lineage Terraform, Docker, Governance

Go deep on the tools listed on your CV first. Interviewers ask about what you claim.


A Four-Week Plan

About 6–8 hours a week. Adjust the pace to your interview date.

Week Focus Do
1: Core skills SQL and Python Type out all 15 SQL patterns from memory. Solve five problems a day for a week. Do Lab 01. Refresh Python dictionaries, comprehensions, generators and collections
2: Modelling and pipelines Data modelling, ETL design Model an e-commerce and a ride-sharing business on paper, with grain, facts and dimensions. Explain idempotent loads, backfills and late-arriving data out loud. Do Lab 02 and Lab 05
3: Distributed systems Spark, streaming, storage Read the Spark shuffle, skew and join sections and explain them without notes. Kafka delivery guarantees and consumer groups. Lakehouse table formats. Do Lab 03 and Lab 04
4: Design and stories System design, behavioural Work through each case study aloud, timed at 45 minutes. Write five STAR stories. Do two full mock interviews with a friend or recorded

The most valuable habit: speak your reasoning out loud while you practise. Silent practice does not train the skill that the interview measures.


How to Answer

A repeatable structure works for almost any technical question:

  1. Clarify. Ask about data volume, freshness, correctness needs, NULLs and duplicates, and who consumes the result.
  2. State assumptions. "I'll assume orders are unique by order_id and time is UTC."
  3. Outline the approach in one or two sentences before you write anything.
  4. Solve simply first, then refine. A correct simple answer beats an unfinished clever one.
  5. Test with a tiny example, including edge cases: empty input, ties, NULLs, one row.
  6. Discuss trade-offs and scale: what changes with 1000× the data? What would you monitor?

For system design, use the sequence in System Design: requirements, capacity, architecture, deep dive on the risky parts, failure modes, cost. Draw as you talk.

If you get stuck, say what you are thinking. Interviewers give hints to candidates who communicate, and rarely to those who go silent.


Behavioural Round

Prepare five stories you can adapt to most questions. For each, use STAR: Situation, Task, Action, Result. Spend most of the time on your actions and a measurable result.

Story Typical question it answers
A pipeline failure or data incident you handled "Tell me about a time something broke in production"
A pipeline or query you made much faster or cheaper "Tell me about an optimisation"
A disagreement about a technical decision "How do you handle conflict?"
A project with unclear requirements "How do you work with stakeholders?"
A mistake you made and what you changed after "Tell me about a failure"

Good signals: you took ownership, you communicated early, you fixed the root cause and added a monitor or test, and you can name a number (hours saved, cost reduced, latency cut). Read Pipeline Observability for the incident vocabulary.


Take-Homes and Live Debugging

Take-homes are judged on engineering habits more than cleverness: - Make it runnable in one command, with a README that states assumptions and how to run it. - Idempotent loads, sensible schema, tests for the tricky logic, and data quality checks. - Keep it small and finished. Mention what you would do with more time (monitoring, incremental loads, scaling).

Live debugging gives you a broken query or pipeline. Read the error, form a hypothesis, check the smallest thing that confirms it, and narrate as you go. Common causes: fan-out joins, NULL handling, wrong grain, a timezone shift, a schema change, duplicates from a retry.


Questions to Ask Them

Good questions show judgement and help you decide whether to join.

  • What does the data stack look like, and what is painful about it today?
  • How do you find out when a pipeline is wrong, and how long does it take?
  • What is the on-call arrangement for data incidents?
  • How are schema changes in source systems communicated to the data team?
  • How do data engineers work with analysts, scientists and product?
  • What would success look like for this role in six months?

Common Pitfalls

Pitfall Symptom Fix
Memorising tool trivia You can recite settings but not explain why Learn the problem each tool solves and its trade-offs
Starting to code immediately Solving the wrong problem Clarify and state assumptions first
Ignoring NULLs, duplicates, ties and time zones Correct on the happy path only Ask about them, then handle them
Silent thinking Interviewer cannot help or assess you Narrate your reasoning
One-tool answers to design questions "Just use Spark" for everything Compare at least two options with trade-offs
No numbers in stories Impact sounds vague Quantify: rows, hours, dollars, latency
Claiming tools you have only read about An easy follow-up exposes it List what you have used, and be honest about depth

Cheat Sheet

Situation Do this
Question is vague Ask about scale, freshness, consumers, correctness
SQL problem Name the pattern, write the simple version, test on a tiny table
Pipeline design Sources → ingest → store → transform → serve, then idempotency, backfill, quality, monitoring
"How would it scale?" Where is the bottleneck: shuffle, skew, single writer, hot partition?
"What could go wrong?" Late data, duplicates, schema change, retries, source outage
Out of time Summarise the design and list what you would do next
Stuck Say what you tried, and ask a clarifying question

Interview Questions

Q: Walk me through a pipeline you built end to end. A: Give the context and scale, then follow the data: source, ingestion (batch or CDC), storage layers, transformations, orchestration, quality checks, monitoring, consumers. Highlight one hard problem you solved (late data, a slow join, cost) with a number for the result, and say what you would change now.

Q: How do you make a pipeline idempotent? A: Design each run so that running it twice for the same input gives the same result: overwrite a partition or MERGE on a business key instead of appending blindly, avoid side effects that cannot be repeated, and use deterministic keys. This makes retries and backfills safe.

Q: What would you check first when a dashboard number looks wrong? A: Whether the data is fresh and complete (freshness and row counts by layer), then whether the logic changed (recent deploys, schema changes), then grain and join issues such as fan-out or duplicates. Lineage tells me where to start, and I compare against a trusted source to confirm the fix.

Q: How do you decide between batch and streaming? A: By the freshness the business needs and the cost of being wrong or late. If hourly or daily is enough, batch is simpler and cheaper. Streaming is worth it for use cases with minutes or seconds of tolerance, such as fraud detection or operational alerts, and it adds state, ordering and exactly-once questions.


Further Reading

  • System Design
  • Designing Data-Intensive Applications — Martin Kleppmann (O'Reilly)
  • Fundamentals of Data Engineering — Joe Reis & Matt Housley (O'Reilly)
  • The Data Warehouse Toolkit — Ralph Kimball & Margy Ross (Wiley)
  • Data Engineering Zoomcamp: free, project-based course

Previous: Cost Optimization · Next: SQL Interview Patterns · Back to: Index