Home / Practice tests / DE Professional

Free · No credit card required

Databricks Data Engineer Professional Practice Test

Realistic professional-level practice questions with worked explanations — Lakeflow Spark Declarative Pipelines, streaming CDC, performance tuning, Unity Catalog governance, and Asset Bundles.

60 questions on the real exam
120 min time limit
$200 per exam attempt

Exam blueprint

What's on the exam

The exam sections with their official weights — focus your study time where the points are.

Developing Code for Data Processing using Python and SQL

22%

Lakeflow Spark Declarative Pipelines, streaming tables vs. materialized views, AUTO CDC, advanced PySpark and SQL patterns.

Cost & Performance Optimisation

13%

Spark UI diagnosis, join strategies and skew, OPTIMIZE, liquid clustering, cluster sizing and cost control.

Monitoring and Alerting

10%

System tables, SQL alerts, job notifications, pipeline event logs and streaming metrics.

Ensuring Data Security and Compliance

10%

Column masks, row filters, GDPR delete patterns, skipChangeCommits, secret management.

Debugging and Deploying

10%

Asset Bundles, repair runs, CI/CD promotion across environments, task dependencies.

Data Transformation, Cleansing, and Quality

10%

Expectations, deduplication, quarantine patterns, MERGE-based upserts.

Data Ingestion & Acquisition

7%

Auto Loader at scale, COPY INTO, Lakeflow Connect, streaming checkpoints.

Data Governance

7%

Unity Catalog privileges and inheritance, tags, BROWSE, discovery.

Data Modelling

6%

Star schemas, slowly changing dimensions, liquid clustering vs. partitioning vs. Z-order.

Data Sharing and Federation

5%

Delta Sharing, recipients and shares, Lakehouse Federation connections and foreign catalogs.

Straight from our question bank

Try 7 real practice questions

Every question comes with a worked explanation — expand the answer when you're ready.

1 Developing Code for Data Processing using Python and SQL Easy

A data engineering team is evaluating whether to use Spark Structured Streaming directly (via the DataFrame API) or Lakeflow Spark Declarative Pipelines (Lakeflow SDP) for a new production pipeline. The pipeline reads from a Kafka topic, applies a series of transformations including deduplication, type casting, and a join with a slowly changing dimension table, writes a Silver table, and feeds a Gold aggregation table. The team has five engineers with varying levels of Spark expertise. Which statement MOST accurately compares the two approaches for this specific use case, and leads to the correct recommendation?

  1. ALakeflow SDP is the preferred choice for this multi-table pipeline. It automatically manages checkpoints and state for all streaming tables, provides built-in CONSTRAINT-based data quality, handles the dependency ordering between Silver and Gold tables automatically, and integrates lineage tracking with Unity Catalog. The AUTO CDC API simplifies the SCD dimension join. Direct Structured Streaming requires the team to manually manage checkpoints, write explicit query orchestration logic, and build custom data quality enforcement — increasing implementation complexity and operational burden.
  2. BSpark Structured Streaming directly is the correct choice because Lakeflow SDP only supports cloud storage (Auto Loader) sources and cannot read from Kafka. For Kafka-based pipelines, the DataFrame streaming API is the only supported approach in Databricks.
  3. CLakeflow SDP is limited to pipelines with no more than 10 tables. For complex multi-table pipelines with Silver and Gold layers, the recommended approach is to split the pipeline: use Lakeflow SDP for the Bronze-to-Silver ingestion layer and a separate Spark Structured Streaming job for the Silver-to-Gold aggregation, with the two jobs orchestrated by a Databricks Workflow.
  4. DThe two approaches are functionally equivalent for this use case, but Spark Structured Streaming directly is more appropriate for teams with varying expertise levels because it uses plain Python/Scala DataFrame code that is easier to debug in the Spark UI, whereas Lakeflow SDP uses a proprietary YAML-based configuration language that requires learning new syntax and abstractions.
  5. ESpark Structured Streaming directly is preferred because Lakeflow SDP uses TRIGGERED mode by default, which introduces a fixed scheduling delay of 2–5 minutes between pipeline runs. Direct Structured Streaming allows sub-second trigger intervals, making it the only viable option when end-to-end latency requirements are under 5 minutes.
Show answer & explanation

Correct answer: A

