In 2025, scoring 700 or higher will earn you the DP-420: Azure Cosmos DB Developer Specialty certification.
Introduced in 2021-2022, this exam remains highly popular. Joining the DP-420 exam preparation plan will help you pass with ease.

What is the DP-420 exam preparation plan for scoring over 700?
Step 1: Visit the official Microsoft Certified: Azure Cosmos DB Developer Specialty page to understand the exam topics.
Step 2: Create a study plan:
Foundation Phase (1-2 weeks): Learn Azure Cosmos DB core concepts (e.g., NoSQL, Core API, request units, throughput).
Advanced Phase (2-3 weeks): Dive deeper into data modeling, partitioning strategies, query optimization, and SDK usage.
Practice and Review Phase (1-2 weeks): Reinforce knowledge through practice exams and hands-on labs.
Step 3: Use reliable exam preparation resources. Download the Leads4Pass DP-420 dumps: https://www.leads4pass.com/dp-420.html (176 Q&A) for the latest 2025 exam prep materials to identify gaps and practice in real-time.
Additionally, join professional communities like Reddit’s r/AzureCertification to gain valuable insights and tips.
Practice the latest DP-420 dumps exam questions for 2025 online
We warmly invite you to actively participate, validate your true abilities, and identify areas for improvement.
2025 New Question 1:
You need to provide a solution for the Azure Functions notifications following updates to con-product. The solution must meet the business requirements and the product catalog requirements. Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point.
A. Configure the trigger for each function to use a different leaseCollectionPrefix
B. Configure the trigger for each function to use the same leaseCollectionName
C. Configure the trigger for each function to use a different leaseCollectionName
D. Configure the trigger for each function to use the same leaseCollectionPrefix
Correct Answer: AB
leaseCollectionPrefix: when set, the value is added as a prefix to the leases created in the Lease collection for this Function. Using a prefix allows two separate Azure Functions to share the same Lease collection by using different prefixes.
Scenario: Use Azure Functions to send notifications about product updates to different recipients.
Trigger the execution of two Azure functions following every update to any document in the con-product container.
Reference:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb-v2-trigger
2025 New Question 2:
DRAG DROP
You have an Azure Cosmos DB Core (SQL) API account that is configured for multi-region writes. The account contains a database that has two containers named container1 and container2.
The following is a sample of a document in container1:
{
“customerId”: 1234,
“firstName”: “John”,
“lastName”: “Smith”,
“policyYear”: 2021
}
The following is a sample of a document in container2:
{
“gpsId”: 1234,
“latitude”: 38.8951,
“longitude”: -77.0364
}
You need to configure conflict resolution to meet the following requirements:
1.
For container1 you must resolve conflicts by using the highest value for policyYear.
2.
For container2 you must resolve conflicts by accepting the distance closest to latitude: 40.730610and longitude: -73.935242.
3.
Administrative effort must be minimized to implement the solution.
What should you configure for each container? To answer, drag the appropriate configurations to the correct containers. Each configuration may be used once, more than once, or not at all. You may need to drag the split bar between panes
or scroll to view content.
NOTE: Each correct selection is worth one point.
Select and Place:

Correct Answer:

Box 1: Last Write Wins (LWW) (default) mode
Last Write Wins (LWW): This resolution policy, by default, uses a system-defined timestamp property. It\’s based on the time-synchronization clock protocol.
Box 2: Merge Procedures (custom) mode
Custom: This resolution policy is designed for application-defined semantics for reconciliation of conflicts. When you set this policy on your Azure Cosmos container, you also need to register a merge stored procedure. This procedure is
automatically invoked when conflicts are detected under a database transaction on the server. The system provides exactly once guarantee for the execution of a merge procedure as part of the commitment protocol.
Reference:
https://docs.microsoft.com/en-us/azure/cosmos-db/conflict-resolution-policies
https://docs.microsoft.com/en-us/azure/cosmos-db/sql/how-to-manage-conflicts
2025 New Question 3:
You have a database named db1 in an Azure Cosmos DB for NoSQL
You are designing an application that will use dbl.
In db1, you are creating a new container named coll1 that will store in coll1.
The following is a sample of a document that will be stored in coll1.

