Data / ETL QA Engineer interview questions and answers
9 Data / ETL QA Engineer interview questions with concise model answers: 2 junior, 4 mid-level and 3 senior. Topics: compliance, loads, quality, sql, scale, streaming. Answer aloud first, then reveal the model answer and compare.
9 of 9 questions shown
-
What do you validate after an ETL load?
Model answer. Row counts between source and target after documented filters, and aggregates such as the sum of amounts. Null and duplicate checks on keys, data types and formats, and referential integrity. Then sample the transformation rules and review the reject table.
-
Write a query to find duplicate customer emails.
Model answer. SELECT LOWER(TRIM(email)) AS e, COUNT(*) FROM customers GROUP BY LOWER(TRIM(email)) HAVING COUNT(*) > 1; Normalise case and whitespace first, otherwise obvious duplicates slip through. Fix the cause with a unique constraint on the normalised value.
-
How do you find rows in the source that are missing in the target?
Model answer. Use a LEFT JOIN on the key and filter where the target key IS NULL, or NOT EXISTS. For whole-row comparison use EXCEPT or MINUS. Avoid NOT IN with nullable columns, because a single NULL makes it return nothing.
-
How do you test a Type 2 slowly changing dimension?
Model answer. When a tracked attribute changes, the old row is closed (end date set, current flag false) and a new row is inserted with a new surrogate key and start date. Check there is exactly one current row per natural key, no gaps or overlaps in date ranges, and that facts join to the version valid at transaction time.
-
How do you test incremental loads?
Model answer. Run batches with inserts, updates and deletes, then rerun the same batch to confirm idempotency with no duplicates. Test late-arriving records, a failure mid-batch followed by a restart, and watermark boundaries including time-zone effects.
-
Which data-quality dimensions do you test?
Model answer. Completeness, uniqueness, validity, consistency, accuracy and timeliness. Encode them as automated checks, for example Great Expectations suites or dbt tests, and run them on every load.
Tools: Python
-
How do you validate a multi-billion-row migration when you cannot compare every row?
Model answer. Compare counts and hash checksums per partition or key range inside the database, then narrow down any mismatching partition. Use statistical sampling and distribution comparison for the rest, and do a full comparison only for critical tables.
-
How do you test a streaming pipeline end to end?
Model answer. Publish known events including duplicates, out-of-order and late ones. Verify delivery semantics (at-least-once needs idempotent sinks), consumer lag and schema evolution through a registry. Finish with dead-letter handling and replay.
-
How do you provide production-like test data compliantly?
Model answer. Mask or anonymise personal data deterministically so joins still work, or generate synthetic data that preserves distributions and referential integrity. Assess re-identification risk and restrict access to the test environment.
No question matches those filters. Clear the search or choose All.
Practise like an interview
- Say your answer out loud before revealing the model answer.
- Add a real example from your work. Interviewers remember stories, not definitions.
- Mark what you can answer cleanly and repeat the rest tomorrow.
- Notice the trade-offs in each answer; senior questions are scored on judgement.
Know the stack
Skills interviewers look for: Advanced SQL, Python, ETL / ELT tools, Data modelling, dbt / Great Expectations.
Interview questions for other roles
AI / LLM Evaluation QA
Evaluates model outputs, writes rubrics and builds regression sets for AI features.
Accessibility Tester
Audits products against WCAG 2.2 with assistive technology and automation.
Game QA Tester
Plays builds on PC, console and mobile to find bugs before players do.
Localization QA Tester
Checks translated products for language, layout and cultural fit in-market.
Mobile QA Engineer
Tests native and cross-platform apps on real devices, with and without automation.
Performance Test Engineer
Models load, finds bottlenecks and signs off capacity before peak traffic.