New · Cohort 4AI-Powered Data Engineering Cohort 4 goes live 26 September — only 30 seatsRegister Now
Data Engineer Interview Questions

Data Engineer Interview Questions: The Complete Round-Wise Guide

Every round of an Indian data engineering loop, in order — SQL, Python, PySpark, cloud and pipelines, system design and the hiring-manager conversation — with what each round actually tests and where to practise it.

By Durgesh Yadav — Senior Data Engineer @ 7-Eleven · Updated 2026-07-31. Preparation guidance, not a hiring guarantee.

How many rounds does a data engineer interview have in India?

Product companies and GCCs typically run four to six rounds: SQL and Python coding, a Spark round, a cloud and pipeline round, system design for mid and senior roles, and a hiring-manager conversation. Services companies compress the same ground into two or three, weighted toward SQL, ETL fundamentals and one tool discussion. Knowing which loop you are walking into decides how you should spend your preparation.

Guide

What To Learn And How To Practice

The shape of the loop, before the questions

Most candidates prepare by grinding question lists, which is backwards: interviews follow a predictable round structure, and each round tests a different thing at a different depth. Learn the structure first and your preparation stops being random.

Screening or online assessment — SQL and Python problems, sometimes aptitude
SQL and Python deep dive — live coding, and the round that decides most offers
Big data round — PySpark concepts, performance, and live coding
Cloud and pipeline round — your stack, orchestration and real scenarios
System design — for mid and senior roles, this sets your level and band
Hiring manager — projects, ownership, failure stories, and fit

SQL is the round that rejects most people

SQL rejections outnumber every other cause. You need fluency rather than familiarity: window functions, deduplication patterns, joins with their edge cases, and aggregation logic written live without an editor to lean on.

Second-highest salary per department, and why dense_rank beats rank here
Gaps and islands — users active three or more consecutive days
Deduplicate keeping the latest record per business key
Month-over-month growth, running totals, seven-day moving averages
Why a LEFT JOIN returned more rows than the left table — join fan-out

PySpark is what separates product companies from services

The Spark round probes whether you have operated a cluster or only read about one. Skew handling is the single strongest senior signal, because it only shows up once you have watched one task run twenty times longer than its peers.

Lazy evaluation, the Catalyst optimizer, and reading a physical plan
Narrow versus wide transformations, and why shuffles dominate cost
Data skew — AQE, broadcasting and salting, in that order of preference
Partitioning, small-file problems, and cache versus persist
Delta Lake — MERGE, time travel, OPTIMIZE — and streaming basics

Cloud, orchestration and the pipeline round

Indian demand concentrates on Azure, with AWS second and GCP in specific companies. Go deep on one stack and stay conversational on the others; an interviewer would rather hear real depth in ADF than shallow coverage of all three.

Azure — Data Factory, integration runtimes, Databricks and Delta, Unity Catalog
AWS — Glue, S3 layout, Redshift keys, Athena, Step Functions
Everywhere — Airflow DAG design, dbt awareness, partitioning and cost control
ADF versus Databricks: one orchestrates and copies, the other transforms at scale

System design decides your level

For mid and senior roles this round sets the band. Interviewers score requirement clarification before drawing anything, explicit trade-offs, failure handling mentioned unprompted, and whether you can go one level deeper on any component they poke.

An end-to-end batch analytics platform for a retail business
A near-real-time pipeline: Kafka to streaming to serving, with late data
CDC replication from many operational databases, including deletes
A data-quality and observability layer over an existing platform
Migrating a legacy warehouse with zero downtime for reports

The behavioural round is not a formality

Prepare five stories with numbers: a pipeline you built end to end, a production failure you owned and fixed systemically, an optimisation with before-and-after figures, a disagreement with a stakeholder, and why this company. 'Tell me about the hardest data problem you have solved' decides mid versus senior more than any technical answer.

Scale, business impact, and your specific contribution
A failure you caused, caught, and prevented from recurring
Before-and-after numbers on a cost or runtime win

Question bank

7 interview questions with answers

Real questions from beginner to advanced, each with a concise model answer — practice them, then rehearse live in a mock interview.

easyWalk me through what a data engineer actually does day to day.

I move data from where it is produced to where it can be trusted and queried, and I keep it working when something upstream changes. Concretely: ingestion from databases, APIs and event streams; transformation into modelled tables; orchestration so those steps run in the right order with retries; and the quality checks and alerting that tell us when the numbers are wrong before a stakeholder does. The analyst-facing half is modelling — deciding grain, conforming dimensions. The unglamorous half is operations: backfills, late data, schema drift, and cost. A candidate who only describes the first half has usually built pipelines but not run them.

mediumSecond-highest salary per department — write it, and justify your ranking function.
SELECT dept, emp_name, salary
FROM (
  SELECT dept, emp_name, salary,
         DENSE_RANK() OVER (PARTITION BY dept ORDER BY salary DESC) AS dr
  FROM employees
) t
WHERE dr = 2;

