DP-700 Monitor and Optimize an Analytics Solution Practice Question
Exhibit
{
"executorMemory": "16g",
"executorCores": 4,
"dynamicAllocation": true,
"maxExecutors": 20,
"vorderEnabled": true
}Refer to the exhibit. A data engineer is troubleshooting a Spark job that frequently fails with 'Out of Memory' (OOM) errors despite the configuration shown. The job processes a 500GB dataset with many wide transformations. What is the most effective configuration change to resolve the OOM errors?
⚠ Common exam trap
Candidates often choose options that increase total executors or parallelism, incorrectly believing more nodes fix memory shortages, instead of addressing memory pressure per task by adjusting memory-to-core ratios.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Increase executorMemory and decrease executorCores per executor.
OOM errors in Spark often occur when the ratio of memory to cores is too low for the data being processed, or when the shuffle partitions are too large. While increasing the number of executors helps with parallelism, it doesn't solve memory pressure per task. Adjusting the executor memory or reducing the cores per executor ensures each task has more available heap space.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Set dynamicAllocation to false and use 50 static executors.
Why it's wrong here
Disabling dynamic allocation and using static executors can lead to resource waste and does not solve the memory pressure within an individual executor. If one executor is running out of memory due to data skew or large partitions, adding more executors will not prevent that specific failure.
- ✗
Increase the executorCores to 8 to allow more tasks to run.
Why it's wrong here
Increasing the number of cores per executor while keeping memory constant actually reduces the amount of memory available to each individual task. This will likely worsen the Out of Memory situation because more tasks will be competing for the same 16GB of executor heap space.
- ✓
Increase executorMemory and decrease executorCores per executor.
Why this is correct
By increasing memory and decreasing cores, you provide more memory to each individual task running on that executor. This is a standard approach for handling wide transformations or large shuffles where each task requires a significant amount of memory to store intermediate data structures without spilling to disk or crashing.
- ✗
Set vorderEnabled to false to reduce the memory overhead.
Why it's wrong here
V-Order is an optimization for the write phase and does not significantly impact the memory consumption of Spark transformation tasks during the shuffle or execution phase. Disabling it would negatively impact the read performance of downstream applications without resolving the OOM errors in the current job.
Visual reference
About these practice questions
This DP-700 question is part of Courseiva's 152-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Microsoft exam blueprint
This DP-700 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-700 exam.