SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
Databricks DEA · Domain 4

Working with Lakeflow Jobs practice questions

Working with Lakeflow Jobs is worth 16% of the Databricks DEA exam — the 3rd-heaviest of the 7 domains. Orchestrating pipelines with Lakeflow Jobs: control flow (retries, branching, looping), task types and dependencies in the DAG, schedules and trigger types, and choosing time-based versus data-driven triggers. 6 fully worked examples are further down this page, answers included.

Exam weight
16%
the 3rd-heaviest of the 7 domains
Questions
84
across 2 topics
Free, no account
5/day
a free account allows 30 a day
Explanations
Every option
right and wrong

Build a practice session

5 free questions left today.

Domains

How many?

Mode

Ready when you are

10 fresh questions drawn across 1 of 7 domains, in Learn mode.

Focused review

Every question you answer incorrectly, and every question you flag while practising, is saved here automatically. Finish a session and you can come back to re-drill just those.

6 sample Working with Lakeflow Jobs questions, fully explained

Questions from the Databricks DEA bank mapped to domain 4, with the answer key and the reasoning behind every option. None of them repeat the examples on the main Databricks DEA practice page.

Question 1Working with Lakeflow Jobs

A notebook task has a 30-minute timeout and three retries configured. Last night one attempt hung on a stuck external call, Databricks marked the task Timed Out after 30 minutes, and no retry was attempted. The data engineer wants a hung attempt to be retried in the same way as a failed one. What should they change?

Choose one.

  • a
    Enable retry on timeout in the notebook task's retry policy Correct

    Correct. By default a task that times out is not retried; turning on retry on timeout makes a timed-out attempt count for a retry.

  • b
    Raise the task timeout so the hung attempt can finish

    A longer timeout only lets the stuck call hang for longer; it still ends in Timed Out with no retry.

  • c
    Set a job-level timeout that covers the four attempts

    A job timeout limits the whole run; it does not make the task retry after its own timeout.

  • d
    Increase the wait between retries on the notebook task

    The wait only delays retries that are already going to happen; a timed-out attempt is still not retried.

The concept

Retries and timeouts are separate task settings; a timeout triggers a retry only when retry on timeout is enabled.

Why that’s the answer

The task did have retries, yet none ran, which tells you the retry policy does not cover timeouts by default. Enabling retry on timeout treats a timed-out attempt like a failed one and starts the next attempt. A longer timeout or a job-level timeout changes when the run is stopped but not whether it retries, and the retry interval only spaces out retries that already apply.

How to reason it out
  1. Note that retries exist but did not fire after a timeout.
  2. Recall that timeouts are not retried unless retry on timeout is on.
  3. Enable that option on the task's retry policy.
  4. Reject options that only change timing or the job-level limit.

Exam tip: A timed-out task is retried only when retry on timeout is enabled.

Lakeflow Jobs Tasks, Dependencies and Control Flow: Retries, Run If, If/Else and For Each (Databricks Data Engineer Associate) — the lesson that teaches this.

Question 2Working with Lakeflow Jobs

A task is configured with a 20-minute timeout, two retries, retry on timeout enabled and a one-minute wait between retries. A downstream SLA needs to know the longest this task can occupy the job if every attempt hangs. Roughly how long is that, and why?

Choose one.

  • a
    About 60 minutes, because the timeout applies to each of the three attempts Correct

    Correct. The first attempt plus two retries is three attempts of up to 20 minutes each; the one-minute interval is measured from the start of the failed attempt, so it has already elapsed when each attempt times out.

  • b
    About 20 minutes, because the timeout bounds the task including its retries

    The timeout applies to each attempt, not to the task as a whole, so retries add more time.

  • c
    About 40 minutes plus a wait, because two retries means two attempts in total

    Two retries come on top of the first attempt, so there are three attempts, not two; the interval also adds no time after a 20-minute timeout.

  • d
    No upper bound, because retries that follow a timeout ignore the task timeout

    Each retry is subject to the same timeout; the timeout applies to every attempt.

The concept

When both a timeout and retries are set, the timeout applies to each attempt, and the number of attempts is one more than the retry count.

Why that’s the answer

Three facts combine here. First, the retry count is in addition to the original attempt, so two retries means up to three attempts. Second, Databricks applies the task timeout to each retry rather than to the task overall. Third, the retry interval is measured from the start of the failed attempt to the start of the retry, so with 20-minute attempts the one-minute interval has long elapsed when an attempt times out and adds nothing. Three attempts of up to 20 minutes is about 60 minutes. Treating the timeout as a cap on the whole task, or counting only two attempts, underestimates the worst case.

