Data engineer interviews
Data engineer interview
The questions junior and graduate data engineer interviews ask, from pipelines and data modelling to design rounds and your own projects, each with a free guide. Then practise them out loud, and try the coding part in your browser.
The short answer
Junior data engineer interviews test the same SQL as analyst interviews, then ask how you’d move data through a pipeline, model tables and keep data right when it arrives late, twice or broken, often with a design round you talk through out loud. Practise the SQL and Python in your browser, and the design and project questions out loud.
What the interview covers
Junior data engineer interviews test the same SQL as analyst interviews, then go further: Python for handling records, how data moves through a pipeline, how tables are modelled, and how you keep data right when it arrives late, twice or broken. Many include a design round, where you talk through tables or a pipeline out loud, and questions about a project or take-home task you built.
Fewer junior roles are advertised than for analysts, and many data engineers start as analysts first. If you’re weighing the two, try the two-minute analyst or engineer quiz on Deeplink Toolkit, and read how to become a data engineer in the UK on Deeplink Coaching.
Want a day-by-day route through these questions and the coding part? Follow the four-week data engineer interview plan
How to prepare
Learn what each question is testing
Read the guides below, starting with pipelines and data modelling.
See the questionsRehearse a design round
Talk through a small pipeline from source to table: what could go wrong, and how you’d check it.
How to answer a pipeline design questionWarm up the SQL and Python
Duplicates, incremental loads, change feeds and nested records, on realistic data, checked by hidden tests.
Python interview questions to practisePractise out loud, against the clock
Answer a set of data engineer questions on camera, or with an AI interviewer that asks follow-ups, and read your feedback.
See a sample report
Questions for other data roles
- Data analyst interview questionsData analyst interviews
- Product analyst interview questionsProduct analyst interviews
- Finance data analyst interview questionsBanking, insurance and fintech
- Healthcare data analyst interview questionsNHS and healthcare
- Retail data analyst interview questionsRetail and e-commerce
The questions
Grouped the way
Technical questions to answer out loud
Pipelines, data modelling, data quality, performance and cloud warehouses, explained as you would to an interviewer.
- What’s the difference between ETL and ELT, and when would you choose each?Pipelines · 2 minutes to answer
- Explain idempotency to a new analyst on your team, using a job that runs every night as the example.Pipelines · 2 minutes to answer
- When is a full reload better than an incremental load, and when does it stop being affordable?Pipelines · 2 minutes to answer
- When would you process data in batches, and when would you stream it? Give an example of each.Pipelines · 2 minutes to answer
- How does change data capture differ from taking a nightly copy of a table, and what can go wrong with each?Pipelines · 2 minutes 30 seconds to answer
- What’s the difference between a fact table and a dimension table? Use a cinema’s ticket sales as your example.Data modelling · 2 minutes to answer
- What’s a surrogate key, and why might a warehouse table need one when the source system already has its own ID?Data modelling · 2 minutes to answer
- What is a slowly changing dimension, and when would you keep history with type 2 rather than overwrite the old value?Data modelling · 2 minutes to answer
- How would you test a SQL transformation before it goes into production?Data quality · 2 minutes to answer
- What should a data contract between an application team and a data team say, and how would you check it’s being kept?Data quality · 2 minutes to answer
- Last night’s pipeline finished without errors, but this morning’s dashboard shows about half the usual number of orders. What do you check first?Data quality · 2 minutes 30 seconds to answer
- How do partitioning and clustering work in a cloud data warehouse, and how would a poor choice show up on the bill?Cloud warehouses · 2 minutes to answer
- A year of electricity meter readings is stored as 40,000 small files. Why might queries on it be slow, and what would you do about it?Performance · 2 minutes to answer
- A Spark job is quick on test data, but in production one task runs for hours while the rest finish in minutes. What might be happening, and what would you try?Performance · 2 minutes to answer
- Explain what happens when someone types a web address into their browser, to a person who has never thought about it.Explaining technical ideas · 2 minutes to answer
- A feature works on your machine but fails for some users after release. How would you go about finding the cause?Debugging · 2 minutes 30 seconds to answer
Design questions
Designing tables or a pipeline out loud: what you’d ask first, the choices you’d make and why.
- Design the tables for a city’s bike hire scheme so the council can see journeys by station, hour and type of member.Data modelling · 5 minutes to answer
- Design a data model for a parcel carrier so managers can see what share of parcels are delivered on time, by depot, day and delivery service.Data modelling · 5 minutes to answer
- How would you design a table of customers’ addresses so analysts can see where someone lived on any given date?Data modelling · 5 minutes to answer
- A group of GP surgeries wants yesterday’s appointments from three different booking systems in one warehouse by 7am each day. Talk me through the pipeline you’d build.Pipelines · 5 minutes to answer
- Five hundred sensors send a reading every minute, but some readings arrive late or out of order. How would you produce hourly averages that stay right when late data turns up?Pipelines · 5 minutes to answer
- You need to backfill three years of history into a table that already feeds live dashboards. How would you do it safely?Pipelines · 5 minutes to answer
- A supplier sends you a price file every day. Sometimes they send the same file twice, and sometimes a corrected version of an earlier day’s file. How would you design the load?Pipelines · 5 minutes to answer
- A supplier sends you a file every night. What checks would you build so that the pipeline stops, rather than publishes, when the file is broken?Data quality · 5 minutes to answer
Your projects and take-home tasks
Walking through something you built: the data, your choices, how you tested it and what you’d change.
- Walk me through a data project you’re proud of: the question, the data, what you did and what you found.Portfolio · 3 minutes to answer
- Walk me through a technical project you’ve built or contributed to: what it did, your part, and one decision you’d make differently now.Portfolio · 3 minutes to answer
- Walk me through a piece of data work you did to a deadline, such as a take-home task or a coursework assignment. What would you change if you had more time?Take-home · 3 minutes to answer
- In a project or take-home task with a loose brief, what assumptions did you have to make, and how did you check them or make them visible?Take-home · 2 minutes to answer
- Pick a project you’ve done. How did you check that your results, or your pipeline, were right before anyone relied on them?Portfolio · 2 minutes to answer
- What’s the hardest bug or data problem you’ve had to track down in a project, and how did you find it?Portfolio · 2 minutes 30 seconds to answer
- Tell me about a project where the data turned out to be different from what you expected. How did you notice, and what did you change?Portfolio · 2 minutes to answer
- If you started your most recent data project again tomorrow, what would you do differently, and why?Portfolio · 2 minutes to answer
Tools and ways of working
Version control, SQL transformations in tested layers, scheduling and alerts, documentation and handovers.
- Six months ago you built a dashboard for the sales team, and the usage figures show hardly anyone opens it. What do you do?1 minute 30 seconds to answer
- Tell me about a time you replaced a manual task, such as a spreadsheet updated by hand, with a query or a script. How did you make sure the new version was right?Initiative · 2 minutes to answer
- Why should analysts use version control for their queries and scripts, and what does good practice with it look like day to day?Ways of working · 2 minutes to answer
- Explain how you’d organise a team’s SQL transformations into layers, with tests, so that people can trust the tables they use.Data quality · 2 minutes to answer
- A report must be refreshed by 6am every day. How would you schedule it, and set up alerts so problems are caught without flooding people with messages?Pipelines · 2 minutes to answer
- You’ve built a dataset that other analysts will use. What would you write down about it, and how would you keep that documentation useful?Ways of working · 2 minutes to answer
- You’re going on three weeks’ leave tomorrow, and a colleague will run your weekly report while you’re away. How do you hand it over?1 minute 30 seconds to answer
- An AI assistant writes you a SQL query that runs without errors and returns a plausible number. How would you check it before you use the result?SQL · 2 minutes to answer
- When would you do a piece of analysis in Excel, when in SQL and when in Python? Give an example of each.Tools · 2 minutes to answer
- Tell me about a time you inherited code or a spreadsheet that nobody understood. How did you make sense of it?Problem solving · 2 minutes to answer
- A query you wrote is running very slowly. What would you check first?SQL · 1 minute 30 seconds to answer
Behavioural questions about data work
“Tell me about a time…” questions, with examples from data work.
- Tell me about a time you caught a mistake that others had missed. How did you find it, and what happened next?Attention to detail · 2 minutes to answer
- Describe a time you had to explain something complicated to someone without your background. How did you make sure they understood?Communication · 2 minutes to answer
- Describe a problem you solved where the answer wasn’t obvious. How did you work out what to do?Problem solving · 2 minutes to answer
- Describe a time you had to learn something new quickly. How did you go about it?Learning · 2 minutes to answer
- Tell me about a time you disagreed with a teammate about how to build or fix something. How did you resolve it?Teamwork · 2 minutes to answer
- You realise a spreadsheet your team sent to a client yesterday contains an error you made. What do you do?1 minute 30 seconds to answer
- Tell me about a time you told someone you weren’t confident in a result they wanted to use straight away. What happened?Integrity · 2 minutes to answer
- Tell me about a time you turned down, or reshaped, a request for analysis. What did you offer instead?Judgement · 2 minutes to answer
- Tell me about a time you had to decide whether to use a piece of personal data at all, not just how to keep it safe.Integrity · 2 minutes to answer
- Tell me about a time something you built broke after it went live. How did you find out, and what did you change afterwards?Resilience · 2 minutes to answer
- Tell me about a time you chose between a quick fix and a proper one. Would you make the same choice again?Decision making · 2 minutes to answer
- Describe a time you explained a technical limit to someone who just wanted the data sooner. How did you handle it?Communication · 2 minutes to answer
- Tell me about a time your analysis changed what someone decided to do. How did you make the case?Influencing · 2 minutes to answer
The coding part
Practise the live task
A first set of original SQL and Python questions from junior data engineering work, easiest first, with realistic data: write your answer, run it and check it against hidden tests. Free, with no account needed.
- Duplicate meter readingsSQL · Easy · about 8 minutes
- Remove duplicate eventsPython · Easy · about 10 minutes
- Incremental load with a watermarkSQL · Medium · about 15 minutes
- Flatten nested JSON recordsPython · Medium · about 20 minutes
- Current state from a change feedSQL · Medium · about 12 minutes
- Idempotent upserts and deletesPython · Hard · about 25 minutes
Interview guides
Read
In-depth guides for data engineer interviews, with worked answers and a practice checklist.
- 7 min read
How to talk through a data project in an interview
A five-part structure, a worked example, a one-minute version and the follow-ups you’ll get.
- 7 min read
How to explain your SQL out loud in an interview
What to say before, during and after a live SQL task, and how to recover from a mistake.
- 7 min read
How to answer a data pipeline design question as a junior data engineer
A route from source to users, the reliability questions that matter, and a worked council example.
The SQL part of these interviews is often the same as for analysts: see the data analyst interview questions too.