WHY A: For a multi-table pipeline with quality checks, dimension joins, and multiple output tables, Lakeflow SDP provides substantial advantages: automatic checkpoint management (no manual checkpoint path configuration), declarative data quality with CONSTRAINT clauses, automatic DAG dependency resolution between Silver and Gold tables, Unity Catalog lineage, and the AUTO CDC API for SCD patterns. Teams with mixed Spark expertise benefit from the higher-level declarative abstractions that reduce boilerplate and error-prone state management code. WHY NOT B: Lakeflow SDP fully supports Kafka as a streaming source via Spark Structured Streaming's Kafka connector under the hood. WHY NOT E: Lakeflow SDP supports both TRIGGERED and CONTINUOUS modes. CONTINUOUS mode runs as a persistent streaming job with sub-minute latency, comparable to direct Structured Streaming. There is no fixed 2–5 minute delay. WHY NOT D: Lakeflow SDP uses Python and SQL, not a proprietary YAML language. Pipeline definitions are written in SQL CREATE STREAMING TABLE / AUTO CDC INTO syntax or Python decorators — these are standard languages, not new abstractions. WHY NOT C: Lakeflow SDP has no table count limit. There is no 10-table restriction; production pipelines can contain dozens or hundreds of tables.

2 Monitoring and Alerting Easy

You create a SQL Alert that checks whether the count of NULLs in a key column exceeds a threshold. After the scheduled run, the alert shows a status of TRIGGERED. What does TRIGGERED indicate?

  1. AThe alert query succeeded and the condition evaluated to true.
  2. BThe alert query failed to run due to missing warehouse permissions.
  3. CThe alert was paused and did not execute.
  4. DThe condition evaluated to false and the monitored metric is within limits.
Show answer & explanation

Correct answer: A

WHY A: In SQL Alerts, TRIGGERED indicates the alert condition was met (the condition evaluated true) on the most recent evaluation. WHY NOT B: Query failures are represented as ERROR, not TRIGGERED. WHY NOT D: A false condition maps to OK. WHY NOT C: Paused alerts generally do not execute; TRIGGERED is a result state from evaluation.

3 Ensuring Data Security and Compliance Medium

A security engineer is applying column masks to a Unity Catalog table. Which of the following statements correctly describes the constraints on column masks?

  1. AColumn masks work with all Databricks Runtime versions, including those below 12.2 LTS, where data is returned in plain text.
  2. BA column can have multiple masks applied simultaneously, all of which are evaluated in the order they were added.
  3. CColumn masks can be applied to views as well as base tables, allowing centralized masking logic.
  4. DEach column can have at most one column mask, and the mask function must return the same data type as the masked column.
  5. EA column mask is defined as a Python UDF and must be stored in the same schema as the table.
Show answer & explanation

Correct answer: D

WHY D is correct: Unity Catalog enforces two strict rules for column masks: (1) each column can have at most ONE mask function assigned at any time — attempting to add a second mask to the same column is an error; (2) the SQL UDF used as the mask must return the same data type as the column being masked. This prevents type coercion issues at query time. WHY NOT B: Multiple masks per column are NOT allowed. Only a single mask function can be active on a column at any time. WHY NOT E: Column masks are defined as SQL UDFs, not Python UDFs. While the UDF can reside in any schema the user has permission to access, it does not have to be in the same schema as the table. WHY NOT C: Column masks cannot be applied to views. They are a table-level feature and apply to base tables only. WHY NOT A: On Databricks Runtime versions below 12.2 LTS, access to tables with row filters or column masks fails securely — the query returns NO data rather than exposing plain text. This is the opposite of what is described.

4 Cost & Performance Optimisation Medium

A solutions architect is evaluating whether to register new production Delta Lake tables as Unity Catalog managed tables or external tables. The architect wants to take full advantage of platform-managed performance optimizations and operational simplifications. Which combination of features is EXCLUSIVELY available to Unity Catalog managed tables and NOT available for external tables?

  1. AACID transactions, time travel, schema enforcement, and support for Delta format — these are unique to managed tables under Unity Catalog governance.
  2. BPredictive optimization, automatic liquid clustering (with predictive optimization), metadata caching, and automatic file deletion 8 days after DROP TABLE — these are exclusive to Unity Catalog managed tables and not available for external tables.
  3. CAutomatic file deletion after DROP TABLE, predictive optimization, and metadata caching — but automatic liquid clustering also applies to external tables registered with a LOCATION clause.
  4. DUnity Catalog access controls, row-level security, column masks, and centralized auditing — these security features are managed-table-exclusive because external tables cannot be fully governed by Unity Catalog.
  5. EDelta Sharing, Iceberg REST Catalog access, credential vending, and column-level lineage tracking — these capabilities require managed table registration and are not supported on external tables.
