Platform Developer II
Congrats on targeting the Platform Developer II exam. If you have not yet passed Platform Developer I, go work through that guide first. PD2 is a meaningful step up in complexity. It assumes you already know Apex syntax and basic SOQL, then tests you on architectural judgment: which async Apex pattern fits a given scenario, how to design a bulk-safe trigger framework, when dynamic Apex is the right call, and how to build LWC components that communicate across the page using Lightning Message Service. The exam is 30% multi-select questions, and the scenarios are deliberately tricky. You will need to reason through trade-offs, not just recall facts.
3-Step Path to Passing
- 1
Complete the PD2 Trailmix
Start with the official Salesforce trailmix. It covers async Apex, integration, LWC testing, and deployment. Check the completion percentage periodically as Salesforce updates the recommended content. - 2
Attempt Practice Exams
I recommend my own practice exams, but I have linked other options in the Study Resources section below. PD2 is scenario-heavy and multi-select-heavy, so getting comfortable with the question format is critical. - 3Exams are available online daily. Schedule with short notice when you feel ready. The 120-minute time limit is generous for 60 questions, so do not rush.
Core Resources
Exam Overview
Questions
65
60 scored + 5 unscored
Duration
120 min
2 hours
To Pass
65%
Minimum Score
Question Format
Scored
92%60questions
Unscored
8%5questions
Exam Details
Pricing
$200 registration · $100 retake
Delivery
Online proctored or at a testing center
Experience
PD1 plus hands-on Apex development experience recommended
Prerequisites
None required, Platform Developer I recommended
Exam Topics
Each topic section shows the topic weight, learning objectives, and links to study resources.
Advanced Developer Fundamentals15%
Apex sharing model, with sharing and without sharing keywords, Apex managed sharing objects, custom metadata types vs. custom settings, localization and multi-currency impacts on Apex code.
- Demonstrate knowledge of localization and multi-currency features and capabilities and how they affect coding.
- Given a scenario, justify using sharing objects and Apex managed sharing.
- Given a scenario, identify best practices for various types of custom metadata and custom settings, and how to implement required solutions.
Resources
Process Automation, Logic, and Integration27%
Declarative vs. programmatic solution selection, save order of execution, Apex trigger best practices and handler pattern, error handling and transaction control, advanced SOQL features, asynchronous Apex selection (Future, Queueable, Batch, Scheduled), dynamic Apex, platform events, and REST/SOAP callout patterns.
- Given a scenario, identify the considerations of interactions between multiple processes, both declarative and programmatic.
- Given a scenario, propose and justify the optimal programmatic or declarative solution.
- Demonstrate knowledge of the best practices for writing Apex triggers.
- Describe the Apex features available for error handling and maintaining transactional integrity.
- Demonstrate how and where to use advanced keywords in a SOQL query structure.
- Analyze a set of requirements and determine the benefits of using asynchronous Apex coding.
- Given a scenario and requirements, identify the appropriate dynamic Apex feature to use in the solution.
- Given a scenario, identify the appropriate publish / subscribe logic for platform events.
- Given a scenario, apply programmatic integration techniques and platform features for inbound and outbound communication.
Resources
User Interface20%
LWC component model, @wire adapter patterns, LWC to Apex communication, custom events and Lightning Message Service, Aura component events and interoperability with LWC, Visualforce partial page refreshes and @RemoteAction, static resources, and error display patterns.
- Given requirements and code snippets for a Lightning web component or Aura component and its Apex controller class, analyze and determine necessary changes to the Apex class.
- Identify the techniques for using Visualforce to perform actions, partial page refreshes, and asynchronous operations.
- Given a scenario, identify best practices for displaying errors in the user interface.
- Given a set of requirements, select the appropriate Lightning web component, Aura component, or Visualforce solution and describe its benefits.
- Given a scenario, describe the aspects of Lightning web components or Aura components that can be used to cause elements in a component's markup to display in a responsive manner based on a device's form factor.
- Given a scenario, implement the correct method to communicate events through Lightning web components or Aura components.
- Describe the purpose and benefit of static resources in Visualforce, Lightning web components, and Aura components.
Resources
Testing, Debugging, and Deployment20%
Advanced Apex test techniques (mock HTTP callouts, Stub API, StubProvider, @testSetup), Jest testing for LWC (@wire mocking, component mocking), debug log analysis, VS Code and Developer Console debugging, source-driven development with SFDX, scratch orgs, and unlocked packages.
- Apply advanced techniques and tools for testing Apex classes and triggers, such as mocks and stubs.
- Apply techniques and tools for testing and debugging Lightning web components, Aura components, and Visualforce controllers, Visualforce controller extensions, and JavaScript.
- Given a scenario, Apex code, Apex trigger, or Apex test that is not executing as expected, apply techniques and tools to isolate and identify the root cause.
- Given a scenario, formulate the deployment process, supporting tools, and mechanisms for source-driven development.
Resources
Performance18%
LWC UI performance techniques, selective SOQL queries and indexes, large data volume patterns, Batch Apex chunking, Platform Cache, asynchronous callout performance improvements, code reuse patterns (inheritance vs. composition), and identifying Apex inefficiencies.
- Identify the common performance issues for user interfaces and demonstrate knowledge of techniques and tools to mitigate them.
- Given a scenario, choose the appropriate logic and query structure to maximize application performance and handle large data volumes.
- Analyze a given scenario and determine performance improvements that can be achieved with an asynchronous callout.
- Select scenarios where code reuse is applicable and how the reuse should be implemented.
- Given sample code, identify inefficiencies and demonstrate the ability to resolve them.
Resources
Have suggestions for this resource pack?
To help make this the ultimate resource compilation for the exam, please give your thoughts in the free Cert++ Discord.
Suggest a resource