Data Engineer Coding Practice
A DE loop puts you in front of 4 surfaces: SQL on a warehouse, Python in a notebook or script, PySpark on a cluster, and a pipeline design on a whiteboard. Practice that only covers SQL leaves you cold on the other 3. The 1,569 problems here split across all 4, and every one runs on the engine that surface targets, so what comes back is what an interviewer watching your screen would see.
A DE loop puts you in front of 4 surfaces: SQL on a warehouse, Python in a notebook or script, PySpark on a cluster, and a pipeline design on a whiteboard. Practice that only covers SQL leaves you cold on the other 3. The 1,569 problems here split across all 4, and every one runs on the engine that surface targets, so what comes back is what an interviewer watching your screen would see.
Where the prep time should go
% of DE coding interview surface area by category. The biggest miss most candidates make is over-investing in algorithm DSA.
4 coding surfaces, and what each one checks
The shape of the surface drives the shape of the practice. Your SQL has to return the rows the question asked for. Your Python has to survive the test cases, including the ones you did not think of. PySpark comes down to whether the resulting DataFrame holds up. Design gets read the way a staff engineer reads an architecture proposal, dimension by dimension.
WITH ranked AS (
SELECT *, ROW_NUMBER() OVER (
PARTITION BY user_id ORDER BY event_at DESC
) AS rn
FROM events
)
SELECT * FROM ranked WHERE rn = 1;def validate(records, schema):
clean, bad = [], []
for i, r in enumerate(records):
errs = check(r, schema)
(bad if errs else clean).append(
{"i": i, "errs": errs, "r": r}
if errs else r)
return clean, badw = Window.partitionBy("user_id") \
.orderBy(F.desc("event_at"))
df.withColumn("rn", F.row_number().over(w)) \
.filter("rn = 1") \
.drop("rn")[Source] -> [Kafka topic] -> [Flink job]
↓
[DLQ topic]
↓
[S3 bronze]
↓
[dbt incremental]
↓
[Snowflake gold]6-week DE coding prep plan
Calibrated to a candidate with working SQL/Python knowledge targeting a mid-to-senior DE role.
| Week | Surface focus | Daily volume | Target volume | Pass criteria |
|---|---|---|---|---|
| Weeks 1-2 | SQL foundations + topic coverage | 60-90 min | 40-50 SQL problems across joins, GROUP BY, basic window functions | Solve any Easy in <5 min, any Medium in <15 min |
| Weeks 3-4 | SQL window functions + Python patterns | 90-120 min | 30 more SQL (window-heavy) + 25-30 Python (parsing, dedup, validation) | Top-N per group automatic. Write a structured-error validator from memory. |
| Week 5 | PySpark (if relevant) + pipeline design | 2 hr | 20-30 PySpark + 6-8 design canvas problems | Recognize broadcast vs sort-merge threshold. Pick batch vs streaming for a stated SLA. |
| Week 6 | Mocks + weak spots | 60-90 min + 1-2 mocks | Drill mode on weakest topic. 3-4 AI mock loops. | Pass 8 of 10 timed Mediums. Mock verdict consistent across runs. |
Python appears in most data engineer loops as a data-wrangling round rather than an algorithms one. Working the Python interview questions alongside the Python practice problems is the most direct preparation for it.
One SQL problem, the way it shows up in the loop
A growing share of coding rounds are run with an AI assistant enabled, which is a different skill from writing the same code unaided. The AI coding interview questions cover how that round is scored, and the AI coding practice problems run it in an agentic editor.
DE coding practice FAQ
Is this LeetCode for data engineers?+
Do I need Docker or any local install?+
What languages are supported?+
How long does it take to get DE-interview-ready?+
Should I skip PySpark?+
Are the problems based on real interviews?+
Start week 1, day 1
- 01
Reading a solution is not the same as writing one
Every engineer who has frozen on a query they had read a dozen times knows the gap. The only preparation that closes it is producing the answer yourself, under time, before the interview does it for you
- 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
- 03
5 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
Adjacent practice
DE Interview Questions
Every question by round, with the answer an interviewer scores.
DE Interview Prep, Round by Round
Round-by-round breakdown of what each DE interview surface tests.
StrataScratch vs DataDriven
Which coding and design rounds each site covers for data engineers
LeetCode for data engineers: DataDriven vs LeetCode
LeetCode's SQL problems and the rounds it has no problems for, compared for data engineers
HackerRank for data engineers: DataDriven vs HackerRank
HackerRank's SQL challenges and its data engineer tests, compared for data engineers
DataLemur for data engineers: DataLemur vs DataDriven
DataLemur's SQL and Python questions compared with the coding rounds of a data engineering loop
The data engineering challenge
Dirty, production-shaped data, scored blind each week.