The application will have the following characteristics:
1.
New orders will be created frequently by different customers.
2.
Customers will often view their past order history.
You need to select the partition key value for coll1 to support the application. The solution must minimize costs. To what should you set the partition key?
A. id
B. customerId
C. orderDate
D. orderId
Correct Answer: B
Based on the characteristics of the application and the provided document structure, the most suitable partition key value for coll1 in the given scenario would be the customerId, Option B.
The application frequently creates new orders by different customers and customers often view their past order history. Using customerId as the partition key would ensure that all orders associated with a particular customer are stored in the same partition.
This enables efficient querying of past order history for a specific customer and reduces cross-partition queries, resulting in lower costs and improved performance. a partition key is a JSON property (or path) within your documents that is used by Azure Cosmos DB to distribute data among multiple partitions3.
A partition key should have a high cardinality, which means it should have many distinct values, such as hundreds or thousands1.
A partition key should also align with the most common query patterns of your application, so that you can efficiently retrieve data by using the partition key value1. Based on these criteria, one possible partition key that you could use for coll1 is B:customerId.
This partition key has the following advantages: It has a high cardinality, as each customer will have a unique ID3.
It aligns with the query patterns of the application, as customers will often view their past order history3. It minimizes costs, as it reduces the number of cross-partition queries and optimizes the storage and throughput utilization1.
This partition key also has some limitations, such as: It may not be optimal for scenarios where orders need to be queried independently from customers or aggregated by date or other criteria3.
It may result in hot partitions or throttling if some customers create orders more frequently than others or have more data than others1.
It may not support transactions across multiple customers, as transactions are scoped to a single logical partition2.
Depending on your specific use case and requirements, you may need to adjust this partition key or choose a different one.
For example, you could use a synthetic partition key that concatenates multiple properties of an item2, or you could use a partition key with a random or pre-calculated suffix to distribute the workload more evenly2.
2025 New Question 4:
You have an Azure Cosmos DB database.
You plan to create a new container named container1 that will store product data and product category data and will primarily support read requests.
You need to configure a partition key for container1. The solution must meet the following requirements:
Minimize the size of the partition.
Minimize maintenance effort.
Which two characteristics should you prioritize? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A. unique
B. high cardinality
C. low cardinality
D. static
Correct Answer: BD
Explanation:
B: For all containers, your partition key should:
*
Have a high cardinality. In other words, the property should have a wide range of possible values.
*
Etc.
D: Be a property that has a value, which doesn\’t change. If a property is your partition key, you can\’t update that property\’s value.
Reference: https://learn.microsoft.com/en-us/azure/cosmos-db/partitioning-overview
2025 New Question 5:
You are developing an application that will use an Azure Cosmos DB Core (SQL) API account as a data source. You need to create a report that displays the top five most ordered fruits as shown in the following table.

A collection that contains aggregated data already exists. The following is a sample document:
{
“name”: “apple”,
“type”: [“fruit”, “exotic”],
“orders”: 10000
}
Which two queries can you use to retrieve data for the report? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.

A. Option A
B. Option B
C. Option C
D. Option D
Correct Answer: BD
ARRAY_CONTAINS returns a Boolean indicating whether the array contains the specified value. You can check for a partial or full match of an object by using a boolean expression within the command. Incorrect Answers:
A: Default sorting ordering is Ascending. Must use Descending order.
C: Order on Orders not on Type.
Reference: https://docs.microsoft.com/en-us/azure/cosmos-db/sql/sql-query-array-contains
2025 New Question 6:
You are implementing an Azure Data Factory data flow that will use an Azure Cosmos DB (SQL API) sink to write a dataset. The data flow will use 2,000 Apache Spark partitions. You need to ensure that the ingestion from each Spark partition is balanced to optimize throughput.
Which sink setting should you configure?
A. Throughput
B. Write throughput budget
C. Batch size
D. Collection action
Correct Answer: C
Batch size: An integer that represents how many objects are being written to Cosmos DB collection in each batch. Usually, starting with the default batch size is sufficient. To further tune this value, note:
Cosmos DB limits single request\’s size to 2MB. The formula is “Request Size = Single Document Size * Batch Size”. If you hit error saying “Request size is too large”, reduce the batch size value.
The larger the batch size, the better throughput the service can achieve, while make sure you allocate enough RUs to empower your workload.
Incorrect Answers:
A: Throughput: Set an optional value for the number of RUs you\’d like to apply to your CosmosDB collection for each execution of this data flow. Minimum is 400.
B: Write throughput budget: An integer that represents the RUs you want to allocate for this Data Flow write operation, out of the total throughput allocated to the collection.
D: Collection action: Determines whether to recreate the destination collection prior to writing.
None: No action will be done to the collection. Recreate: The collection will get dropped and recreated
Reference: https://docs.microsoft.com/en-us/azure/data-factory/connector-azure-cosmos-db
2025 New Question 7:
The following is a sample of a document in orders.

