Data Engineering · Coding Round

ETL Interview Questions Coding Round (2026 Prep Guide)

8 min read5 easy · 6 medium · 5 hardLast updated: 22 Apr 2026

Modern loops blend SQL performance drills, Python/Spark coding, and end-to-end system design — this page prepares all three. Write the minimum runnable solution first, then optimise while narrating. Clear reasoning about batch-vs-stream trade-offs is a strong differentiator.

Part of the hub:ETL Interview Guide

Expect rigour on schema evolution, data quality, and warehousing patterns alongside classic algorithms. In the coding round track specifically, interviewers weight ETL as a proxy for both depth and judgement — the combination that separates an offer from a "close but not this cycle" decision. Explaining query plans and join strategies aloud separates strong candidates.

The fastest way to internalise ETL is deliberate practice against progressively harder scenarios. Begin with the fundamentals so you can discuss definitions, invariants, and trade-offs without fumbling vocabulary. Then move into scenario drills drawn from cases like B2B SaaS billing pipelines spanning multiple regions. The goal isn't recall — it's the habit of restating a problem, surfacing assumptions, and narrating your decision process out loud.

Interviewers also listen for boundary awareness. When ETL appears in a panel, strong candidates acknowledge where their approach breaks: cost envelope, latency under load, consistency trade-offs, or organisational constraints. Ownership of data quality, SLAs, and observability earns senior-level signal. Your answers should explicitly name the two or three dimensions on which the solution could flip, and which one you'd optimise given the user's priorities.

Finally, calibrate your preparation against actual panel dynamics. Rehearse each ETL answer out loud, time-box it to three minutes, and iterate based on recorded playback. Pair written study with two to three full mock interviews before the target loop. Interviewers weight partitioning, idempotency, and schema evolution heavily. Showing up with clear structure, measurable examples, and one honest boundary beats a longer monologue on any rubric that actually exists.

Preparation roadmap

  1. Step 1

    Days 1–2 · Fundamentals

    Re-read the ETL basics end to end. If you can't explain it in 90 seconds to a smart non-expert, you're not ready for the panel follow-ups.

  2. Step 2

    Days 3–4 · Scenario drills

    Run six timed drills anchored in real cases — e.g. IoT telemetry aggregation with late & out-of-order data. Verbalise your thinking; recorded audio beats silent practice.

  3. Step 3

    Days 5–6 · Panel simulation

    Two full-loop mock interviews with a peer or adaptive coach. Score yourself against a rubric: restatement, trade-offs, execution, communication.

  4. Step 4

    Day 7 · Weakness blitz

    Target your worst rubric cell from the mocks. Do three focused 20-minute drills specifically on that gap — not new content.

  5. Step 5

    Day 8+ · Cadence

    Hold a 30-minute daily drill plus one weekly mock until the target interview. Consistency compounds faster than marathon weekends.

