New · Cohort 4AI-Powered Data Engineering Cohort 4 goes live 26 September · only 40 seatsRegister Now
Data Engineering Interview Prep

Databricks Interview Questions and Answers for Data Engineers (2026)

Sixteen real Databricks questions from Indian data engineering interviews — Delta Lake internals, Unity Catalog, Auto Loader, DLT, and cost tuning, answered the way strong candidates answer them in services, GCC, and product-company rounds.

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

Jump to 16 answered questionsBeginner to Advanced · 4 FAQs · 3-part guide

What are the most asked Databricks interview questions?

Databricks interviews in India centre on the lakehouse concept, Delta Lake internals (ACID via the transaction log, time travel, OPTIMIZE and Z-ORDER), medallion architecture, Auto Loader, Unity Catalog governance, and cluster versus job design. Senior rounds add Photon, Delta Live Tables, and cost questions like choosing job clusters and spot instances over all-purpose clusters.

Guide

What To Learn And How To Practice

What do Databricks rounds cover in India?

Databricks interviews bundle Spark fundamentals with platform questions — expect the Spark UI, shuffles, and skew alongside Delta Lake internals. Azure Databricks dominates Indian JDs, but the questions themselves are platform-agnostic.

Round 1: PySpark/SQL coding plus Delta Lake basics
Round 2: pipeline scenarios — Auto Loader, CDC merge, streaming
Round 3: design — medallion, Unity Catalog governance, cost attribution

Why are Delta Lake internals the core of every loop?

The _delta_log answers half the questions you will face — ACID, time travel, concurrency, and streaming all derive from it. If you can narrate a commit end to end, most follow-ups become easy.

Transaction log: JSON commits, checkpoints, optimistic concurrency
File layout: small-file problem, OPTIMIZE, Z-ORDER, liquid clustering
Retention: VACUUM vs time travel vs streaming readers

What do senior Databricks rounds test beyond syntax?

With Unity Catalog and system billing tables now standard, senior candidates must discuss governance boundaries and DBU economics as fluently as transformations. Bring one concrete cost-reduction story with before-and-after numbers.

Unity Catalog: three-level namespace, grants, lineage, managed vs external
DBU economics: job vs all-purpose vs serverless, the Photon trade-off
DLT expectations and event logs as your data-quality answer

Question bank

16 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. Every answer is open; collapse any you have already covered.

EasyWhat is the lakehouse architecture and what problem does it solve?

The lakehouse keeps a single copy of data in open formats (Parquet under Delta Lake) on cheap object storage, then layers on what historically forced a separate warehouse: ACID transactions, schema enforcement, fine-grained governance through Unity Catalog, and BI-grade performance via Photon, caching, and data skipping. The problem it solves is the two-copy architecture — a lake feeding a warehouse via ETL — which doubles storage, adds sync jobs that drift, and leaves ML training on stale extracts. The trade-off interviewers probe: object storage is high-latency, so the model depends on table-format maintenance (compaction, clustering, statistics) to actually hit warehouse-class performance.

EasyWhat is Delta Lake and how does it achieve ACID transactions?

Delta Lake is an open table format: Parquet data files plus a _delta_log directory of ordered JSON commit files — with periodic Parquet checkpoints so readers need not replay the whole log — recording every add/remove action, schema change, and protocol upgrade. A write is atomic because it becomes visible only when its numbered commit file lands; readers always see a consistent snapshot as of one version, never a half-finished write. Concurrent writers use optimistic concurrency control: each transaction validates at commit that no conflicting commit appeared since the version it read, and fails with a Concurrent*Exception rather than corrupting data. The same log powers schema evolution, time travel, and Change Data Feed.

EasyExplain the medallion architecture.

Bronze stores raw data exactly as ingested — append-only, minimally transformed, cheap insurance that lets you replay history without touching source systems again. Silver holds cleaned, deduplicated, conformed entities with enforced schemas and quality expectations; Gold holds business-level aggregates and marts consumed by BI and ML. Each hop is incremental, so a logic bug is fixed by rebuilding from the layer below rather than re-extracting from sources. The nuance interviewers want: it is a quality contract, not a rigid rule of three — teams add or collapse layers — but the invariant is that raw stays immutable and every derived layer is reproducible from the one beneath it.

EasyWhat is the difference between all-purpose clusters and job clusters?

All-purpose (interactive) clusters are long-lived, shared by people in notebooks, and billed at a materially higher DBU rate; job clusters are created by a job run, exist only for that run, and terminate when it finishes, at a cheaper rate and with per-run isolation — one job's library or config change cannot break another's. The production rule: humans on all-purpose or serverless, every scheduled workload on job clusters or serverless jobs compute. The follow-up interviewers probe is cost hygiene: an always-on interactive cluster running nightly ETL is the classic red flag, and auto-termination plus cluster policies are how you prevent it organisation-wide rather than team by team.

EasyHow does Delta Lake time travel work?

