SaveMyCert
Log in
5 of 5 free questions left today·for unlimited practice
DP-700 last-day review

DP-700 cheat sheet

78 key facts across 3 exam domains, distilled from the full DP-700 revision notes — with the exam pattern behind each topic. Skim it the week of your exam.

Updated

Implement and manage an analytics solution

34% of the exam

Configure Microsoft Fabric Workspace Settings: Spark, Domains, OneLake, Airflow

  • Tenant admins enable features and create domains; capacity admins control compute limits and whether custom pools are allowed; workspace admins configure their own workspace within those guardrails.
  • Starter pools give session starts in seconds from pre-warmed nodes; custom pools give node family, size, and autoscale control but cold-start in minutes.
  • Workspace-level custom Spark pools require the capacity admin to allow customized workspace pools first.
  • Environments package runtime version, libraries, and Spark properties; set one as the workspace default instead of pip-installing in notebook cells.
  • High concurrency mode shares one Spark session across a user's compatible notebooks and across pipeline notebook activities, cutting startup time and capacity use.
  • Domains group workspaces by business area: tenant admins create domains, domain admins manage them, contributors assign workspaces, and a workspace belongs to one domain.
  • Deleted workspaces keep their OneLake data through an admin-configurable retention period and can be restored before it lapses.
  • Apache Airflow jobs are tenant-gated managed Airflow; pick a custom always-on pool when production DAGs cannot wait for a starter pool to warm up.
How the exam tests this

DP-700 tests this topic almost entirely through level-routing and trade-off scenarios: given a requirement, pick the right setting and the right admin. Watch for trigger words — 'fastest session start' (starter pool), 'specific node size or cost cap' (custom pool with autoscale), 'same libraries in every notebook' (default environment), 'reduce session startup across many notebooks' (high concurrency), 'group workspaces by business unit' (domains), and 'recover a deleted workspace' (retention). Distractors usually offer the right feature at the wrong admin level, so always confirm who — tenant, capacity, or workspace admin — owns the control in the scenario.

Fabric Lifecycle Management: Git Integration and Deployment Pipelines

  • Git integration = source control for item definitions; deployment pipelines = staged promotion between workspaces — neither one ever moves data.
  • A workspace connects to exactly one branch (Azure DevOps or GitHub) and a folder within it; only a workspace admin can connect or disconnect.
  • Commit pushes workspace changes to the branch, Update pulls branch changes in; conflicts are resolved per item by choosing the workspace or Git version, or by merging in Git.
  • Branch out creates a feature branch plus an isolated workspace in one step; changes return to the shared workspace through a pull request, then Update.
  • SQL database projects version Warehouse schema as .sql files, build to a dacpac, and deploy repeatably with SqlPackage; schema compare detects drift.
  • Deployment pipelines support two to ten stages with one workspace per stage; the compare view shows added, different, and missing items before you deploy.
  • Deployment rules (data source, parameter, and notebook default Lakehouse rules) live on target-stage items and apply from the next deployment onward.
  • Standard pattern: only the development workspace is Git-connected; test and production receive content exclusively through the deployment pipeline.
How the exam tests this

DP-700 probes lifecycle management with match-the-tool scenarios: history, review, and isolation point to Git integration and branch out; promotion across environments points to deployment pipelines; Warehouse schema versioning points to database projects and dacpacs. Watch for the metadata-only trap — any option claiming Git or a deployment pipeline copied data is wrong — and for sequencing details like deployment rules applying only from the next deployment. 'Report still shows test data in production' is a deployment-rule question; 'engineers overwrote each other's notebook' is a branching question, not a roles question.