How to reason it out
  1. Count attempts: the first run plus each configured retry.
  2. Recall that the timeout applies to every attempt separately.
  3. Recall that the retry interval counts from the start of the failed attempt, so it adds no time when it is shorter than the attempt.
  4. Multiply attempts by the timeout and compare with options that treat the timeout as a total.

Exam tip: Worst-case task time is about (retries + 1) x timeout when the retry interval is shorter than an attempt.

Lakeflow Jobs Tasks, Dependencies and Control Flow: Retries, Run If, If/Else and For Each (Databricks Data Engineer Associate) — the lesson that teaches this.

Question 3Working with Lakeflow Jobs

A job loads three staging tables in parallel and then a cleanup task drops the temporary staging objects. The cleanup task must run after all three loads have finished, whether each load succeeded or failed, so that no temporary objects are left behind. Which Run if setting, shown as its job-definition value, should the cleanup task use?

Choose one.

  • a
    run_if: ALL_SUCCESS

    This default (All succeeded) skips the cleanup whenever a load fails, which is when leftovers are most likely.

  • b
    run_if: ALL_DONE Correct

    Correct. All done starts the task once every dependency has finished, regardless of its result.

  • c
    run_if: NONE_FAILED

    None failed also skips the task when a dependency fails, so failed loads would leave objects behind.

  • d
    run_if: AT_LEAST_ONE_SUCCESS

    At least one succeeded skips the cleanup when all three loads fail, leaving the temporary objects behind.

The concept

Run if decides when a task starts based on the results of the tasks it depends on; All done ignores those results.

Why that’s the answer

Cleanup work has to happen whatever the upstream outcome. All done waits for every dependency to finish and then runs regardless of status. The default, All succeeded, and None failed both skip the task when a load fails, and At least one succeeded still skips it when every load fails.

How to reason it out
  1. Identify the requirement: run after every dependency, whatever its result.
  2. Map that to All done.
  3. Check each alternative for a case where it would skip the cleanup.
  4. Choose the condition with no such case.

Exam tip: Cleanup or audit tasks that must always run use Run if All done.

Lakeflow Jobs Tasks, Dependencies and Control Flow: Retries, Run If, If/Else and For Each (Databricks Data Engineer Associate) — the lesson that teaches this.

Question 4Working with Lakeflow Jobs

Three validation tasks check a batch in parallel. A quarantine task should move the batch aside when any one or more of the validations fail, and it should not run at all when every validation passes. Which Run if value should the quarantine task use?

Choose one.

  • a
    run_if: AT_LEAST_ONE_FAILED Correct

    Correct. The task runs when one or more dependencies fail; when all pass, it is excluded from the run.

  • b
    run_if: ALL_FAILED

    All failed waits for every validation to fail, so a single failed check would not quarantine the batch.

  • c
    run_if: AT_LEAST_ONE_SUCCESS

    At least one succeeded runs whenever a validation passes, so it would also quarantine good batches.

  • d
    run_if: NONE_FAILED

    None failed is the opposite case: it runs when no dependency failed.

The concept

Failure-handling tasks use the failure-based Run if conditions: At least one failed or All failed.

Why that’s the answer

The quarantine must react to any single failure and stay idle otherwise. At least one failed starts the task when one or more dependencies fail, and when they all succeed the task is excluded rather than run. All failed needs every validation to fail, All done runs in every case, and None failed fires only on the happy path.

How to reason it out
  1. State the trigger: one or more failures among the dependencies.
  2. State the non-trigger: all dependencies succeed.
  3. Match both to At least one failed.
  4. Reject conditions that need every failure or that run regardless.

Exam tip: Run a handler on any upstream failure with At least one failed; on total failure with All failed.

Lakeflow Jobs Tasks, Dependencies and Control Flow: Retries, Run If, If/Else and For Each (Databricks Data Engineer Associate) — the lesson that teaches this.

Question 5Working with Lakeflow Jobs

A summary task depends on two regional load tasks, EU and US. The business wants the summary published when either region loaded, but not when both loads fail. The summary is the only task with no downstream tasks. Which run_if value meets this, and what is the job run's status when the EU load fails and the summary succeeds?

Choose one.

  • a
    ALL_DONE; the job run shows Failed because the EU load failed

    Wrong on both counts: All done would also run the summary after both loads fail, and the run is not Failed because its only leaf task, the summary, succeeded.

  • b
    AT_LEAST_ONE_SUCCESS; the job run shows Failed because the EU load failed

    The condition is right, but a failed non-leaf task does not fail the run: its only leaf task, the summary, succeeded.

  • c
    AT_LEAST_ONE_SUCCESS; the job run shows Succeeded with failures Correct

    Correct. The summary runs when either load succeeds, and a run whose leaf tasks all succeeded despite a failed task is Succeeded with failures.

  • d
    ALL_DONE; the job run shows Succeeded with failures

    The status is right, but All done would also run the summary when both loads fail.