Every commit creates a new table version, so you can query the past with SELECT ... VERSION AS OF n or TIMESTAMP AS OF, audit changes with DESCRIBE HISTORY, and roll back with RESTORE TABLE — which is itself a new commit, so history is preserved rather than rewritten. Reach is bounded by two retention settings: delta.logRetentionDuration (default 30 days) for commit history and delta.deletedFileRetentionDuration (default 7 days) for the removed data files that old versions still reference. The trap interviewers test: VACUUM permanently deletes files past that retention, so aggressive vacuuming silently breaks time travel — and can break lagging streaming readers that still reference those files.

MediumWhat do OPTIMIZE and Z-ORDER do, and when do you run them?

OPTIMIZE bin-packs many small files into roughly 1 GB files, fixing the small-file problem created by streaming and frequent small writes — fewer files means less listing and task-scheduling overhead per scan. ZORDER BY additionally co-locates related values across files so per-file min/max statistics can skip most of the table on high-cardinality filter columns like customer_id, which hive-style partitioning handles badly. Run OPTIMIZE on a schedule after heavy write windows, Z-ORDERing on your top filter columns; note Z-ORDER is not incremental — it rewrites the data it touches. On current runtimes the forward-looking answer is liquid clustering (CLUSTER BY), which replaces both partitioning and Z-ORDER and re-clusters incrementally.

MediumHow does Auto Loader work and why prefer it over COPY INTO?

Auto Loader is the cloudFiles Structured Streaming source. It discovers new files by directory listing or, at scale, cloud file-notification mode, and records processed files in a RocksDB-backed checkpoint so each file is ingested exactly once even across restarts. It infers the schema, evolves it as new columns appear, and shunts unparseable values into the _rescued_data column instead of dropping rows. COPY INTO is the simpler idempotent SQL alternative, fine for occasional batch loads of thousands of files; Auto Loader scales to millions and runs continuously or as a cheap incremental batch with Trigger.AvailableNow. The follow-up: notification mode avoids re-listing huge directories, which is exactly what kills listing-based ingestion at scale.

MediumWhat is Unity Catalog and what does its object model look like?

Unity Catalog centralises governance across every workspace attached to it: one metastore (typically per region) containing catalogs, then schemas, then securables — tables, views, volumes, functions, and models — addressed by the three-level namespace catalog.schema.table. Access control is ANSI GRANT/REVOKE on those objects, inherited down the hierarchy, with row filters and column masks for fine-grained control. It also provides automatic column-level lineage, audit logs, and Delta Sharing for cross-organisation sharing. The contrast interviewers want: it replaces per-workspace Hive metastores and cluster-scoped ACLs, so permissions and discovery are defined once, centrally, instead of being re-implemented per workspace and per cluster.

MediumWhat is Photon and when does it actually help?

Photon is Databricks' native vectorised execution engine, written in C++, that transparently replaces JVM execution for supported Spark SQL and DataFrame operators — no code changes, with seamless fallback for unsupported ones. It shines on SQL-heavy work — scans, joins, aggregations over Delta and Parquet — and is the engine inside Databricks SQL warehouses. It does not accelerate RDD code or per-row Python UDF logic, so a UDF-heavy pipeline sees little gain. The cost nuance interviewers probe: Photon compute carries a higher DBU rate, so the honest answer is that it usually lowers total cost by finishing faster — but you verify with cost per run from billing data rather than assuming, and skip it where unsupported operations dominate.

MediumWhat are Delta Live Tables (DLT) and expectations?

DLT — now branded Lakeflow Declarative Pipelines — lets you declare streaming tables and materialised views in SQL or Python (@dlt.table) while the framework derives the dependency DAG and manages compute, retries, and incremental processing. Expectations are declarative data-quality rules — CONSTRAINT valid_id EXPECT (id IS NOT NULL) with ON VIOLATION DROP ROW or FAIL UPDATE — whose violation counts land in the pipeline event log, giving observable quality metrics per run; the default action keeps the row but records the violation. It is the standard answer for medallion pipelines because it removes hand-rolled orchestration and checkpoint management; the trade-off is less control over execution details than bespoke jobs give you.

MediumHow do you implement CDC and upserts into Delta tables?

For batch, MERGE INTO target USING source ON key handles inserts, updates, and deletes in one atomic statement. For streaming, run the MERGE per micro-batch inside foreachBatch — MERGE is not a native streaming sink — or use DLT's APPLY CHANGES INTO, which orders out-of-sequence events via a SEQUENCE BY column and maintains SCD Type 1 or Type 2 targets declaratively. To propagate row-level changes downstream, enable Change Data Feed (delta.enableChangeDataFeed) and consume inserts, updates, and deletes with readChangeFeed. The follow-ups interviewers probe: deduplicate the source batch first, since duplicate keys make MERGE fail on multiple matches, and align the MERGE predicate with partitioning or clustering to avoid concurrent-write conflicts.

MediumManaged vs external tables in Unity Catalog — differences and when to use each?