Fabric Security and Governance: Workspace Roles, RLS, and OneLake Access

  • Fabric security stacks three layers: workspace roles (what you can do), item permissions (which items), and data-level security (which rows, columns, and files).
  • Only Admins manage the workspace and other Admins; Members can share and manage lower roles; Contributors create and edit but cannot share; Viewers read through the SQL analytics endpoint only.
  • Item sharing splits into Read (connect), ReadData (all tables via SQL), and ReadAll (raw files via OneLake/Spark) — withhold ReadAll to keep consumers behind SQL security.
  • RLS (CREATE SECURITY POLICY + predicate function), CLS (column-scoped GRANT), and OLS (GRANT/DENY on objects) are enforced only in the Warehouse and SQL analytics endpoint — Spark and OneLake file reads bypass them.
  • Dynamic data masking obfuscates query output for users without UNMASK; it is not encryption and does not stop inference through predicates.
  • OneLake data access roles add folder- and file-level security inside a Lakehouse, scoping what ReadAll and Spark users can reach.
  • Sensitivity labels (Microsoft Purview) classify and follow data downstream; endorsement is Promoted (any writer), Certified and Master data (admin-authorized users only).
  • Fabric audit logs live in the unified Microsoft Purview audit log — the go-to answer for "who shared/changed/accessed this item."
How the exam tests this

DP-700 tests the security layers as scenario questions: pick the narrowest control that satisfies a requirement — workspace role vs item sharing vs RLS/CLS/OLS vs masking vs OneLake folder security. Expect at least one question hinging on enforcement boundaries: T-SQL security applies only to the Warehouse/SQL analytics endpoint, while ReadAll and Spark reach files directly unless OneLake data access roles intervene. Also memorize the four workspace roles' capability matrix and the endorsement rule that Certified and Master data require tenant-admin-authorized users while Promoted does not.

Fabric Orchestration: Dataflow Gen2 vs Pipeline vs Notebook, and Triggers

  • Dataflow Gen2 = low-code Power Query transforms with rich connectors; pipeline = control flow, Copy activity, and orchestration; notebook = code-first Spark. They compose: pipelines invoke both.
  • Pipelines orchestrate with ForEach, If/Switch, Until, Lookup, Get Metadata, Invoke Pipeline, and dependency conditions (success/failure/completion) that double as error-handling paths.
  • Schedules fire on a fixed cadence per item; event-based triggers (Activator/Real-Time hub) fire pipelines on OneLake or Azure Blob Storage file events, passing file name and path as trigger metadata.
  • Pipeline parameters are read-only run inputs (@pipeline().parameters.x); variables are mutable run state (@variables('x')); expressions compose functions like concat, utcnow, formatDateTime, and activity outputs.
  • Notebooks receive values via base parameters overriding a designated parameters cell, and return results via notebookutils.notebook.exit, read as @activity('Name').output.result.exitValue.
  • %%configure lets a pipeline parameterize a notebook's Spark session and default Lakehouse, so one notebook serves dev and prod.
  • Metadata-driven orchestration (Lookup + ForEach + parameterized activities) beats copying near-identical pipelines; new sources become control-table rows.
  • notebookutils.notebook.runMultiple runs a DAG of notebooks in one shared Spark session — cheaper than many pipeline Notebook activities, at the cost of coarser per-step monitoring and retries.
How the exam tests this

Expect scenario questions that hand you a persona, a transformation complexity, and a coordination need, and ask you to pick Dataflow Gen2, a pipeline, or a notebook — plus designs that combine them. Trigger questions contrast fixed schedules with event-based triggers for file arrivals (event-driven wins on latency and wasted runs). Parameter mechanics are fair game at the syntax level: @pipeline().parameters.x, @activity('Name').output, @item() inside ForEach, notebook parameters cells, and reading exit values via output.result.exitValue. Know why metadata-driven ForEach patterns beat duplicated pipelines and when runMultiple beats separate Notebook activities.

Ingest and transform data

33% of the exam

Fabric Loading Patterns: Full, Incremental, and Dimensional Model Loads

  • Full loads rebuild the target every run — simple and idempotent, right for small or change-opaque sources; incremental loads process only changed rows and are mandatory at scale.
  • A watermark load filters the source on a high-water-mark column and stores the new maximum after each run — taken from the extracted data, not the clock — but it cannot detect hard deletes.
  • Change Data Capture surfaces inserts, updates, and deletes from the source's log; apply change sets to Delta tables with MERGE, deduplicating per key first so multiple matches don't fail the merge.
  • Dimensional preparation means declaring the fact grain, splitting facts from dimensions, conforming shared dimensions, and joining facts to dimensions through surrogate keys.
  • SCD Type 1 overwrites and loses history; Type 2 expires the current row and inserts a new surrogate-keyed row so facts keep the attribute values that were true at the time.
  • Load dimensions before facts, and handle late-arriving dimension members by inserting inferred placeholder rows that a later Type 1 update completes.
  • Streaming loading patterns are append-only through bronze and silver medallion layers; row-level updates only reappear at gold aggregation — never at the landing edge.