Show answer & explanation

Correct answer: B

WHY B: The Databricks documentation explicitly lists features unique to Unity Catalog managed tables: (1) Predictive optimization — automatically runs OPTIMIZE, VACUUM, and ANALYZE; must be manually scheduled for external tables. (2) Automatic liquid clustering — intelligently selects clustering keys based on workload patterns, enabled via predictive optimization; not available for external tables. (3) Metadata caching — in-memory caching of Delta transaction metadata to reduce cloud storage requests; always enabled for managed tables. (4) Automatic file deletion after DROP TABLE — managed tables delete underlying cloud storage files after 8 days; external tables require manual storage cleanup. WHY NOT A: ACID transactions, time travel, and schema enforcement are Delta Lake features available to both managed and external Delta tables — not exclusive to managed tables. WHY NOT E: Delta Sharing and credential vending work with both managed and external tables through Unity Catalog; they are not managed-table-exclusive. WHY NOT C: Automatic liquid clustering (with predictive optimization) is exclusive to managed tables — external tables cannot benefit from automatic clustering key selection. WHY NOT D: Unity Catalog access controls, row/column security, and auditing apply to all tables registered in Unity Catalog, including external tables — they are not exclusive to managed tables.

5 Debugging and Deploying Easy

A Databricks job run fails because a job parameter --env was mistakenly set to staging when the code requires production to connect to the correct data source. The engineer needs to re-run only the failed tasks using --env=production, WITHOUT permanently modifying the original job definition. What is the CORRECT approach?

  1. ACancel the failed run, then submit a new run via the Jobs REST API with the corrected parameter value.
  2. BIn the Repair job run dialog in the Databricks UI, override the --env parameter to production for this specific repair run without changing the original job definition.
  3. CClone the job, update the parameter in the cloned copy, run the clone, then delete it.
  4. DEdit the original job definition to change the default value of --env to production, then trigger a new full run.
Show answer & explanation

Correct answer: B

WHY B is correct: The Repair job run dialog in the Databricks UI explicitly supports parameter overrides for the repair run. When initiating a repair, engineers can add or change task parameters and job-level parameters that will apply only to the repair execution — the original job definition remains unchanged. This is the designed workflow for remediating a failed run caused by a bad parameter value while preserving the job's original configuration and the results of tasks that already completed successfully. WHY NOT D: Editing the job definition changes the permanent default parameter, which would affect all future runs. It also requires triggering a completely new run from scratch, re-executing tasks that may have already completed successfully — which wastes compute resources and loses the efficiency benefit of the repair run mechanism. WHY NOT C: Cloning the job is an unnecessarily complex workaround. It requires infrastructure cleanup after the fact, does not leverage the built-in repair run functionality, and triggers a full new run that re-executes all tasks (including tasks that may have already succeeded) rather than just the failed ones. WHY NOT A: Submitting a new run via the API with the corrected parameter is a valid workaround but creates an entirely new run rather than repairing the original. This wastes compute by re-running successful tasks and creates an additional run record, complicating run history tracking. It also does not preserve the original run's context for audit purposes.

6 Data Modelling Easy

A data engineer is designing layout optimization for a Delta table that stores e-commerce transactions. The table has 500 GB of data, is filtered primarily by customer_id (10 million distinct values — very high cardinality) and transaction_date, and is written to continuously with concurrent Structured Streaming jobs. Which data layout strategy does Databricks RECOMMEND for this use case?

  1. AUse liquid clustering with CLUSTER BY (customer_id, transaction_date) because it handles high-cardinality columns well, supports concurrent writes, and can evolve keys without data rewriting.
  2. BPartition by customer_id to enable partition pruning for the high-cardinality customer filter.
  3. CUse no clustering or partitioning since the table is under 1 TB — Delta's ingestion time clustering handles queries efficiently at this size.
  4. DPartition by transaction_date and run OPTIMIZE ... ZORDER BY (customer_id) regularly to add multi-dimensional skipping.
Show answer & explanation

Correct answer: A

