Microsoft Fabric Data Engineer Associate (DP-700) · 34% practice allocation

Microsoft DP-700: Monitor and optimize an analytics solution Practice Questions

5 free sample questions from the Monitor and optimize an analytics solution domain, with answers and explanations. The full DP-700 bank has 227 questions across 3 domains. Questions are scenario-based and written from the official Microsoft exam guide.

1.

A Fabric data engineer needs to configure a scheduled semantic model refresh for a large Import-mode dataset in Power BI (Fabric). The dataset has 15 tables, and one table ('FactSales') containing 800 million rows takes 55 minutes to refresh while all other tables complete in under 5 minutes. The total allowed refresh window is 60 minutes. Which TWO strategies should the engineer implement to fit the refresh within the window without reducing data completeness? (Select TWO.)

  • A. Move 'FactSales' to a separate dataset and use composite model relationships to join it with the other tables.
  • B. Set the query timeout on the 'FactSales' table source to 90 minutes to prevent it from being cancelled mid-refresh.
  • C. Enable incremental refresh on the 'FactSales' table, configuring a rolling window to import only new or updated rows rather than the full table on each refresh.✓ Correct
  • D. Switch the entire dataset to DirectQuery mode so that no data is imported and refresh time is eliminated.
  • E. Use semantic model partitioning to process the large 'FactSales' table in parallel partitions during the refresh.✓ Correct
  • F. Reduce the refresh frequency from daily to weekly to allow more time per refresh window.
Explanation

Incremental refresh on FactSales means only new or changed rows (e.g., the last N days) are imported on each scheduled run, reducing the per-refresh volume from 800 million rows to a fraction. This is the primary recommended approach for large fact tables. Semantic model partitioning (XMLA/TMSL-based table partitioning) allows the refresh to process multiple partitions of FactSales in parallel, further reducing wall-clock refresh time. Switching to DirectQuery eliminates import refresh but degrades query performance and removes in-memory aggregation benefits — it also fundamentally changes the dataset behavior, which is not the stated goal. Reducing refresh frequency does not fit the data within the 60-minute window — it just refreshes less often. Splitting FactSales into a separate dataset adds architectural complexity and still requires refreshing 800 million rows; it does not reduce the refresh time. Increasing the query timeout does not speed up the refresh — it only changes when the engine gives up waiting; it does not address the root cause.

2.

A senior data engineer is designing a Fabric Eventstream solution. The stream ingests telemetry from 10,000 IoT devices at a peak rate of 50,000 events per second. The team observes increasing end-to-end latency during peak hours. They want to reduce latency without reducing throughput. Which TWO strategies should the engineer apply? (Choose TWO)

  • A. Enable streaming ingestion on the Eventhouse KQL database destination to reduce batching delays.✓ Correct
  • B. Add a Filter operator in Eventstream to drop all events where device_status = 'nominal', reducing message volume.
  • C. Add a Tumbling Window aggregation operator in Eventstream to pre-aggregate events before writing to the KQL destination, reducing write amplification.
  • D. Increase the Eventstream partition count to allow parallel ingestion processing across more partitions.✓ Correct
  • E. Switch the Eventstream destination from a KQL database to a Lakehouse to reduce write latency.
  • F. Replace the Eventstream with a Fabric Data Pipeline that polls Event Hubs every 5 minutes.
Explanation

Increasing the Eventstream partition count increases parallelism in the ingestion processing layer, directly reducing per-partition queue depth and latency at high throughput. Enabling streaming ingestion on the Eventhouse KQL destination reduces the default micro-batching delay, allowing data to be available for query sooner. Pre-aggregating with a Tumbling Window reduces write volume but also reduces data granularity and doesn't specifically target latency. Switching to a Lakehouse destination typically increases latency rather than reducing it, as Lakehouse writes are batched. Replacing Eventstream with a polling pipeline is a batch approach and would dramatically worsen latency. Filtering events may reduce volume but is a data-loss approach and does not address architectural latency.

3.

A data engineer at Margie's Travel wants to monitor the health of all scheduled Fabric Data Pipelines across a workspace from a single location, including run history, duration, and failure details. Which Fabric feature should the engineer use?

  • A. The Fabric Monitoring Hub, filtered to the relevant workspace✓ Correct
  • B. The individual pipeline 'Run History' panel accessed from each pipeline's context menu
  • C. The Fabric Workspace Settings page under the 'Governance' tab
  • D. Azure Monitor Logs with a Fabric diagnostic settings export
Explanation