How the exam tests this

DP-700 tests loading patterns almost entirely through scenario questions: given a source size, a change-detection capability, and a freshness or history requirement, pick the pattern or spot the flaw in one. Trigger words to parse carefully: 'only rows changed since the last run' (watermark incremental), 'deleted rows must be reflected' (CDC or full reload — a plain watermark is the wrong answer), 'as it was at the time of the sale' (SCD Type 2), 'only the current value is needed' (Type 1), and 'data arrives continuously' (append-only landing, no merge at ingestion). Expect at least one question on merge mechanics — duplicate source keys failing a MERGE — and one on late-arriving dimension members with inferred placeholders as the production-grade fix.

Batch Ingestion in Fabric: Data Stores, Shortcuts, Mirroring, and Pipelines

  • Store choice is workload plus language: Lakehouse for Spark and files, Warehouse for full T-SQL DML and multi-table transactions, Eventhouse for telemetry queried with KQL, semantic model as the BI layer — and the Lakehouse SQL analytics endpoint is read-only.
  • Tool choice follows persona and scale: Dataflows Gen2 for low-code Power Query users, notebooks for large or complex code-first transforms, T-SQL for Warehouse-centric SQL teams, KQL for shaping event data in an Eventhouse.
  • Shortcuts are zero-copy pointers — internal to other OneLake items, external to ADLS Gen2 or Dataverse; table shortcuts need Delta format, and access still honors the target's permissions.
  • Mirroring keeps a near-real-time, read-only Delta replica of Azure SQL Database, Cosmos DB, or Snowflake in OneLake with no pipelines to build; it replaces watermark-and-merge extracts for supported sources.
  • Pick the access pattern by ownership of freshness: shortcut = read the source live, mirror = managed replica, pipeline copy = scheduled snapshot you control and can transform on the way in.
  • Pipelines copy and orchestrate but don't transform row internals — a metadata-driven ForEach + parameterized Copy activity feeding notebooks or stored procedures is the canonical batch design.
  • GROUP BY, groupBy().agg(), and summarize ... by are the same operation in T-SQL, PySpark, and KQL; denormalizing with joins is the standard silver-to-gold step.
  • Dedupe with row_number/arg_max keeping the latest row per key, quarantine bad records instead of silently dropping them, and absorb late-arriving data with lookback windows over an idempotent MERGE load.
How the exam tests this

This is DP-700's largest single topic and it's tested as chained decisions: expect 'choose the store' questions hinging on the read-only Lakehouse SQL endpoint vs Warehouse T-SQL DML, 'choose the tool' questions keyed to personas (Power Query analysts → Dataflow Gen2; large-scale complex logic → notebook; event parsing in an Eventhouse → KQL), and 'shortcut vs mirror vs copy' questions keyed to the source type — analytics-ready files point to shortcuts, supported operational databases with 'minimal effort / near real time' point to mirroring, everything else to pipeline copies. Also expect code-reading items that map GROUP BY, groupBy().agg(), and summarize across languages, and data-quality items where arg_max, ROW_NUMBER ... PARTITION BY, and lookback-window MERGE patterns are the correct dedupe and late-arrival answers.

