Interviewing

Data Engineer Interview Prep for 0–2 Years of Experience

Six weeks for an early-career loop: the basics of each round, then your own project.

6 weeks122 steps~22h total
Start this plan

It opens on your dashboard and ticks itself off as you go. Every step below is a chapter or an exercise that already ships.

01

When you finish, you can

You can prepare every round of an early-career loop and defend your own project.

Loop day Ready for an early-career loop

02

The plan, 6 weeks

Ordered by what each one buys you, not by topic. Every step says why it is here.

  1. Week 01 · ~3h

    SQL: read, join, group and rank

    You can query, join, group and rank a table without double counting.

    Skip this if you write a join with a window rank in 15 minutes.

    1. SectionNULL: the missing value6 minNULL is missing, not zero. Filters treat it differently.
    2. SectionOne row per group6 minOne row per group. Aggregate everything else.
    3. ExerciseRevenue and orders by status10 minin the studioCount and sum per group.
    4. SectionFilter groups with HAVING6 minWHERE filters rows. HAVING filters groups.
    5. ExerciseBest selling products, paid only15 minin the studioWHERE and HAVING in one query.
    6. InterviewDISTINCT vs GROUP BY6 minTwo ways to remove repeats. They differ.
    7. SectionINNER JOIN: only matches6 minKnow which rows an inner join drops.
    8. SectionLEFT JOIN: keep every left row6 minKeep every left row, even with no match.
    9. ExerciseCustomers who never ordered12 minin the studioLEFT JOIN plus IS NULL: the anti-join.
    10. InterviewIN vs EXISTS6 minThe opener most screens use. NULLs decide it.
    11. SectionFan-out: sums that double6 minA join can multiply rows. Check the counts.
    12. ExerciseRevenue per customer without double counting15 minin the studioSum per customer without double counting.
    13. SectionTies: three ranking functions6 minThe three differ only when rows tie.
    14. SectionTop N per group6 minRank inside each group, then keep the top.
    15. ExerciseTop buyers by revenue15 minin the studioAggregate at the right grain first, then rank.
    16. SectionLatest row per key6 minName the dedupe key before you write the window.
    17. ExerciseDeduplicate order snapshots15 minin the studioLatest row per key: the most reused pattern.
    18. QuestionsSQL · Conceptual15 minSay each answer aloud, with no editor open.
  2. Week 02 · ~4h

    Python: dicts, files and bad rows

    You can read records, group them, dedupe them and explain mutability.

    Skip this if you clean a messy file in plain Python unaided.

    1. SectionA record is a dict4 minA record is a dict. Start there.
    2. SectionGroup and count6 minGroup and count with a dict.
    3. ExerciseCount events by type20 minin the studioCount with a dict. Mind the ordering.
    4. SectionSets and distinct values6 minA set removes repeats and answers "is it there?"
    5. ExerciseDeduplicate rows, first one wins20 minin the studioFirst one wins, and order is kept.
    6. SectionMutable and immutable6 minWhich types change in place, and why it matters.
    7. InterviewMutable vs immutable6 minSay it with one example for each.
    8. InterviewList vs tuple6 minAlso say why a tuple can be a dict key.
    9. SectionRead CSV with the csv module6 minRead CSV rows as dicts.
    10. SectionJSON: one document6 minOne JSON document, read safely.
    11. ExerciseTotal revenue by region25 minin the studioConvert types, then total by key.
    12. SectionPlan for bad records5 minDecide what a bad record does before it arrives.
    13. ExerciseValidate rows against a schema25 minin the studioCheck each row against rules, then report the failures.
    14. SectionWrite a generator with yield6 minA generator hands over one row at a time.
    15. InterviewMerging two dictionaries6 minLater wins on shared keys. The merge is shallow.
    16. InterviewCommon ids between two lists6 minCommon ids between two lists: use sets.
    17. InterviewThe list that remembers6 minThe bug every Python screen has.
    18. ExerciseFind the second largest different value15 minin the studioA warm-up. Mind duplicates and short lists.
    19. ExerciseFind the first event id that appears once15 minin the studioCount every id, then scan for the first single.
    20. ExerciseCheck if two strings use the same letters15 minin the studioCompare letter counts, ignoring case and spaces.
    21. ExerciseFind the words that appear only once across two messages20 minin the studioCount across both messages, keep words seen once.
    22. QuestionsPython · Conceptual15 minSay each answer aloud, with an example.
  3. Week 03 · ~4h

    Data modeling and the warehouse

    You can state a grain, draw a star schema and pick an SCD type.

    Skip this if you state the grain first and explain OLTP against OLAP.

    1. SectionSame shop, two workloads6 minOne shop, two kinds of work.
    2. SectionThree ways the table breaks6 minWhy the app splits tables into small ones.
    3. SectionWhy analytics denormalizes6 minWhy analytics flattens them again.
    4. InterviewLogical vs physical schema6 minMeaning versus storage. A partition key is storage.
    5. SectionGrain is one sentence6 minGrain is one sentence about one row.
    6. Worked exampleMarketplace core entities25 minin the studioA finished model. Walk it before you build one.
    7. SectionFact tables: what you measure6 minFacts are what you measure.
    8. SectionDimension tables: how you group6 minDimensions are how you group.
    9. InterviewWhat is the grain of a table6 minThe first modeling question in most loops.
    10. InterviewFact or dimension6 minMeasure or group-by: decide per column.
    11. SectionThe star schema in action6 minThe star schema in action.
    12. SectionStar vs snowflake: trade-offs6 minStar versus snowflake: pick one and say why.
    13. ExerciseFood delivery orders30 minin the studioDesign the tables, then state the grain.
    14. SectionType 0 and Type 16 minOverwrite, or keep the original.
    15. SectionType 2: add a new row6 minA new row for each change keeps history.
    16. InterviewWalk me through the SCD types6 minTypes 1, 2 and 3, each with a use.
    17. SectionNatural and surrogate keys6 minWhich key survives a business change?
    18. InterviewPrimary key vs unique key6 minKeys are not enforced in most cloud warehouses.
    19. InterviewAthena against Redshift6 minQuery files in S3, or load a warehouse?
    20. InterviewWhat is BigQuery?6 minThe Google Cloud warehouse, in one answer.
    21. InterviewWhat is Azure Synapse6 minThe Azure workspace: SQL, Spark and pipelines.
    22. SectionName only the columns you need6 minWhy a warehouse reads only the columns you name.
    23. SectionSplit a table by date6 minPartition by date so filters skip whole slices.
    24. ExerciseRide hailing trips30 minin the studioA second model, faster. Say the grain first.
    25. QuestionsData Modeling · Conceptual15 minSay each definition aloud with an example.
  4. Week 04 · ~4h

    Pipelines and Airflow, the basics

    You can explain a safe, rerunnable pipeline and what Airflow adds.

    Skip this if you explain idempotency, a backfill and a DAG without notes.

    1. SectionThe five-stage lifecycle6 minIngest, store, transform, serve, observe.
    2. SectionWhat each letter moves5 minWhat each letter moves, and where.
    3. InterviewWhich layer cleans the data6 minRaw stays raw. Clean once, in the curated layer.
    4. SectionLatency, cost and effort5 minPick batch first. Say when you would not.
    5. ExerciseYour first pipeline30 minin the studioBuild the whole flow once.
    6. SectionSafe to run twice6 minSafe to run twice, the idea behind every answer.
    7. ExerciseCounting it once30 minin the studioA rerun must not double the count.
    8. SectionIncremental by created date6 minLoad only what is new.
    9. SectionBackfill: run for last Tuesday6 minRun again for last Tuesday, safely.
    10. ExerciseRun it for last Tuesday30 minin the studioBackfill one day without touching the others.
    11. InterviewAppend, merge or overwrite6 minThree ways to write. One is safe to rerun.
    12. InterviewKafka architecture, in one breath6 minKnow Kafka in one breath: topics, partitions, brokers.
    13. SectionA check is a query6 minA check is a query that returns bad rows.
    14. ExerciseWhere did the rows go?30 minin the studioFind where rows were lost, by counting.
    15. SectionWhat cron cannot express6 minWhy a scheduler beats cron.
    16. SectionWhy the graph must not loop6 minA DAG is tasks and arrows, with no loops.
    17. SectionThe whole file, and why each line is there6 minEvery line of a first DAG file.
    18. SectionData Intervals: When Runs Start6 minWhen a daily run actually starts.
    19. ExerciseWhich day does it belong to?30 minin the studioMatch each run to the day it covers.
    20. QuestionsData Pipeline · Conceptual15 minSay each trade-off aloud before the interviewer asks.
    21. QuestionsAirflow · Conceptual15 minSay what a run is, and why it ran.
  5. Week 05 · ~4h

    Spark: how it works, and basic code

    You can explain lazy evaluation, stages and joins, and read basic PySpark.

    Skip this if you explain job, stage and task, and why a join shuffles.

    1. SectionDo you need Spark?6 minKnow when Spark is the wrong tool.
    2. SectionDriver and executors6 minDriver and executors: the warm-up answer.
    3. InterviewThe three components, named6 minDriver, executors, cluster manager: the warm-up question.
    4. SectionTransformations and actions6 minTransformations plan. Actions run.
    5. ExerciseTwo counts, two scans: which lines of PySpark actually cost anything?10 minin the studioWhich lines of PySpark actually cost anything?
    6. SectionNothing runs until show()6 minNothing runs until an action. Say why.
    7. InterviewHow many DAGs does a script build?6 minOne action, one job. Cached or recomputed?
    8. SectionNarrow and wide steps6 minNarrow steps stay put. Wide steps shuffle.
    9. ExerciseNarrow vs wide: what makes Spark cut a new stage?15 minin the studioWhat makes Spark cut a new stage?
    10. SectionApplication, job, stage, task6 minJob, stage, task: the words every answer uses.
    11. Sectionrepartition or coalesce6 minAsked by name, and often answered backwards.
    12. Exerciserepartition(6) or coalesce(1) before a write: what is the difference?20 minin the studioSee the difference in the files you write.
    13. SectionThree ways Spark joins6 minBroadcast or sort-merge: say which and why.
    14. ExerciseHow Spark decides to broadcast a join without being told15 minin the studioHow Spark picks a broadcast join on its own.
    15. ExerciseTop 3 orders per country with row_number(): what does Spark run?20 minin the studioTop 3 per country with row_number().
    16. Sectioncache() and reuse6 minWhat cache saves, and what it does not.
    17. ExerciseWhat does .cache() actually save? Prove it from the plan20 minin the studioProve from the plan what cache() saved.
    18. Exerciseerrorifexists, ignore, append, overwrite: what does each save mode do?15 minin the studioTry each save mode and count rows and files.
    19. ExerciseWhy is Parquet faster than CSV? Answer from the plan, not folklore20 minin the studioWhy Parquet beats CSV, from the plan.
    20. InterviewReading a file with bad rows in it6 minChoose a read mode for a file with bad rows.
    21. InterviewSpark vs MapReduce6 minWhy Spark replaced MapReduce for most jobs.
    22. QuestionsApache Spark · Conceptual & architecture15 minFundamentals said cleanly. Internals are for later.
  6. Week 06 · ~3h

    Your project and the loop

    You can walk one project aloud and tell two honest stories.

    Skip this if your project walkthrough is rehearsed aloud, with numbers.

    1. ChapterThe Recruiter & Hiring-Manager Screen20 minYour 60-second story, then the long one.
    2. ChapterLive Coding: SQL & Python20 minWhat live rounds test, and how to narrate.
    3. ExerciseFirst and latest order per buyer15 minin the studioRehearse live: set a 20-minute timer.
    4. ExerciseKeep only the latest row for each event25 minin the studioRehearse live: say the edge cases first.
    5. InterviewProject: walk me through it6 minFixed order, real numbers, about two minutes.
    6. InterviewProject: a rerun without duplicates6 minProve a rerun adds nothing, with numbers.
    7. InterviewProject: the source changed a field6 minThe first hour: stop, look, land raw, decide.
    8. InterviewProject: how do you know it is right6 minThree places to check: input, output, trends.
    9. InterviewProject: your worst incident6 minA real incident, told in order.
    10. ChapterBehavioral Storytelling20 minPrepare each story once, then point it at the question.
    11. InterviewA time you made a mistake6 minA real mistake, owned in the first sentence.
    12. InterviewA disagreement, and how it resolved6 minShow your evidence, and what you did after.
    13. ChapterTake-Home Projects20 minWhat a take-home is scored on.
    14. QuestionsBehavioral · Ownership & delivery15 minTell each story aloud, under three minutes.

03

Start it now

Reading is free and needs no account. The plan itself tracks on your dashboard.