Top interview questions

  • Q1.How would you explain ETL to a non-technical stakeholder?

    easy

    Use an analogy anchored in the listener's world first; layer in specifics only if they ask follow-ups.

    Example

    Scenario: late-arriving CDC rows — use a MERGE with `updated_at` tie-breaker so the final state converges.

    Common mistakes

    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.
    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.

    Follow-up: How would the answer change if the table was 100x larger?

  • Q2.Walk me through a common pitfall when using ETL under load.

    medium

    Hidden retries / duplicate work around ETL silently inflate load; always sanity-check the counter before tuning.

    Example

    Query plan insight: Snowflake's `EXPLAIN` showed a partition prune miss; adding a cluster key on `event_date` dropped scan to 4%.

    Common mistakes

    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.
    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.

    Follow-up: What breaks first if the job runs on half the cluster?

  • Q3.How would you design a test plan for ETL?

    medium

    Start with correctness, then performance under load, then failure injection. Each layer has clear pass criteria for ETL.

    Example

    e.g. `SELECT user_id, SUM(amount) FROM orders GROUP BY 1` — then partition by `order_date` for scale.

    Common mistakes

    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.
    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.

    Follow-up: How do you detect and recover from duplicate writes in production?

  • Q4.Design a scalable system that centres on ETL. What are the top 3 trade-offs?

    hard

    The three trade-offs I'd lead with are consistency model, cost envelope, and operational load — each flips entirely different levers for ETL.

    Example

    Scenario: late-arriving CDC rows — use a MERGE with `updated_at` tie-breaker so the final state converges.

    Common mistakes

    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.
    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.

    Follow-up: Walk me through the observability you would add before shipping this.

  • Q5.Describe a real-world failure mode of ETL and how you'd detect it before customers notice.

    hard

    A percentile-based SLO plus a canary reconciliation job catches ETL drift before it surfaces as a customer ticket.

    Example

    Query plan insight: Snowflake's `EXPLAIN` showed a partition prune miss; adding a cluster key on `event_date` dropped scan to 4%.

    Common mistakes

    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.
    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.

    Follow-up: Where does your solution fail if data arrives out of order?

  • Q6.How do you prioritise improvements to ETL when time and budget are limited?

    medium

    Rank candidates by user / revenue impact, then by effort. Focus the first iteration on the single change with the best ratio for ETL.

    Example

    e.g. `SELECT user_id, SUM(amount) FROM orders GROUP BY 1` — then partition by `order_date` for scale.

    Common mistakes

    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.
    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.

    Follow-up: If latency had to drop 10x, what would you change first?

  • Q7.What metrics would you track to know ETL is working well?

    medium

    Pair a correctness metric with a latency metric and a cost metric. Any two of the three alone can mislead decisions on ETL.

    Example

    Scenario: late-arriving CDC rows — use a MERGE with `updated_at` tie-breaker so the final state converges.

    Common mistakes

    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.
    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.

    Follow-up: How would the answer change if the table was 100x larger?

  • Q8.How would you explain a trade-off in ETL to a skeptical senior stakeholder?

    hard

    Anchor the trade-off in a recent, relatable case; walk them through the choice chronology, not the abstract taxonomy, around ETL.

    Example

    Query plan insight: Snowflake's `EXPLAIN` showed a partition prune miss; adding a cluster key on `event_date` dropped scan to 4%.

    Common mistakes

    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.
    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.

    Follow-up: What breaks first if the job runs on half the cluster?

  • Q9.What's the smallest proof-of-concept that demonstrates ETL clearly?

    easy

    A 15-line script that exercises the happy path + one edge case is usually enough to demonstrate ETL to a reviewer.

    Example

    e.g. `SELECT user_id, SUM(amount) FROM orders GROUP BY 1` — then partition by `order_date` for scale.

    Common mistakes

    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.
    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.

    Follow-up: How do you detect and recover from duplicate writes in production?

  • Q10.How would you debug a slow ETL implementation?

    medium

    Measure, don't guess — attach the profiler, capture a representative workload, then zoom into the top contributor.

    Example

    Scenario: late-arriving CDC rows — use a MERGE with `updated_at` tie-breaker so the final state converges.

    Common mistakes

    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.
    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.

    Follow-up: Walk me through the observability you would add before shipping this.

  • Q11.Walk me through a scenario where ETL was the wrong tool for the job.

    hard

    When the volume isn't there, ETL becomes overhead; a simpler tool ships faster and is easier to rollback.

    Example

    Query plan insight: Snowflake's `EXPLAIN` showed a partition prune miss; adding a cluster key on `event_date` dropped scan to 4%.

    Common mistakes

    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.
    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.

    Follow-up: Where does your solution fail if data arrives out of order?

  • Q12.How do you document ETL so a new teammate can ramp up quickly?

    medium

    Write a one-page runbook: what it does, how to observe, how to rollback. Anything more is usually read once.

    Example

    e.g. `SELECT user_id, SUM(amount) FROM orders GROUP BY 1` — then partition by `order_date` for scale.

    Common mistakes

    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.
    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.

    Follow-up: If latency had to drop 10x, what would you change first?

  • Q13.What's one question you'd ask the interviewer about ETL?

    easy

    Ask about the biggest open problem they have around ETL; it signals curiosity and maps directly to onboarding projects.

    Example

    Scenario: late-arriving CDC rows — use a MERGE with `updated_at` tie-breaker so the final state converges.

    Common mistakes

    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.
    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.

    Follow-up: How would the answer change if the table was 100x larger?

  • Q14.What are the top 3 interviewer follow-ups after a strong ETL answer?

    hard

    The classic follow-up arc is "now add a constraint" × 3 — plan your fall-back positions up front.

    Example

    Query plan insight: Snowflake's `EXPLAIN` showed a partition prune miss; adding a cluster key on `event_date` dropped scan to 4%.

    Common mistakes

    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.
    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.

    Follow-up: What breaks first if the job runs on half the cluster?

  • Q15.How would you split preparation time between theory and practice for ETL?

    easy

    Week 1: theory (20%) + easy drills (80%). Week 2 onwards: theory (10%) + drills + mock interviews (90%).

    Example

    e.g. `SELECT user_id, SUM(amount) FROM orders GROUP BY 1` — then partition by `order_date` for scale.

    Common mistakes

    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.
    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.

    Follow-up: How do you detect and recover from duplicate writes in production?

  • Q16.What resources accelerate ETL prep in the last 48 hours before an interview?

    easy

    Skim your own notes, not new material. Fresh ideas introduced under fatigue hurt more than they help.

    Example

    Scenario: late-arriving CDC rows — use a MERGE with `updated_at` tie-breaker so the final state converges.

    Common mistakes

    • Skipping schema evolution — a nullable new column silently breaks every downstream consumer.
    • Forgetting idempotency — same event processed twice ships duplicate dollars downstream.

    Follow-up: Walk me through the observability you would add before shipping this.

Interactive

Practice it live

Practising out loud beats passive reading. Pick the path that matches where you are in the loop.

Explore by domain

Related roles

Related skills

Practice with an adaptive AI coach

Personalised plan, live mock rounds, and outcome tracking — free to start.

Difficulty mix

This guide is weighted 5 easy · 6 medium · 5 hard — use it as a structured study sheet.

  • Crisp framing for ETL questions interviewers actually ask
  • A difficulty-balanced set: 5 easy · 6 medium · 5 hard
  • Real-world scenarios like Healthcare claims pipelines with HIPAA-compliant masking — grounded in day-one operational reality