WHY A is correct: Liquid clustering is the Databricks-recommended approach for this scenario based on multiple matching criteria documented explicitly: (1) 'Tables that are often filtered by high cardinality columns' — customer_id with 10 million distinct values is a canonical high-cardinality case where partitioning would create millions of tiny partitions but liquid clustering handles efficiently. (2) 'Tables that have concurrent write requirements' — liquid clustering is specifically cited as benefiting tables with concurrent writes, unlike traditional partitioning which can cause more write conflicts. (3) If access patterns change (e.g., new filters emerge), clustering keys can be changed via ALTER TABLE CLUSTER BY without rewriting all existing data. (4) Databricks recommends liquid clustering for all new tables. WHY NOT B: Partitioning by customer_id with 10 million distinct values would create 10 million partitions — a classic over-partitioning problem. Databricks explicitly warns: 'Tables where a typical partition key could leave the table with too many or too few partitions' are a scenario that particularly benefits from liquid clustering instead. Over-partitioned tables suffer from severe metadata overhead, too many small files, and poor query performance. WHY NOT D: While pairing date partitioning with ZORDER BY (customer_id) is a valid legacy strategy, Databricks now recommends liquid clustering as the successor to this approach. Additionally, ZORDER is not idempotent, cannot cross partition boundaries, and requires full OPTIMIZE re-runs after each batch of writes. Databricks documentation states: 'Databricks recommends using liquid clustering for all new tables. You cannot use ZORDER in combination with liquid clustering.' WHY NOT C: While tables under 1 TB generally don't need partitioning, the specific access pattern here — primarily filtering by a high-cardinality column (customer_id) — means ingestion time clustering (which clusters by insertion order, not by customer_id) would NOT efficiently serve these queries. Liquid clustering on customer_id physically co-locates records for the same customer, enabling data skipping that ingestion time clustering cannot provide.

7 Data Sharing and Federation Easy

You need to share a Unity Catalog-managed dataset with another organization that also uses a Unity Catalog-enabled Databricks workspace. You also want to share a notebook and a Unity Catalog volume along with the tables, and you do not want to manage long-lived bearer tokens for the recipient. Which Delta Sharing model best fits these requirements?

  1. ACustomer-managed open-source Delta Sharing server, because it is required for any Databricks-to-Databricks sharing and provides the best performance.
  2. BOpen Delta Sharing (D2O) using bearer tokens, because it supports notebooks and volume sharing and avoids token management.
  3. CDatabricks-to-Databricks (D2D) Delta Sharing, because it supports sharing tables plus notebooks/volumes/models and does not require token-based credentials for the recipient.
  4. DUnity Catalog cross-workspace permissions, because Delta Sharing is only for non-Databricks recipients.
Show answer & explanation

Correct answer: C

WHY C: Databricks-to-Databricks Delta Sharing is designed for sharing between Unity Catalog-enabled Databricks workspaces (often across accounts/clouds). It supports assets not available in open sharing (for example notebook files and Unity Catalog volumes) and avoids provider-managed bearer tokens by using the Databricks-managed identity/sharing identifier flow. WHY NOT B: Open sharing (D2O) is for recipients on any platform, but it typically uses bearer tokens or OIDC federation and does not support notebook/volume/model sharing. WHY NOT A: The open-source server is for customer-managed implementations and is not required for D2D on Databricks. WHY NOT D: If both workspaces are attached to the same Unity Catalog metastore, you can govern access with Unity Catalog directly, but the scenario describes sharing across organizations/metastores and explicitly includes Delta Sharing-specific assets.

Take the full practice test free →

Why it works

Practice tests beat re-reading the docs

Find your weak spots in 20 minutes instead of 20 hours.

Take a timed test

Full-length, under exam conditions — no signup needed to try.

See your breakdown

Score plus a topic-by-topic analysis of where you lost points.

Study what matters

Focus on your two or three weakest areas — every explanation teaches the concept.

Retake until ready

Consistently above 80%? You're ready to book the real exam.

FAQ

Frequently asked questions


Is this Databricks Data Engineer Professional practice test free?

Yes. You can take a full-length Databricks Data Engineer Professional practice test on TestLogicHub without paying or entering a credit card.

How many questions are on the real Databricks Data Engineer Professional exam?

The exam has 60 multiple-choice questions and a 120-minute time limit. It costs USD 200 per attempt and is proctored.

What score do I need to pass?

Databricks does not publish an exact cut score. A safe target is to score consistently above 80% on full-length practice tests before booking the real exam.

Are these questions like the real exam?

The questions are mapped to the official exam guide sections, written in the scenario style of the real exam, and every answer comes with a full explanation.

Does TestLogicHub cover other Databricks certifications?

Yes — TestLogicHub has practice tests for the Databricks Data Engineer Associate and Professional, Data Analyst, Machine Learning Associate, and Generative AI Engineer certifications.

Ready to find your weak spots?

Take the free Databricks Data Engineer Professional practice test — timed, weighted, and explained like the real thing.

Start now — it's free →