The concept

Run if picks when a task starts; the job run status is decided by the leaf tasks, the tasks with no downstream dependencies.

Why that’s the answer

At least one succeeded runs the summary when either region loaded and skips it when both fail, which matches the requirement; All done would run it after a double failure. For the status, Databricks reports Succeeded with failures when some tasks failed but every leaf task succeeded, and Failed only when a leaf task fails. The summary is the only leaf and it succeeded.

How to reason it out
  1. Translate the rule: run if either load succeeds, not if both fail.
  2. Map it to At least one succeeded.
  3. Identify the leaf tasks: only the summary.
  4. A failed non-leaf task with successful leaves gives Succeeded with failures.

Exam tip: Job status follows the leaf tasks: all leaves succeeded but something failed means Succeeded with failures.

Lakeflow Jobs Tasks, Dependencies and Control Flow: Retries, Run If, If/Else and For Each (Databricks Data Engineer Associate) — the lesson that teaches this.

Question 6Working with Lakeflow Jobs

A two-task job runs an ingest notebook and then an audit task configured with Run if All done. Tonight the ingest task failed, the audit task ran and succeeded, and the team's alerting rule only fires on job runs with the status Failed. Which status will this job run show?

Choose one.

  • a
    Succeeded, because the last task to run in the job succeeded

    Succeeded means every task succeeded; the ingest task failed.

  • b
    Succeeded with failures, because the only leaf task succeeded Correct

    Correct. Some tasks failed but every leaf task succeeded, so the run is Succeeded with failures and the alert rule will not fire.

  • c
    Failed, because the ingest task failed before the audit task ran

    A run is Failed when one or more leaf tasks fail; the only leaf, the audit task, succeeded.

  • d
    Upstream failed, because the audit task depended on a failed task

    Upstream failed describes a task skipped because of its dependencies, not the result of a whole job run.

The concept

The overall run status depends on the leaf tasks: Failed only when a leaf task fails, Succeeded with failures when only non-leaf tasks failed.

Why that’s the answer

The audit task is the only leaf and it succeeded because All done runs it regardless of the ingest result. Databricks therefore reports Succeeded with failures, not Failed. That matters for monitoring: an alert that watches only for Failed misses this run, so failure notifications should also be set on the ingest task itself or on the Succeeded with failures state.

How to reason it out
  1. Find the leaf tasks of the job: the audit task.
  2. Check the leaf's result: succeeded.
  3. Recall the rule: failed tasks plus successful leaves is Succeeded with failures.
  4. Note the monitoring impact on a Failed-only alert.

Exam tip: An All done cleanup leaf can turn a failed run into Succeeded with failures; alert on the task, not only the job.

Lakeflow Jobs Tasks, Dependencies and Control Flow: Retries, Run If, If/Else and For Each (Databricks Data Engineer Associate) — the lesson that teaches this.

What Databricks DEA domain 4 tests, topic by topic

The official exam guide breaks Working with Lakeflow Jobs into 2 topics. The question bank follows the same split, so a weak topic shows up as a cluster of misses you can go back and read.

Published Databricks DEA practice questions per topic in Working with Lakeflow Jobs
TopicWhat it coversQuestions
Tasks, Dependencies and Control Flow in Lakeflow JobsOfficial exam-guide objectives (Section 4): "Implement control flows (retries and conditional tasks such as branching and looping) using Lakeflow Jobs for pipeline orchestration." "Configure common tasks (notebook, SQL query, dashboard, and pipeline tasks) and their dependencies using Lakeflow Jobs and its DAG‑based task graph."42
Schedules and Triggers in Lakeflow JobsOfficial exam-guide objectives (Section 4): "Implement job schedules using Lakeflow Jobs with an understanding of trigger types (scheduled, file arrival, and table update)." "Choose between time‑based and data‑driven triggers based on data availability and pipeline dependencies."42
Total84

Revise Working with Lakeflow Jobs before you drill it

Other Databricks DEA domains

Working with Lakeflow Jobs: your questions

Working with Lakeflow Jobs is domain 4 of the Databricks DEA exam guide and carries 16% of the scored content — the 3rd-heaviest of the 7 domains. On a 45-question paper that works out to roughly 7 questions, though Databricks does not publish an exact per-domain count and individual exam forms vary.

Source

The domain weight and topic list on this page come from the official Databricks DEA exam guide.