Streaming Data in Fabric: Eventstreams, Spark, and Real-Time Intelligence

  • Match the engine to the workload: Eventstream for no-code capture and routing, Spark structured streaming for code-first complex transformation into Delta tables, KQL in an Eventhouse for interactive time-series analytics, dashboards, and alerting.
  • Eventstreams connect sources (Azure Event Hubs, Azure IoT Hub, CDC, custom endpoints) through no-code operators — filter, manage fields, aggregate, group by, join, union, expand — to destinations: Eventhouse, Lakehouse, derived stream, custom endpoint, or Activator.
  • Native tables give the fastest KQL performance for data ingested into the Eventhouse; OneLake shortcuts query external Delta/Parquet data in place without copying it, at lower performance.
  • Query acceleration indexes and caches a OneLake shortcut in the background for near-native query performance without duplicating the data — at extra capacity cost; standard shortcuts stay cheap but read files at query time.
  • Spark structured streaming needs a checkpointLocation for fault tolerance, withWatermark to bound late data and state, and the right output mode: append for new finalized rows, complete to rewrite an aggregation, update for changed rows only.
  • In KQL, summarize with bin() buckets events into fixed intervals, make-series plus series_* functions handle time-series analysis and anomaly detection, update policies transform data at ingestion, and materialized views keep aggregates fresh.
  • Window choice is scenario-driven: tumbling = fixed and non-overlapping (each event in exactly one window), hopping = fixed and overlapping on a schedule, sliding = fixed but emitting only when contents change, session = variable length ended by an inactivity gap.
How the exam tests this

DP-700 tests this topic almost entirely as scenario matching. Expect engine-selection questions where phrases like no-code or drag-and-drop point to Eventstream, custom Python logic or joins with historical Delta tables point to Spark structured streaming, and interactive time-series analytics or log exploration points to KQL. Storage questions hinge on trigger wording: fastest queries over ingested streaming data means native tables, query without copying or ingesting means a OneLake shortcut, and shortcut with near-native performance means Query acceleration. Windowing questions describe a timing requirement — non-overlapping fixed buckets (tumbling), overlapping fixed lookback on a schedule (hopping), condition over any interval emitting on change (sliding), or inactivity-gap grouping (session) — and ask you to name the window; also know that checkpointLocation is what makes a structured streaming job fault-tolerant.

Monitor and optimize an analytics solution

33% of the exam

Monitor Fabric Items: Monitoring Hub, Refresh History, and Activator Alerts

  • The Monitoring hub is the cross-workspace triage surface for job run history — pipelines, Dataflow Gen2, notebooks, Spark job definitions, and semantic model refreshes.
  • Pipeline diagnostics live at the activity level: status, input/output JSON, error codes, retries, and rerun-from-failed-activity.
  • Dataflow Gen2 refresh history breaks each run down by table and activity, and identifies whether the failure was in evaluation, staging, or the load to the destination.
  • For Spark, the Monitoring hub tells you a run failed; cell output and driver/executor logs tell you why it errored; the Spark UI (jobs, stages, tasks) tells you why it was slow.
  • Semantic model refresh history distinguishes scheduled from on-demand refreshes, and model settings include built-in failure notification emails.
  • Activator (Reflex) rules turn Real-Time hub sources — including Fabric job events — into alerts and actions: email, Teams messages, or starting a Fabric item.
  • Continuous items (Eventstreams, mirroring) are monitored in their own editors, and capacity-wide utilization and throttling questions resolve to the Capacity Metrics app.
  • Prevent silent downstream failures by orchestrating dependent steps in one pipeline instead of racing independent schedules.
How the exam tests this

DP-700 probes this topic with where-would-you-look questions: given a failed or slow item, pick the surface (Monitoring hub, refresh history, Spark UI, Capacity Metrics app, Eventstream runtime logs) that answers the question. Trigger words include refresh history (Dataflow Gen2 or semantic model), activity-level output and rerun from failed activity (pipelines), stages and tasks (Spark UI), and alert or notify (Activator with Real-Time hub job events). Expect at least one scenario chaining ingestion, transformation, and model refresh where you must both diagnose the break and prevent it recurring through orchestration plus an Activator rule.

