advanced 2 min answer

During a warehouse migration parallel run, 40 reports produce different numbers on the new platform. How do you proceed?

migrationreconciliationstakeholders
Show the full answer Hide the answer

What the interviewer is testing

Whether you have a triage method and whether you anticipated the politically awkward category.

The triage

Categorise every difference before investigating individually:

Environmental — different run times, so the two platforms saw different source states. Usually the largest group and resolvable by aligning the comparison window.

Precision and type differences — floating point, decimal handling, rounding, date and timezone handling. Common, benign, and needs a documented tolerance rule.

Dialect semantics — null handling in aggregates, sort stability, string comparison and collation, implicit casting. These are genuine behavioural differences between engines and each needs a decision.

Genuine migration defects — a translated query that is wrong. These are the ones you are looking for.

Defects in the old platform. This category exists and needs planning for.

The awkward category

A meaningful proportion of differences will turn out to be bugs in the legacy system that the business has been reporting on, sometimes for years, occasionally with financial consequence.

This must be handled deliberately:

  • Decide, with a business owner, whether the new platform reproduces the bug or fixes it. Both are defensible; fixing it changes reported history and may need disclosure.
  • Escalate anything with regulatory or financial reporting implications immediately, not at the end of the migration.
  • Establish this decision path before the first case, because handling it ad hoc under delivery pressure produces inconsistent choices.

The process

Automated field-level comparison with tolerance rules, a triage log, and an exit criterion agreed in advance — a defined period with differences below a threshold and all unexplained differences resolved. Without an exit criterion the parallel run continues indefinitely by inertia.

What a strong answer adds

Reporting the categories to stakeholders rather than a raw count of differences. "40 reports differ" causes alarm; "34 are timing and rounding, 4 are dialect semantics needing a decision, 2 are legacy defects" is a manageable status.

Common weak answers

Adjusting the new platform until it matches, which propagates legacy defects silently. Declaring the differences acceptable without categorising them.