The orders container uses customerIdas the partition key.
You need to provide a report of the total items ordered per month by item type. The solution must meet the following requirements:
1.
Ensure that the report can run as quickly as possible.
2.
Minimize the consumption of request units (RUs). What should you do?
A. Configure the report to query orders by using a SQL query.
B. Configure the report to query a new aggregate container. Populate the aggregates by using the change feed.
C. Configure the report to query orders by using a SQL query through a dedicated gateway.
D. Configure the report to query a new aggregate container. Populate the aggregates by using SQL queries that run daily.
Correct Answer: B
You can facilitate aggregate data by using Change Feed and Azure Functions, and then use it for reporting.
Reference: https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed
2025 New Question 8:
HOTSPOT
You have a container named container1 in an Azure Cosmos DB Core (SQL) API account. The container1 container has 120 GB of data.
The following is a sample of a document in container1.

The orderIdproperty is used as the partition key.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Hot Area:

Correct Answer:

Box 1: Yes
Records with different OrderIDs will match.
Box 2: Yes
Records with different OrderIDs will match.
Box 3: No
Only records with one specific OrderId will match
2025 New Question 9:
You need to provide a solution for the Azure Functions notifications following updates to con-product. The solution must meet the business requirements and the product catalog requirements.
Which two actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A. Configure the trigger for each function to use a different leaseCollectionPrefix
B. Configure the trigger for each function to use the same leaseCollectionNaire
C. Configure the trigger for each function to use a different leaseCollectionName
D. Configure the trigger for each function to use the same leaseCollectionPrefix
Correct Answer: AC
leaseCollectionPrefix: when set, the value is added as a prefix to the leases created in the Lease collection for this Function. Using a prefix allows two separate Azure Functions to share the same Lease collection by using different prefixes.
Scenario: Use Azure Functions to send notifications about product updates to different recipients.
Trigger the execution of two Azure functions following every update to any document in the con-product container.
Reference:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb-v2-trigger
2025 New Question 10:
You have the following query.
SELECT * FROM с WHERE c.sensor = “TEMP1” AND c.value < 22 AND c.timestamp >= 1619146031231
You need to recommend a composite index strategy that will minimize the request units (RUs) consumed by the query.
What should you recommend?
A. a composite index for (sensor ASC, value ASC) and a composite index for (sensor ASC, timestamp ASC)
B. a composite index for (sensor ASC, value ASC, timestamp ASC) and a composite index for (sensor DESC, value DESC, timestamp DESC)
C. a composite index for (value ASC, sensor ASC) and a composite index for (timestamp ASC, sensor ASC)
D. a composite index for (sensor ASC, value ASC, timestamp ASC)
Correct Answer: A
If a query has a filter with two or more properties, adding a composite index will improve performance.
Consider the following query:
SELECT * FROM c WHERE c.name = “Tim” and c.age > 18
In the absence of a composite index on (name ASC, and age ASC), we will utilize a range index for this query. We can improve the efficiency of this query by creating a composite index for name and age.
Queries with multiple equality filters and a maximum of one range filter (such as >,<, <=, >=, !=) will utilize the composite index.
2025 New Question 11:
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have an Azure Cosmos DB Core (SQL) API account named account 1 that uses autoscale throughput.
You need to run an Azure function when the normalized request units per second for a container in account1 exceeds a specific value.
Solution: You configure an Azure Monitor alert to trigger the function.
Does this meet the goal?
A. Yes
B. No
Correct Answer: A
You can set up alerts from the Azure Cosmos DB pane or the Azure Monitor service in the Azure portal.
Note: Alerts are used to set up recurring tests to monitor the availability and responsiveness of your Azure Cosmos DB resources. Alerts can send you a notification in the form of an email, or execute an Azure Function when one of your metrics reaches the threshold or if a specific event is logged in the activity log.
Reference: https://docs.microsoft.com/en-us/azure/cosmos-db/create-alerts
2025 New Question 12:
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have an Azure Cosmos DB Core (SQL) API account named account 1 that uses autoscale throughput.
You need to run an Azure function when the normalized request units per second for a container in account1 exceeds a specific value.
Solution: You configure an application to use the change feed processor to read the change feed and you configure the application to trigger the function.
Does this meet the goal?
A. Yes
B. No
Correct Answer: B
Instead configure an Azure Monitor alert to trigger the function.
You can set up alerts from the Azure Cosmos DB pane or the Azure Monitor service in the Azure portal.
Reference:
https://docs.microsoft.com/en-us/azure/cosmos-db/create-alerts
2025 New Question 13:
You have an Azure Cosmos DB for NoSQL account.
You need to create an Azure Monitor query that lists recent modifications to the regional failover policy.
Which Azure Monitor table should you query?
A. CDBPartitionKeyStatistics
B. CDBQueryRunTimeStatistics
C. CDBDataPlaneRequests
D. CDBControlPlaneRequests
Correct Answer: D
2025 New Question 14:
You have a container in an Azure Cosmos DB for NoSQL account. You need to create an alert based on a custom Log Analytics query. Which signal type should you use?
A. Log
B. Metrics
C. Activity Log
D. Resource Health
Correct Answer: A
Explanation:
You can receive an alert based on the metrics, activity log events, or Log Analytics logs on your Azure Cosmos DB account:
*-> Log Analytics logs– This alert triggers when the value of a specified property in the results of a Log Analytics query crosses a threshold you assign. For example, you can write a Log Analytics query to monitor if the storage for a logical
partition key is reaching the 20 GB logical partition key storage limit in Azure Cosmos DB.
Incorrect:
Metrics – The alert triggers when the value of a specified metric crosses a threshold you assign. For example, when the total request units consumed exceed 1000 RU/s. This alert is triggered both when the condition is first met and then
afterwards when that condition is no longer being met.
Activity log events – This alert triggers when a certain event occurs. For example, when the keys of your Azure Cosmos DB account are accessed or refreshed.
Reference:
https://learn.microsoft.com/en-us/azure/cosmos-db/create-alerts
2025 New Question 15:
HOTSPOT
You have a container in an Azure Cosmos DB Core (SQL) API account.
You need to use the Azure Cosmos DB SDK to replace a document by using optimistic concurrency.
What should you include in the code? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:

