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 BYwithHAVING, counting distinct values. - Window functions:
ROW_NUMBER(),RANK(),LAG()andLEAD(), running totals withSUM() 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:
- Requirements: data sources, volume, freshness needed, who uses the output.
- Ingestion: batch or streaming, how you handle schema changes.
- Storage and modeling: raw, cleaned and modeled layers.
- Processing and orchestration: tools, scheduling, retries, idempotency.
- Quality and monitoring: tests, alerts, lineage.
- Trade-offs: cost, latency, complexity.
Behavioral questions
- “Tell me about a pipeline that failed in production.” See tell me about a time you failed.
- “How do you explain technical trade-offs to analysts or managers?” See how to explain something complex.
- “Tell me about a disagreement over data definitions.” See handling conflict.
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?
How do I prepare for a data engineer interview?
What is the difference between ETL and ELT?
What is a slowly changing dimension type 2?
Do data engineer interviews include coding?
Sources
- Kimball Group, Type 2: Add New Row. Read on 30 September 2026.
- Apache Spark, RDD Programming Guide. Read on 30 September 2026.