DENSE_RANK is deliberate. ROW_NUMBER would pick an arbitrary single row when two people tie for the top salary, so the 'second highest' you return is actually still the highest. RANK skips ordinals after a tie, so with two people at the top there is no rank 2 at all and the query returns nothing. DENSE_RANK gives ties the same rank and no gaps, which matches what the question means by 'second highest salary'.

hardUsers who logged in on three or more consecutive days. This is the gaps-and-islands question.

Subtracting a row number from the date makes every consecutive run share a constant, which becomes the group key.

WITH d AS (
  SELECT DISTINCT user_id, login_date FROM logins
), g AS (
  SELECT user_id, login_date,
         login_date - (ROW_NUMBER() OVER (PARTITION BY user_id
                       ORDER BY login_date))::int AS grp
  FROM d
)
SELECT user_id, MIN(login_date) AS streak_start, COUNT(*) AS days
FROM g GROUP BY user_id, grp HAVING COUNT(*) >= 3;

The DISTINCT matters: two logins on the same day would break the arithmetic. If you can write this cold you are ahead of most candidates, because it is the one SQL pattern people cannot bluff.

mediumWhy did this LEFT JOIN return more rows than the left table had?

Because the right side had duplicate join keys, so one left row matched several right rows — join fan-out. It is the single most revealing SQL question in the set, because it is the bug that silently doubles revenue in a dashboard rather than throwing an error. To detect it: group the right table by the join key and look for counts above one. To fix it: deduplicate the right side first, usually with ROW_NUMBER over the business key, or pre-aggregate it to the grain you actually want before joining. The deeper lesson is to know the grain of both sides before writing the join, not after the numbers look wrong.

mediumDesign a daily pipeline that ingests 500GB of orders from S3 into a warehouse-ready table.

Bronze: read with an explicit schema — never inferSchema in production — and land as an append-only Delta table with ingestion metadata. Silver: deduplicate on order_id using a window over ingestion time or a MERGE, validate nulls and referential integrity with bad rows routed to a quarantine table rather than failing the run, and partition by order_date. Gold: the aggregates consumers actually read. Orchestrate with Airflow or Databricks Workflows, parameterised by run date so a backfill is the same code with a different argument. Every step idempotent, because the orchestrator will retry and a non-idempotent step corrupts data on retry.

hardYour job ran fine yesterday and OOMs today with the same code. What changed?

Data, not code — and saying that first is most of the answer. The usual causes, in the order I check them: a volume spike; new skew, often a hot key that is NULL or a default value; upstream duplicates exploding a join; schema drift widening rows; or a table crossing the broadcast threshold so the planner stopped broadcasting it and switched to a sort-merge join. I look at input sizes, the key distribution on the join column, and a diff of the physical plan against yesterday's run before I touch any memory setting. Raising executor memory as the first move hides the cause and it comes back next week.

easyWhich cloud stack should I learn for the Indian market?

Azure first if you are optimising for volume of openings — Data Factory plus Databricks plus ADLS is the deepest enterprise demand in India, and Azure Data Factory questions appear in a large share of loops. AWS is a strong second, mostly Glue, S3, Redshift and Athena. GCP shows up in specific companies rather than broadly. The advice interviewers actually respect is depth in one and fluency in the vocabulary of the others: being able to say what Glue is when you are an Azure person is enough, and pretending to depth you do not have collapses in one follow-up question.

FAQ

Common Questions

Can a fresher become a data engineer directly in India?

Yes — through campus placements at services companies and increasingly through GCC fresher programmes. The path is SQL plus Python plus one cloud platform plus one visible project, and it typically takes three to six months of structured preparation. Candidates from non-technical backgrounds do make this switch.

Which skill matters most in data engineer interviews?

SQL, without much competition — it is tested in more rounds and at more depth than anything else. PySpark is the differentiator at product companies; cloud knowledge is the qualifier at services companies.

How many rounds should I expect?

Product companies and GCCs run four to six: SQL and Python, Spark, cloud and pipelines, system design, and behavioural. Services companies compress this into two or three rounds.

Data engineer, data analyst or analytics engineer — which should I target?

Data analysts centre on SQL, BI and business interpretation; analytics engineers on warehouse modelling and dbt; data engineers on pipelines, distributed processing and platform work. Choose by the work you want to do on a Tuesday, not by the title.

How long does preparation take?

With working SQL and Python, four focused weeks is realistic: a week to make SQL fluent, a week on Python and PySpark, a week on your cloud stack and ETL scenarios, and a final week on system design and timed mock interviews.

Next Step

Turn The Guide Into Practice

Use PrepNPlaced tools to turn this learning path into resume proof, targeted practice, and interview-ready explanations.

Practice AI Mock Interview