Correct Answer:

Box 1: ConsistencyLevel
The ItemRequestOptions Class ConsistencyLevel property gets or sets the consistency level required for the request in the Azure Cosmos DB service.
Azure Cosmos DB offers 5 different consistency levels. Strong, Bounded Staleness, Session, Consistent Prefix and Eventual – in order of strongest to weakest consistency.
Box 2: _etag
The ItemRequestOptions class helped us implement optimistic concurrency by specifying that we wanted the SDK to use the If-Match header to allow the server to decide whether a resource should be updated. The If-Match value is the ETag
value to be checked against. If the ETag value matches the server ETag value, the resource is updated.
Reference:
https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.cosmos.itemrequestoptions
https://cosmosdb.github.io/labs/dotnet/labs/10-concurrency-control.html
More learning methods (PDF, Youtube):

DP-420 Exam Questions Youtube:

DP-420 Exam Questions PDF:
[Update 2025] Download the free DP-420 exam PDF: https://drive.google.com/file/d/1KPfCMtgPBoSS0svjgRlOMZY-LSGToJ_z/view?usp=sharing
The above provides free access to the latest 2025 DP-420 exam questions and answers, allowing you to stay updated on the most recent question types and exam patterns. This is crucial for enhancing your exam experience. Creating and sharing these resources is no easy task, so to access the complete exam practice questions, download the 2025 Latest DP-420 dumps at https://www.leads4pass.com/dp-420.html (2025 New: 176 Q&A).
All exam questions and answers are updated year-round, authentic, and effective, helping you easily score above 700 and pass the exam on your first attempt.