Managed tables have files owned and placed by Unity Catalog under the catalog or schema's managed storage location: DROP TABLE deletes the data — files are cleaned up after a retention window, and UNDROP can recover the table for a limited time — and platform features like predictive optimization apply. External tables register data at an explicit cloud path via an external location and storage credential; DROP removes only metadata and the files stay put. Default to managed for anything new, keeping governance and lifecycle in one place. Choose external when other engines read or write the same files directly, when data must live in a specific bucket for compliance, or mid-migration from hive_metastore using SYNC.

HardHow does Delta handle concurrent writers, and how do you fix a ConcurrentAppendException?

Writers use optimistic concurrency: each transaction records the table version it read, does its work, then validates at commit that no conflicting commit landed in between — if one did, it fails with ConcurrentAppendException or ConcurrentDeleteReadException. Mitigations: make concurrent operations touch disjoint data and express that disjointness in the MERGE or UPDATE predicate (include the partition or clustering column so Delta can prove non-overlap), serialise jobs that write the same keys, and add application-level retries for the residual cases. Partitioning or liquid clustering aligned with writer boundaries removes most conflicts; also know the isolation trade-off — WriteSerializable (default) permits some read-write anomalies that strict Serializable forbids.

HardA Databricks job is slow and expensive. Walk through your tuning approach.

Start in the Spark UI: find the longest stage and check for skew (one straggler task), shuffle spill to disk, and scans over huge numbers of small files. Typical fixes: let AQE coalesce shuffle partitions and split skewed joins, broadcast the small side of joins, restructure logic to cut shuffles, and compact inputs with OPTIMIZE or auto compaction so scans read fewer, larger files. On infrastructure: right-size worker type and count, enable autoscaling, turn on Photon for SQL-heavy stages, and move the job off any all-purpose cluster onto job or serverless compute. Then prove the win with cost per run from system.billing.usage before and after — interviewers want the measurement step, not just a list of knobs.

HardDesign a production streaming pipeline from cloud storage to Gold on Databricks.

Auto Loader with file notifications ingests raw files into a Bronze streaming table, with _rescued_data capturing malformed records instead of dropping them; Silver applies expectations, watermark-based deduplication, and APPLY CHANGES or foreachBatch MERGE for CDC; Gold builds materialised aggregates for BI. Implement it in DLT so the DAG, retries, and incremental compute are managed — choosing continuous mode for low latency or Trigger.AvailableNow on a schedule when minutes of latency are acceptable and cost matters. Checkpoints make each hop exactly-once, Unity Catalog supplies lineage and grants, and VACUUM retention is tuned so streaming readers never lose files they still reference. Close with monitoring: the DLT event log feeds quality and latency alerts.

HardHow would you control and attribute Databricks costs across teams?

Enforce cluster policies that pin allowed node types and autoscaling ranges and mandate auto-termination; require job clusters or serverless for scheduled work, with spot workers plus on-demand fallback for fault-tolerant stages. Tag clusters, jobs, and warehouses by team and project, then attribute spend through system tables — system.billing.usage joined to list_prices — into a chargeback dashboard with alerts on anomalies. Then hunt the classics: always-on interactive clusters running ETL, oversized drivers, continuous streams that could run Trigger.AvailableNow on a schedule, and unoptimised tables forcing full scans. The interview point: policies prevent waste up front, attribution makes teams own what remains — you need both.

By company

Analytics Engineer interviews that ask these questions

See how this topic shows up in real Analytics Engineer loops — rounds, difficulty and company-specific questions:

All company interview guides →

FAQ

Common Questions

Do I need deep Spark knowledge for Databricks interviews?

Yes — for data engineer roles, Databricks rounds almost always include Spark internals: shuffles, partitions, AQE, skew handling, and broadcast joins, alongside Delta and Unity Catalog questions. You cannot tune a Databricks job without reading the Spark UI, and interviewers know it. Treat PySpark coding as a guaranteed round.

Which Databricks certification matters for Indian roles?

The Databricks Certified Data Engineer Associate is the standard entry signal, and Professional carries weight for senior roles at GCCs. Services companies value it for client shortlisting; product companies care more about scenario answers. Pair it with a cloud certification on your employer's platform since most Indian Databricks work runs on Azure.

What do Databricks engineers earn in India?

As of 2026, typical bands are roughly 10–18 LPA at 2–4 YOE in services companies and 20–40 LPA at 4–8 YOE in GCCs and product companies, with Databricks-plus-Spark profiles commanding a premium over generic ETL backgrounds. Streaming and Unity Catalog governance experience pushes offers toward the top of the band.

Azure Databricks vs AWS Databricks — does the cloud matter for interviews?

The product is the same on every cloud, and interview questions are nearly all platform-agnostic — Delta Lake, clusters, Unity Catalog, and DLT behave identically. Only the integration edges differ: ADLS and Azure Data Factory versus S3 and Glue. Indian JDs skew heavily Azure, so knowing ADLS mounting and ADF orchestration patterns helps.

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