Huru
Questions by Role

Data Engineer Interview Questions and Answers (2026)

Data engineer interview questions with short answers: SQL, data modeling (star schemas, slowly changing dimensions), ETL and ELT, batch and streaming, Spark, data quality, pipeline design, and the behavioral questions data teams ask.

By Amine Boukioud Updated 5 min read
The Huru mascot turning a valve on a pipeline of coral, amber and blue tanks, with glowing cubes flowing into a neat stack

The short answer: data engineer interviews usually cover five areas: SQL (often live), data modeling, pipelines (ETL and ELT, batch and streaming, orchestration), distributed processing such as Spark, and data quality and reliability. Senior roles add a system design round: design a pipeline for a given use case. There’s almost always a behavioral round too. Below are the common questions with short answers, the SQL patterns to know, how to approach pipeline design, and the behavioral questions to prepare for.

SQL questions

Expect to write queries live. The patterns that come up most:

  • Joins: inner, left, full, and when a join multiplies rows unexpectedly (duplicate keys).
  • Aggregation: GROUP BY with HAVING, counting distinct values.
  • Window functions: ROW_NUMBER(), RANK(), LAG() and LEAD(), running totals with SUM() OVER (ORDER BY …).
  • Deduplication: keep the latest row per key with ROW_NUMBER() OVER (PARTITION BY key ORDER BY updated_at DESC).
  • Dates: grouping by week or month, filling gaps, time zones.

“Find the second-highest salary in each department.”

SELECT department, employee, salary
FROM (
  SELECT department, employee, salary,
         DENSE_RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS rnk
  FROM employees
) ranked
WHERE rnk = 2;

Explain your choice: DENSE_RANK handles ties, so two people sharing the top salary don’t push the “second” salary out.

“What’s the difference between WHERE and HAVING?”

WHERE filters rows before aggregation; HAVING filters groups after it.

Data modeling

“What is a star schema?”

A central fact table of measurements (for example, sales amounts) linked to dimension tables that describe them (date, product, customer, store). It’s simple to query and fast for analytics.

“What’s a slowly changing dimension?”

A dimension whose attributes change over time, such as a customer’s address. The two most common approaches:

  • Type 1: overwrite the old value. Simple, but history is lost.
  • Type 2: in the Kimball Group’s words, “type 2 changes add a new row in the dimension with the updated attribute values,” usually with effective dates and a current flag, so history is preserved.

“Normalize or denormalize?”

Normalize for transactional systems (fewer update anomalies); denormalize for analytics (fewer joins, faster reads). Explain the trade-off for the specific use case.

Pipelines

“What’s the difference between ETL and ELT?”

ETL transforms data before loading it into the warehouse. ELT loads raw data first and transforms it inside the warehouse, which has become common with cloud warehouses that can scale compute. ELT keeps raw data available for reprocessing.

“Batch or streaming: how do you choose?”

Batch processes data in scheduled chunks; streaming processes events continuously. Choose streaming when the business needs low latency (fraud detection, live dashboards); batch is simpler and cheaper when hourly or daily freshness is enough.

“What does idempotent mean for a pipeline, and why does it matter?”

Running the same job twice gives the same result. It lets you safely retry failed runs and backfill, for example by overwriting a date partition instead of appending to it.

“How would you handle late-arriving data?”

Reprocess affected partitions, use watermarks in streaming systems, and design aggregates so they can be recomputed for a window.

Spark and distributed processing

“What is lazy evaluation in Spark?”

From the Spark documentation: “All transformations in Spark are lazy, in that they do not compute their results right away.” They’re computed “only when an action requires a result.” This lets Spark optimize the whole plan before running it.

“What causes a shuffle, and why is it expensive?”

Operations that regroup data across partitions (joins, groupBy, repartitioning) move data over the network between machines. Reduce shuffles by filtering early, broadcasting small tables in joins, and choosing good partition keys.

“What is data skew, and how do you fix it?”

When a few keys hold most of the data, a few tasks run much longer than the rest. Fixes include salting hot keys, broadcasting the small side of a join, or handling the heavy keys separately.

Data quality and reliability

“How do you make sure data is correct?”

Tests at each stage: schema checks, null and uniqueness checks, row-count and freshness checks, and reconciliation against the source. Alert on failures, and document owners for each dataset.

“A dashboard number is wrong. How do you investigate?”

Trace it back through the lineage: the dashboard query, the model, the pipeline run, the source. Check recent changes and freshness first; most issues are late data, a changed source, or duplicated rows from a join.

Pipeline design (system design round)

For “Design a pipeline for X”, structure your answer:

  1. Requirements: data sources, volume, freshness needed, who uses the output.
  2. Ingestion: batch or streaming, how you handle schema changes.
  3. Storage and modeling: raw, cleaned and modeled layers.
  4. Processing and orchestration: tools, scheduling, retries, idempotency.
  5. Quality and monitoring: tests, alerts, lineage.
  6. Trade-offs: cost, latency, complexity.

Behavioral questions

Answer with the STAR method, and put numbers in the result: data volumes, run times, cost savings.

Frequently asked questions

What are common data engineer interview questions?
SQL questions (joins, window functions, deduplication), data modeling (star schemas, slowly changing dimensions), ETL vs ELT, batch vs streaming, idempotent pipelines, Spark (lazy evaluation, shuffles, skew), data quality checks, and a pipeline design question for senior roles.
How do I prepare for a data engineer interview?
Practice SQL window functions and deduplication until you can write them live, review data modeling (star schemas, SCD types 1 and 2), be ready to explain ETL vs ELT and batch vs streaming, prepare a pipeline design walkthrough, and have stories about pipelines you built or fixed.
What is the difference between ETL and ELT?
ETL transforms data before loading it into the warehouse; ELT loads raw data first and transforms it inside the warehouse, which keeps raw data available for reprocessing.
What is a slowly changing dimension type 2?
A way to track history in a dimension: when an attribute changes, a new row is added with the updated values, usually with effective dates and a current flag, instead of overwriting the old row.
Do data engineer interviews include coding?
Usually SQL, often live, and sometimes Python for data processing. Senior roles add a pipeline or system design round.

Sources

Practice this with Huru AI

Turn what you just read into a rehearsal. Unlimited AI mock interviews with instant, specific feedback.

Amine Boukioud

Amine Boukioud is a co-founder of Beatview, Inc., the company behind Huru, and Head of Growth at Huru. He writes and reviews Huru’s interview guides; each one starts from primary sources such as employers’ own careers pages, official data and research, and follows Huru’s editorial policy.

Published · Updated

How this article was made: researched and drafted with AI assistance, then written, fact-checked and signed by Amine Boukioud on September 30, 2026. Sources are linked where they are used. How we work: editorial policy.