Data Engineer Interview Questions (2026) and How to Answer
By FindAJobAI team Updated How we wrote this page
Data engineer interviews usually include a SQL round, a Python exercise, a data modelling task and a pipeline design discussion covering batch and streaming, orchestration (often Airflow) and a warehouse such as Snowflake, BigQuery, Redshift or Databricks.
Interviewers look for reliability habits: idempotent pipelines, data quality checks, and the ability to explain where every number in a dashboard comes from.
Below: 30 questions with what each one really asks and an answer outline, full sample answers to the 10 most asked, red flags to avoid and a 7-day plan.
Answering with STAR
Tell each story in four steps: the situation in a sentence, your task, the actions you took (most of the answer) and the result, with a number if you have one. Aim for about two minutes; the outlines show what to include, the details must be yours.
Behavioural questions (1–10)
How you've handled real situations. Answer each with one true story, in STAR order.
1.Tell me about a pipeline you built that others depended on.
What they're really asking: Ownership of production data, not just scripts that ran once.
Answer outline (STAR)
- SituationA pipeline feeding reports, a product feature or a model.
- TaskMake it reliable and easy to operate.
- ActionOrchestration, retries, idempotent loads, data tests, alerts on failure and freshness.
- ResultFreshness or uptime figures, and the teams relying on it.
Full sample answer (fictional example)
I built the orders pipeline that fed finance reporting and the recommendation service. It ran in Airflow: extract from the operational database with change data capture, load raw to the warehouse, then dbt models. I made every load idempotent by merging on the order ID, added dbt tests for nulls, uniqueness and accepted values, and alerts for failures and for data older than two hours. Over a year 99.8 percent of runs finished on time, and when finance changed a definition I could backfill three months in an afternoon.
2.Tell me about a time bad data reached a dashboard or a customer.
What they're really asking: How you handle data incidents, and what you build to prevent the next one.
Answer outline (STAR)
- SituationWrong numbers that someone downstream noticed.
- TaskFix the data and restore trust.
- ActionFind the faulty source or transformation, backfill, tell the affected users.
- ResultThe data test or contract that now catches it.
Full sample answer (fictional example)
A dashboard showed revenue 12 percent too high for three days before finance noticed. I traced it to a join in a dbt model that duplicated orders when a customer had two addresses. I fixed the join, backfilled the model, and told finance and the executives who had seen the numbers, with a note on which dates were wrong. Then I added a uniqueness test on order ID to that model and a reconciliation test comparing our revenue with the payments system each morning. It has caught two issues since, both before anyone opened a dashboard.
3.Describe a time you made a pipeline much faster or cheaper.
What they're really asking: Performance and cost thinking in data systems.
Answer outline (STAR)
- SituationA job that ran for hours or burned too many warehouse credits.
- TaskCut runtime or cost without changing the results.
- ActionIncremental loads, partitioning and clustering, pruning columns, fixing skewed joins.
- ResultRuntime and cost, before and after.
Full sample answer (fictional example)
A nightly job rebuilt a 2-billion-row events table from scratch, taking five hours and costing about $300 a night. I switched it to an incremental model that processes only new partitions, partitioned the table by event date and clustered it by customer ID, and selected only the columns the downstream models used. Runtime dropped to 25 minutes and cost to about $25. I validated by comparing the incremental output with a full rebuild for a week, with identical results, and kept a monthly full refresh as a safety net.
4.Tell me about helping analysts or data scientists who were blocked on data.
What they're really asking: Do you serve your internal customers well?
Answer outline (STAR)
- SituationA team blocked on data it couldn't get or trust.
- TaskUnderstand the real need and deliver a model they could use.
- ActionClarify their questions, design a clean table, document the definitions.
- ResultWhat they built with it, and fewer ad hoc requests.
5.Tell me about a data platform migration you worked on.
What they're really asking: Planning, validation, and running old and new side by side.
Answer outline (STAR)
- SituationA move to a new warehouse, orchestrator or file format.
- TaskMigrate without breaking anything downstream.
- ActionInventory the jobs, move them in waves, compare outputs row by row, then cut over.
- ResultDowntime avoided, and the cost or speed gained.
Full sample answer (fictional example)
We moved from a self-managed Hadoop cluster to Snowflake over seven months. I inventoried 180 jobs and ranked them by importance and difficulty, then moved them in four waves, starting with the least critical. For each job we ran old and new side by side for two weeks and compared outputs row by row, investigating every difference. We cut over each wave on a Monday morning with the old system on standby. The main reports went from three hours to 40 minutes, and the bill dropped by about a third once the cluster was switched off.
6.Tell me about designing a data model for a new business area.
What they're really asking: Can you turn messy business processes into a model people can query?
Answer outline (STAR)
- SituationA new product line or team with no reporting model.
- TaskDesign tables analysts could use without help.
- ActionInterview the users, find the grain and key entities, prototype, review with analysts.
- ResultAdoption, and how few clarifying questions followed.
7.Tell me about making data easier to find and understand.
What they're really asking: Do you care that people can use what you build?
Answer outline (STAR)
- SituationAnalysts spending hours asking where numbers lived.
- TaskCut the time to find and trust data.
- ActionAdd a catalogue, owners, column descriptions and lineage, starting with the top tables.
- ResultFewer questions, and time to first answer for new joiners.
8.Tell me about a pipeline that failed overnight.
What they're really asking: Do you handle on-call calmly, and fix causes?
Answer outline (STAR)
- SituationA critical load failing before the morning reports.
- TaskRecover before users arrived, then stop a repeat.
- ActionCheck logs and the last good run, rerun safely, tell consumers about the delay.
- ResultHow late the data was, and the alert or retry rule you added.
9.Tell me about handling personal data in a pipeline.
What they're really asking: Do you build privacy in, not bolt it on?
Answer outline (STAR)
- SituationA pipeline carrying names, emails, health or payment details.
- TaskKeep it compliant without blocking analysis.
- ActionClassify columns, mask or hash fields, restrict access, set retention and deletion jobs.
- ResultThe audit outcome, and the self-service access that remained.
10.Tell me about replacing a fragile script or spreadsheet process with a pipeline.
What they're really asking: Can you turn someone's manual process into a dependable one?
Answer outline (STAR)
- SituationA weekly report built by hand from exports.
- TaskAutomate it without losing logic only one person knew.
- ActionDocument the rules with the owner, rebuild in the orchestrator, reconcile for a month.
- ResultHours saved, errors removed, and the owner's reaction.
Technical and role-skill questions (11–22)
Can you do the work itself? Think out loud and name the trade-offs.
11.Write a SQL query that returns each customer's most recent order.
What they're really asking: Window functions, the most tested SQL skill for data roles.
Answer outline
- Use ROW_NUMBER() partitioned by customer, ordered by order date descending, and keep row 1.
- Mention the alternative, a join on MAX(order_date), and how each one handles ties.
- On large tables, talk about clustering or partitioning by customer and date.
Full sample answer (fictional example)
I'd use a window function: ROW_NUMBER over a partition by customer ID, ordered by order date descending, then keep the rows where the number is 1. If two orders share a timestamp, I'd add a tiebreaker such as the order ID so the result is deterministic. The alternative is to join to a subquery that takes the MAX order date per customer; that returns both rows on a tie, which might be what you want or a bug. On a large table I'd check that it is partitioned or clustered so the query doesn't scan everything.
12.How would you design a star schema for e-commerce analytics?
What they're really asking: Can you model data so analysts can query it simply and correctly?
Answer outline
- A fact table at order-line grain, with measures such as quantity and revenue.
- Dimensions for customer, product, date and channel, joined on surrogate keys.
- Handle changing attributes with slowly changing dimensions, usually type 2.
13.Batch or streaming: how do you decide?
What they're really asking: Matching the architecture to real latency needs.
Answer outline
- Ask how fresh the data really needs to be, and what that freshness is worth.
- Batch is simpler and cheaper; streaming (Kafka, Flink, Spark Structured Streaming) is for minutes or seconds.
- Micro-batches are often a good middle ground.
14.What makes a pipeline idempotent, and why does it matter?
What they're really asking: Safe reruns and backfills, a core reliability skill.
Answer outline
- Running it twice for the same period gives the same result, with no duplicates.
- Overwrite by partition or MERGE on a key instead of appending blindly.
- That makes retries and backfills safe.
Full sample answer (fictional example)
A pipeline is idempotent if running it twice for the same period gives the same result as running it once, with no duplicates and no missing rows. It matters because jobs fail halfway and get retried, and because we backfill history. I achieve it by writing in a way that replaces instead of appends: overwrite the partition for that date, or MERGE on a business key. I avoid depending on the time of the run, by using the logical date as a parameter. Then retries and backfills are safe, and nobody has to clean up afterwards.
15.How do you test data quality in a pipeline?
What they're really asking: Do you catch problems before your users do?
Answer outline
- Schema, null, uniqueness and accepted-value tests, for example in dbt.
- Freshness and volume checks that alert on anomalies.
- Data contracts with the producers of critical sources.
Full sample answer (fictional example)
I'd test at three levels. In the transformations I'd add tests, for example in dbt: not null on keys, uniqueness, accepted values and relationships between tables. For arriving data, I'd add freshness and volume checks that alert when a table hasn't updated or the row count drops sharply compared with a normal week. And for the most important sources I'd push for data contracts with the producing teams, so a schema change is caught in their pull request, not in our pipeline at night. Failing tests should stop bad data reaching dashboards.
16.A Spark job is slow because of data skew. How do you fix it?
What they're really asking: Do you understand what Spark is doing under the hood?
Answer outline
- Spot it in the Spark UI: a few tasks run far longer than the rest.
- Salt the hot keys, broadcast the small side of the join, or turn on adaptive query execution.
- Repartition sensibly and avoid shuffles you don't need.
17.How do you handle late-arriving or changing records?
What they're really asking: Real-world data is messy; do you design for it?
Answer outline
- Use event time, watermarks and a reprocessing window for late events.
- Upsert on a business key with MERGE or change data capture.
- Keep history where it matters, with slowly changing dimensions.
18.What is the difference between ETL and ELT, and why is ELT so common now?
What they're really asking: Do you understand how warehouse design changed pipeline design?
Answer outline
- ETL transforms before loading; ELT loads raw data first and transforms inside the warehouse.
- Cheap storage and scalable warehouses made ELT practical, with tools like dbt.
- ETL still fits when data must be masked or reduced before it lands.
19.How do partitioning and clustering work in a warehouse, and how do you choose the keys?
What they're really asking: Do you know how data layout drives query cost?
Answer outline
- Partitions split a table, often by date, so queries skip data they don't need.
- Clustering sorts data within partitions by columns used in filters and joins.
- Choose keys from real query patterns, and avoid so many partitions that files get tiny.
20.What is change data capture, and when would you use it?
What they're really asking: Can you move changes from operational databases without hammering them?
Answer outline
- CDC reads the database's transaction log and streams inserts, updates and deletes.
- It beats nightly full copies for freshness, load and capturing deletes.
- Handle schema changes, ordering and initial snapshots, and monitor lag.
21.How would you set up an Airflow DAG to handle retries, backfills and dependencies?
What they're really asking: Do you design orchestration for real operations, not just the happy path?
Answer outline
- Keep tasks small and idempotent, with retries, timeouts and clear dependencies.
- Parameterise by logical date so a backfill runs the same code for old periods.
- Alert on failure and on late runs, and use sensors only where really needed.
22.Write a SQL query for users who logged in on three consecutive days.
What they're really asking: A classic SQL puzzle: can you handle runs in sequences?
Answer outline
- Deduplicate to one row per user per day.
- Subtract a ROW_NUMBER from the date so consecutive days share a group key.
- Count rows per group and keep groups of three or more; or compare days with LAG.
Take-home or live exercise: tips
Data engineer interviews often include a live SQL round, a Python or Spark exercise on a messy file, and a take-home pipeline or modelling task.
- Ask about the grain and the keys before writing a query or schema; it prevents silent duplicates.
- Make your pipeline code idempotent, and say how it behaves when it fails halfway.
- Add a couple of data tests and a short README stating your assumptions and how you'd monitor it.
Skills employers test for
Technical rounds follow the job ad. These skills are named most often in the 470 newest data engineer job ads we analysed (out of 2,756 live postings), shown as the share of ads that mention each. Expect questions on the top few.
- 1SQL79%
- 2Python79%
- 3ETL75%
- 4Data modeling50%
- 5Data quality49%
- 6AWS47%
- 7Apache Spark44%
- 8CI/CD44%
Full list: Data Engineer resume keywords.
From live job ads · computed November 2, 2026 · refreshed daily
Situational questions (23–30)
Scenarios that test judgement: say what you'd do first, and why.
23.A stakeholder says the revenue figure on a dashboard is wrong. What do you do?
What they're really asking: Can you trace a number to its source without getting defensive?
Answer outline
- Ask what number they expected, and where their number came from.
- Trace the lineage from the dashboard back to the source, comparing definitions at each step.
- Fix it or explain it, then document the metric's definition.
Full sample answer (fictional example)
I'd ask what number they expected and where theirs came from, without defending ours, because the gap is often a definition: gross or net, local time zone or UTC, refunds in or out. Then I'd trace the figure from the dashboard back through the models to the source, comparing numbers at each step until they diverge. If we're wrong, I'd fix it, backfill, and tell people who used the number. If it's a definition difference, I'd explain it and write the definition into the metric's documentation so the question doesn't return.
24.An upstream team changes a schema without warning and your pipeline breaks. What do you do?
What they're really asking: Do you fix the break and also stop it happening again?
Answer outline
- Restore the pipeline quickly, by mapping the new field or pausing the load.
- Tell downstream users about any delay.
- Propose a data contract or schema checks in the producer's CI.
Full sample answer (fictional example)
First I'd restore the pipeline fast, either by mapping the new column name in the transformation or by pausing the load for that source so bad data doesn't land. I'd tell downstream users about the delay and when to expect fresh data. Then I'd talk to the upstream team, without blame, about how we find out about changes. The lasting fix is a data contract: a schema check in their CI that fails when a column we depend on is renamed or removed, plus a channel where breaking changes are announced.
25.Warehouse costs doubled in two months. How do you investigate?
What they're really asking: Do you treat warehouse cost as part of your job?
Answer outline
- Use the query history to find the most expensive queries, users and jobs.
- Replace full scans with partition pruning and incremental models.
- Set warehouse sizes, auto-suspend and per-team budgets.
Full sample answer (fictional example)
I'd start with the warehouse's query history and usage views, ranking queries, users and jobs by credits used and comparing the last two months to see what changed. Usually a few things explain most of the increase: a new model doing full scans, a dashboard refreshing every few minutes, or a warehouse left running. I'd fix the top offenders with partition pruning and incremental models, right-size warehouses and set auto-suspend. Then I'd set budgets and alerts per team so a cost jump is noticed within days.
26.Two teams define "active customer" differently. How do you resolve it?
What they're really asking: Can you settle a definition dispute without picking a winner?
Answer outline
- Put both definitions and their uses side by side with both teams.
- Agree one name per definition rather than forcing a single winner.
- Encode them in a semantic layer or documented models.
27.A daily job that finished at 6 a.m. now finishes at 11 a.m. What do you do?
What they're really asking: Do you diagnose a slowdown methodically, and protect the consumers?
Answer outline
- Tell downstream teams about the delay now, with an estimate.
- Compare task durations with the last good run: data volume, a slow query or a queue.
- Fix the biggest contributor, and alert when run time drifts from its normal range.
28.You find duplicate rows in a core table that dashboards depend on. How do you fix it?
What they're really asking: Can you repair data safely and stop duplicates returning?
Answer outline
- Quantify the damage, and tell the users whose numbers are affected.
- Find the cause: a non-idempotent load, a double-delivered source or a bad join.
- Repair in a copy, validate, swap, and add a uniqueness test.
29.A source system can only send CSV files by email. How do you ingest them?
What they're really asking: Can you build something dependable on an awkward source?
Answer outline
- Push the vendor for an API or file drop; if impossible, accept the email.
- Land attachments in storage unchanged, then validate schema, row counts and duplicates.
- Alert when a file doesn't arrive, and keep the raw files for replay.
30.A user requests deletion of their data under privacy law. How do you handle it across your tables?
What they're really asking: Do you know where personal data lives, and can you delete it?
Answer outline
- Use the catalogue or lineage to find every table and backup holding their data.
- Delete or anonymise by key through a tested job, and log the proof.
- Make deletion part of the design for new tables, including retention rules.
Red flags to avoid in your answers
Each one is quick to fix before the day.
Calling a script that ran once a pipeline.
Describe retries, alerts, backfills and who is on call when it fails.
Having no answer to 'how do you know the data is right?'
Name the tests, reconciliations and freshness checks that tell you before users do.
Choosing streaming because it sounds modern.
Ask how fresh the data must be, and price the added complexity.
Blaming analysts or upstream teams for bad data.
Describe the contract, test or conversation that fixed the cause.
How to prepare for a data engineer interview in 7 days
An hour or two a day is enough; the order matters more than the length.
Day 1: Read the stack
List the warehouse, orchestrator and languages in the ad, and note which tools you have only read about.
Day 2: SQL under the clock
Do six timed queries on joins, windows, dates and gaps, saying aloud how you'd check each result.
Day 3: Model from a story
Take a plain business description, such as a ride-sharing app, and sketch facts and dimensions in 20 minutes.
Day 4: Pipeline design
Whiteboard a batch pipeline and a streaming one, marking idempotency, retries and quality checks.
Day 5: Your best pipeline
Write out one pipeline you built, with failures, numbers and what you'd change, then tell it in four minutes.
Day 6: Spark and costs
Review skew, shuffles and partitioning, plus your warehouse's cost model, with one example of each.
Day 7: Full dry run
Run a mock with a friend: SQL, design and two behavioural questions. Then rest.
Questions to ask the interviewer
Pick two or three; the answers tell you whether you want the job.
- Which warehouse, orchestrator and transformation tools do you use?
- Who consumes the data, and how do they report problems?
- How do you test and monitor data quality today?
- Do data engineers own their pipelines end to end, including on-call?
- What's the biggest data reliability problem right now?
Preparation tips
- Practise SQL against the clock: window functions, CTEs, joins and aggregations.
- Be ready to model a schema on a whiteboard from a plain business description.
- Prepare one pipeline you built and walk through how it handles failure.
- Know your warehouse's cost model and how partitioning or clustering changes it.
Prepare the general questions too: tell me about yourself, why do you want to work here? and why are you leaving? Afterwards, send a thank-you email; when the offer comes, negotiate the salary.
How we wrote this page
The FindAJobAI team wrote the questions, outlines and sample answers for data engineer interviews. The people, employers and numbers in the samples are invented: copy the structure, and use details from your own work.
The live skills section is based on 470 data engineer job ads analysed, the newest we track, with the same deterministic skill matcher as our in-demand skills report: no AI model reads the postings. It was last computed on November 2, 2026 and refreshes daily.
Last reviewed on November 1, 2026.