8 DP-600 Questions Most Candidates Get Wrong
Here are 8 multiple-choice questions designed to match the difficulty, style, and domain coverage of the Microsoft DP-600 (Implementing Analytics Solutions Using Microsoft Fabric) exam. These questions focus on practical implementation, tool selection, and architectural decisions rather than simple recall.
Intro: The DP-600 exam evaluates your ability to design and build enterprise-scale analytics solutions using Microsoft Fabric. This includes data ingestion, transformation, semantic models, and governance. The questions below mimic the scenario-based approach of the real exam, requiring you to choose the most efficient and maintainable solution. Pay close attention to the nuances in the options, as "correct" answers in Fabric often depend on balancing performance with simplicity.
To build a schedule that fits your available time, use a free DP-600 study plan that organizes your preparation week by week.
Question 1
You are designing a medallion architecture in a Fabric lakehouse. You need to ingest data from a SQL Server database that has frequent schema changes. You also need to ensure that the ingestion process can be easily maintained. What should you use to load the data into the Bronze layer?
A. A Dataflow (Gen2) using a Power Query query.
B. A Data Pipeline using the Copy Activity to a Delta table.
C. A Data Pipeline using a shortcut to the SQL Server.
D. A Notebook using PySpark with a dynamic schema inference.
Answer: B
Explanation: The Copy Activity in a Data Pipeline is the optimal choice for high-volume, scheduled ingestion from external databases into the lakehouse, providing robust fault tolerance and monitoring. Dataflows (Gen2) are better suited for low-volume, citizen-integrator scenarios, while shortcuts do not physically ingest data (they virtualize it). While Notebooks can infer schemas, they require more manual coding for orchestration and error handling compared to the native Copy Activity, making them less maintainable for a simple ingestion task.
Question 2
You are building a semantic model for a sales dashboard. You have a Sales table and a Product table. You need to ensure that when a user filters by ProductCategory, the Total Sales measure calculates correctly, but you also need to prevent the Product table from being filtered by the Sales table. Which relationship should you configure?
A. A many-to-one relationship from Sales to Product with a single direction filter.
B. A one-to-many relationship from Product to Sales with a single direction filter.
C. A many-to-many relationship with a bridge table.
D. A one-to-one relationship with a bidirectional cross-filter.
Answer: B
Explanation: The correct filter direction is from the lookup table (Product) to the fact table (Sales), which is the standard star schema pattern. Option A describes the reverse, which is incorrect. Option C is only needed for many-to-many cardinality, which isn't the case here. Option D is incorrect because bidirectional filtering would allow the Sales table to filter the Product table, which violates the requirement to prevent reverse filtering.
Question 3
You are using Fabric Data Activator to monitor a business process. You have a stream of package delivery events containing PackageID, CurrentLocation, and Status. You need to trigger an alert when a package remains in the "Out for Delivery" status for more than 30 minutes. What is the most efficient way to implement this?
A. Create a KQL database and use a KQL query to detect the state.
B. Create a Data Pipeline that runs every 5 minutes to check the status.
C. Create a Data Activator event stream and a rule that uses a time window.
D. Create a Power BI report that refreshes every 5 minutes to show the status.
Answer: C
Explanation: Data Activator is specifically designed for real-time event monitoring and state detection, allowing you to define conditions based on time windows (e.g., "remains in status for 30 minutes"). Using a KQL database (Option A) requires manual query writing and orchestration. A Data Pipeline (Option B) is for batch data movement, not real-time event processing. A Power BI report (Option D) is for visualization and manual review, not for triggering automated alerts.
Question 4
You are developing a Fabric notebook to transform a large dataset (500GB) stored in a lakehouse. You need to optimize the performance of the transformation by minimizing data shuffling. Which PySpark configuration should you apply?
A. Set spark.sql.shuffle.partitions to a high value like 2000.
B. Use repartition() on the key column before the join.
C. Use coalesce() on the fact table before the join.
D. Use a broadcast join by caching the smaller table.
Answer: D
Explanation: A broadcast join is the most effective way to avoid shuffling when joining a large table with a smaller lookup table. It sends a copy of the small table to each executor, eliminating the need for a full shuffle. Setting spark.sql.shuffle.partitions to a high value (Option A) increases parallelism but doesn't reduce the shuffle itself. repartition() (Option B) creates more shuffles. coalesce() (Option C) reduces partitions but is not a join strategy and can cause data skew.
Question 5
You are designing a data warehouse in Fabric. You need to load data into a dimension table that uses a Type 2 slowly changing dimension (SCD) strategy. You have a source table with CustomerID, Address, and Phone. You need to track changes to the Address field. Which transformation should you use in a Dataflow (Gen2) or a Notebook to implement this?
A. Use a Lookup transformation to check for new records and insert them.
B. Use a Merge transformation (or PySpark merge) to update changed rows and insert new rows.
C. Use an Append transformation to add all new source rows to the dimension.
D. Use a DELETE and INSERT strategy for all changed CustomerID values.
Answer: B
Explanation: A merge operation (e.g., MERGE in SQL or deltaTable.alias().merge()) is the standard pattern to implement SCD Type 2, allowing you to update the EndDate of the old record and insert a new record with the updated address. A simple Lookup (Option A) only handles inserts. An Append (Option C) would create duplicate rows without tracking validity periods correctly. A DELETE and INSERT (Option D) would lose the historical record, violating the Type 2 requirement.
Question 6
You need to provide a team of data analysts with a set of reusable, pre-defined metrics (e.g., Total Revenue, Active Customers) to ensure consistency across multiple reports. You also need to enforce row-level security (RLS) based on the user's SalesRegion. What should you create in Fabric?
A. A shared semantic model with calculation groups and RLS.
B. A single Power BI report with a static report-level filter.
C. A lakehouse view with a WHERE clause.
D. A Dataflow (Gen2) that filters the data by region.
Answer: A
Explanation: A shared semantic model is the best practice for centralizing business logic (metrics) and enforcing security. Calculation groups allow you to define reusable measures, and RLS can be configured directly on the model to filter data by user attributes. Option B is report-specific and doesn't standardize metrics. Option C (lakehouse view) provides data security but does not contain metrics (DAX measures). Option D (Dataflow) is for data transformation, not for defining metrics or RLS.
Question 7
You are using Fabric to analyze data stored in an external Azure Blob Storage account. You do not want to copy the data into a lakehouse, but you need to query it using T-SQL. What should you create?
A. A Lakehouse with a shortcut to the Blob Storage.
B. A Data Pipeline to copy the data to a Warehouse.
C. A SQL Analytics endpoint referencing the external path.
D. An Eventhouse with a data connection.
Answer: A
Explanation: Shortcuts in Fabric allow you to virtualize external data (including Azure Blob Storage) without copying it. Once a shortcut is created in a lakehouse, the data becomes queryable via the SQL Analytics endpoint using T-SQL. Option B involves copying, which is against the requirement. Option C is not a real Fabric artifact; the SQL endpoint is derived from the lakehouse. An Eventhouse (Option D) is for real-time data, not for querying static blobs via T-SQL.
Question 8
You are monitoring the performance of a Fabric Data Pipeline. You notice that a particular activity is taking a long time to complete, and you suspect it is due to data skew in the source. Which tool should you use to diagnose the issue?
A. The Fabric Capacity Metrics app.
B. The Monitoring Hub.
C. The Spark UI for the associated Notebook.
D. The SQL analytics endpoint's Query Insights.
Answer: C
Explanation: Data skew is a Spark execution issue. The Spark UI provides detailed execution plans, stage-level metrics, and task duration distributions, which directly reveal skew (e.g., one task taking much longer than others). The Capacity Metrics app (Option A) shows overall capacity consumption, not specific job internals. The Monitoring Hub (Option B) shows pipeline run status but not low-level execution details. Query Insights (Option D) is for T-SQL queries, not for Spark pipeline activities.
Closing: Mastering these concepts—from ingestion patterns and semantic modeling to real-time monitoring and performance tuning—is crucial for passing the DP-600. Remember to focus on the why behind each solution, as the exam heavily emphasizes architectural trade-offs and best practices.
Before you sit for the exam, use a free DP-600 readiness check to see which topic needs the most review.
Treat Implementing Analytics Solutions Using Microsoft Fabric (DP-600) mock exam as a dress rehearsal — same format, same pressure, zero risk.
