What the loop looks like
| Round | Format | What it tests |
|---|---|---|
| SQL screen | 45 min, live editor | Window functions, joins, aggregation under time pressure |
| Data modelling | 45 min, whiteboard or doc | Schema design, normalisation, slowly changing dimensions |
| Pipeline design | 45-60 min | Batch vs streaming, idempotency, backfills, failure handling |
| Coding | 45 min | Python, usually lighter than a pure SWE round |
| Behavioral | 45 min | Ownership of data quality incidents |
SQL questions
- Window functions. Running totals, rank within a group, deduplicate keeping the latest row. If you prepare one thing, prepare these.
- Self-joins and gaps-and-islands. Consecutive-day streaks, sessionising events.
- Aggregation with conditions - conditional counts, pivoting with CASE.
- Date handling - rolling windows, month-over-month change, handling time zones.
- The explain question - how would you speed this query up. Indexes, partition pruning, avoiding a full scan.
Worked set and practice notes are in SQL interview questions.
Data modelling questions
- Design a schema for an e-commerce order system, then handle returns and partial refunds.
- Star schema versus normalised: when would you denormalise, and what does it cost you?
- How do you handle slowly changing dimensions - and which type, and why?
- How would you model an event stream where events arrive late or out of order?
Pipeline design questions, where the loop is won
Expect an open prompt - ingest clickstream data and make it queryable - then follow-ups that break it. The follow-ups are the question:
- Idempotency. What happens if the job runs twice? A pipeline that cannot be safely re-run is the most common real-world failure.
- Backfills. How do you reprocess six months of history without taking the system down or double-counting?
- Late-arriving data. Events from yesterday showing up today, and what that does to yesterday's aggregates.
- Schema evolution. A producer adds a field, or changes a type. What breaks?
- Batch versus streaming. Expect to justify the choice on latency requirements, not on preference.
- Data quality. How would you know this pipeline silently produced wrong numbers?
The last one is the question that separates candidates. Say what you would monitor - row counts against expectation, null rates, freshness, referential checks - and that alerts go somewhere a person actually reads.
How depth changes with experience
- 0-2 years: SQL correctness, basic modelling, one pipeline you can describe end to end.
- 3-5 years: failure handling, cost awareness, the trade-off conversations above.
- 6+ years: platform decisions, migrations, how you got an organisation to trust its data.
Where CoPilot Interview fits
Disclosure: we build an interview assistant, so treat this as a disclosed pitch. CoPilot Interview is a native Windows and macOS app that puts suggested answers on your own screen in about two seconds, across coding, system design and behavioral rounds, with a permanent free tier that needs no credit card.
There is a role-specific page at data engineer interview help, and the general structure of a technical loop is covered in the coding interview cheat sheet.
Frequently asked questions
What questions are asked in a data engineer interview?
Four categories: SQL under time pressure (especially window functions and deduplication), data modelling including slowly changing dimensions, pipeline design with heavy follow-ups on idempotency and backfills, and a lighter Python coding round. Behavioral questions tend to focus on ownership of data quality incidents.
How much SQL do you need for a data engineering interview?
More than most candidates expect, and fluently rather than eventually. Window functions, self-joins, gaps-and-islands problems and conditional aggregation all come up regularly, and you are usually writing them live rather than at your own pace.
What is the hardest part of a data engineering interview?
The pipeline design round, because it is mostly about failure modes rather than the happy path. The follow-ups - what if the job runs twice, how do you backfill, what about late-arriving data - are the actual question, and they are hard to prepare without having been on call for a pipeline.
Do data engineers get LeetCode questions?
Usually lighter ones than software engineers. Expect practical Python rather than hard dynamic programming, with the difficulty budget spent on SQL and system design instead.
Walk into the round with a second pair of eyes
CoPilot Interview is a native Windows and macOS app that puts suggested answers on your own screen in about two seconds, across coding, system design and behavioral rounds. The free tier is permanent: 15 minutes a day, no credit card.
Try it free