Identify and Resolve Fabric Errors: Pipelines, Dataflows, Notebooks, and More

  • Classify every failure into one of five classes — authentication, connectivity, schema/data, resource, or logic — and fix the class, not the symptom.
  • Pipelines fail at the activity level: read the error details and evaluated input JSON, reserve retry policies for transient classes, and rerun from the failed activity.
  • Dataflow Gen2 diagnosis is table-by-table and phase-by-phase: evaluation errors point at the query or source, load errors point at destination mapping, types, or permissions.
  • Notebook out-of-memory splits by location: driver OOM means data was pulled local (collect, toPandas); executor OOM means skew or oversized partitions — repartition before scaling up.
  • Eventhouse ingestion problems are diagnosed with .show ingestion failures; permanent failures (mapping, schema, format) require a change, transient ones are retried by the service.
  • Eventstreams fail at their edges: source connectivity/auth on the way in, schema mismatch with the Eventhouse or Lakehouse destination on the way out — use data preview, data insights, and runtime logs.
  • The Lakehouse SQL analytics endpoint is read-only — write attempts fail by design; Warehouse conflicts under snapshot isolation are resolved by retrying and separating writers.
  • Shortcut errors are always about the target or the credentials: external shortcuts fail on their connection, internal shortcuts on the caller's permission at the target, and moved or deleted targets break the path.
How the exam tests this

DP-700 tests this skill with symptom-to-cause scenarios: an error message or behavior pattern is described and you pick the cause or the fix. Trigger words include rerun from failed activity and retry policy (pipelines), fails on schedule but works on demand (dataflow credentials or gateway), collect or toPandas (driver OOM), .show ingestion failures and permanent versus transient (Eventhouse), schema mismatch at the destination (Eventstream), read-only endpoint (Lakehouse T-SQL), and access denied for one user (internal shortcut target permissions). Expect at least one multi-item chain where you must trace a parent pipeline failure through a child notebook or dataflow to the true underlying error.

Optimizing Performance in Fabric: Lakehouse, Spark, Warehouse and Queries

  • The small-file problem is the top Lakehouse performance killer: fix it with OPTIMIZE bin compaction, keep it fixed with scheduled maintenance, and reclaim old files with VACUUM.
  • V-Order is a write-time Parquet optimization that dramatically speeds Direct Lake and SQL reads — the standard trade of slightly slower writes for much faster reads.
  • Partition on low-cardinality filter columns; use Z-Order or liquid clustering for high-cardinality columns where partitioning would create too many small files.
  • Spark tuning = right-sized partitions, broadcast small join tables to avoid shuffles, cache only reused DataFrames, fix skew (salting, AQE), and enable the native execution engine.
  • Warehouse tuning = accurate statistics, never SELECT *, realistic narrow data types, result-set caching for repeat queries, and minimizing data movement between nodes.
  • Pipelines get faster with ForEach parallel execution and batch count, Copy activity parallelism and partitioned reads, staging where the destination needs bulk loads, and incremental instead of full loads.
  • Eventhouse caching policy controls speed (hot SSD window), retention policy controls existence; materialized views and update policies shift query cost to ingestion time.
  • Direct Lake reads Delta tables in OneLake with near-Import speed and no refresh copies — choose it when data is in OneLake; its performance depends on compacted, V-Ordered tables.
How the exam tests this

DP-700 probes optimization through symptom-to-fix scenarios: a slow Direct Lake dashboard over a table with thousands of small files (answer: OPTIMIZE with V-Order, then VACUUM, scheduled regularly), one Spark task running far longer than the rest (data skew — salting, broadcast joins, adaptive execution), or a sequential ForEach loading tables one at a time (enable parallel execution and set batch count). Trigger words include small files, bin compaction, V-Order, stale statistics, SELECT *, result-set caching, hot cache, materialized view, and update policy. Expect at least one question distinguishing Direct Lake from Import and DirectQuery, and one separating Eventhouse caching policy (speed) from retention policy (how long data is kept).

Facts fresh? Prove it.
Drill DP-700 practice questions with an explanation on every option.
Practice now

Where these DP-700 facts came from

DP-700 cheat sheet: your questions

Every key takeaway from all 10 DP-700 revision lessons — 78 facts — pulled onto one page and grouped by exam domain, with the exam pattern behind each topic. It is a compression of the notes, not a separate set of content, so it can never contradict them.