Data Engineer Interview Question

You need to backfill two years of history after fixing a transformation bug. How do you approach it?

What the interviewer is probing, how to structure your answer, and a spoken example you can adapt.

Quick answer

Backfill into a separate target first, validate against the existing table, then swap. Process in chunks by partition rather than one enormous job, run them with bounded concurrency so you do not starve production workloads, and make each chunk idempotent so failures can be retried in place. Track progress explicitly, and plan for the fact that dimension attributes and source data may have changed since.

Why interviewers ask this

Backfills are a rite of passage and a common way to cause a second incident. Interviewers want chunking, resource isolation from production, and validation before swap. They are also probing whether you recognize that recomputing history is not always reproducible, since dimensions, exchange rates, and source records may have changed underneath you.

How to structure your answer

  • Write to a shadow table so production stays intact.
  • Chunk by partition and bound concurrency to protect live workloads.
  • Make each chunk idempotent and independently retryable.
  • Validate with reconciliation against known good aggregates.
  • Swap atomically and keep the old table for a rollback window.

Example answer

Spoken example, first person

I never backfill in place. I build into a shadow table, validate, then swap with an atomic rename or a view pointer, keeping the old one for a week in case someone spots a discrepancy. The run itself gets chunked by partition, usually monthly or weekly depending on volume, with maybe four running concurrently, because the fastest way to cause a second incident is saturating the warehouse and blowing up every scheduled job at the same time. I also run it on a separate warehouse or resource group where the platform allows it. Validation is the part people rush. I pick a handful of aggregates that finance already trusts, revenue by month for example, and compare old versus new, expecting differences only where the bug applied. If a month changes that should not have, the fix is wrong. The other thing I flag early is that history is not always reproducible: if the dimension is type 1 and got overwritten, recomputing the past gives today's attributes, not the historical ones.

Walking into this interview soon? GhostPilot listens to your live call, spots the question the moment it is asked, and puts a structured answer on your screen in real time. Try it on your next mock, or grab a $29 Session Pass, no subscription, for the real thing.

See how it works

Follow-up questions to expect

  • How do you avoid a backfill starving your production workloads?
  • What if the source system no longer retains the raw data?
  • How would you communicate a change in historical numbers to stakeholders?

Related data engineer questions

Your interviewer will ask their own version of this. Paste your actual job description into the free Question Predictor and get the 20 questions that role is most likely to ask, with what each one is really probing.

Predict my questions

Rehearse the hard questions before they are asked

Practise with a live copilot, then walk in ready. A $29 Session Pass gets you through the interview with no subscription and no lock-in.

Get GhostPilot