The Fabric Monitoring Hub provides a centralized view of all item activity across a workspace, including pipeline runs, notebook executions, and dataflow refreshes, with status, duration, and error details. It is the correct single-location tool for this requirement. The Workspace Settings Governance tab manages sensitivity labels and endorsements, not run history. Azure Monitor Logs integration is possible but requires additional configuration and is not a native single-location Fabric feature for pipeline monitoring. The individual pipeline Run History panel requires navigating to each pipeline separately, so it does not satisfy the 'single location' requirement.

4.

A senior data engineer at Pico & Alto is designing a Fabric Lakehouse architecture for a medallion pattern. The Silver layer Delta table 'customer_events' receives 200,000 new rows per hour via a streaming notebook. A nightly Gold layer notebook reads the Silver table and applies a complex SCD Type 2 MERGE operation. The Gold notebook consistently fails with timeout errors after 3 hours. Upon investigation, the engineer finds that the Silver table has 2.5 million Delta transaction log entries and 900,000 small Parquet files. Which THREE actions should the engineer take to resolve the root cause of the Gold notebook timeouts? (Select THREE.)

  • A. Run OPTIMIZE on the Silver 'customer_events' table nightly to compact the 900,000 small files into larger, optimally sized files before the Gold notebook runs.✓ Correct
  • B. Increase the Gold notebook's Spark session timeout setting from 1 hour to 6 hours to allow the MERGE to complete.
  • C. Enable Delta table log compaction (checkpointing) on the Silver table to reduce the number of JSON transaction log files the Gold notebook must replay when reading the table state.✓ Correct
  • D. Repartition the Silver table by 'customerId' using OPTIMIZE ZORDER BY (customerId) to co-locate customer records and accelerate the MERGE join predicate lookups.✓ Correct
  • E. Switch the Gold notebook's MERGE operation to use INSERT OVERWRITE for the entire Gold table each night to avoid the MERGE transaction log overhead.
  • F. Run VACUUM on the Silver table with RETAIN 168 HOURS to remove orphaned files and reduce storage overhead.
Explanation

Running OPTIMIZE on the Silver table compacts 900,000 small files into a manageable number of large files. The Gold notebook's MERGE operation must scan the Silver table, and small files cause excessive Parquet footer reads and task overhead — this is a primary contributor to the timeout. Enabling Delta log checkpointing (log compaction) creates periodic checkpoint Parquet files that summarize the transaction log state, eliminating the need to replay 2.5 million JSON log entries on every Delta table read. This directly reduces the metadata overhead that slows both the Silver table state computation and the Gold MERGE planning phase. Running OPTIMIZE with ZORDER BY (customerId) physically co-locates customer records within files, which directly accelerates the SCD Type 2 MERGE join predicate (typically joining on customerId), enabling data skipping to reduce the number of files the MERGE must read. VACUUM removes files that are no longer referenced by the Delta log, but it does not reduce the number of active transaction log entries or compact active small files — it addresses storage cost, not the timeout root cause. Switching to INSERT OVERWRITE avoids MERGE complexity but breaks SCD Type 2 logic (which requires tracking historical versions) and is architecturally incorrect. Increasing the session timeout is a workaround that masks the root cause and does not fix the underlying performance problem.

5.

A data engineer is configuring Lakehouse table maintenance for a high-throughput streaming Delta table that receives approximately 500 new files per hour. The team wants to automate both file compaction and removal of files no longer referenced by any Delta snapshot older than 7 days, on a daily schedule. Which combination of commands should be included in the maintenance notebook?

  • A. VACUUM <table> RETAIN 168 HOURS followed by OPTIMIZE <table> with no additional configuration
  • B. MERGE INTO <table> followed by VACUUM <table> RETAIN 0 HOURS
  • C. OPTIMIZE <table> followed by VACUUM <table> RETAIN 168 HOURS✓ Correct
  • D. OPTIMIZE <table> followed by DESCRIBE HISTORY <table>
Explanation

OPTIMIZE compacts small files into larger, more efficient Parquet files, directly addressing the 500-files-per-hour accumulation. VACUUM RETAIN 168 HOURS (7 days × 24 hours) removes Parquet files that are no longer referenced by any Delta log entry within the 7-day retention window, reclaiming storage. This combination is the standard maintenance pattern. MERGE INTO is a DML operation, not a maintenance command, and VACUUM RETAIN 0 HOURS is dangerous as it breaks time travel and may remove files needed by active readers. DESCRIBE HISTORY is a diagnostic command, not maintenance. Running VACUUM before OPTIMIZE would remove files that OPTIMIZE might still need to reference during compaction planning.

Test yourself across every DP-700 domain

The free DP-700 practice test mixes about 20 questions weighted like the exam. The full 227-question bank adds instant grading, flashcards and a timed mock exam.

Study this domain

Monitor and optimize an analytics solution study guide (DP-700) →

Other DP-700 domains

← All Microsoft Fabric Data Engineer Associate study resources