This document provides information and tips for the Platform Developer I certification exam. It outlines the exam format, content breakdown, prerequisites, and resources for study and preparation. Tips are provided for both onsite and online exam formats. Suggestions are made for next steps depending on whether the exam is passed or not passed.
Platform Developer I Certification: Exam Overview, Content & Preparation
1. Get Ready for Your Platform Developer I
Certification
September 18, 2019 | 10:00 a.m. PDT
Alba Rivas
Lead Developer Evangelist
Salesforce
Anny He
Developer Evangelist
Salesforce
@AlbaSFDC @annyhehe
Belinda Adams
Senior Credential Developer
Salesforce
@belindaadams_sf
2. Have Questions?
● Don’t wait until the end to ask your question!
● Technical support will take questions starting now
● Respect Q&A etiquette
● No need to repeat questions. The support team is working their way
down the queue.
● Stick around for live Q&A at the end
● Speakers will tackle questions at the end
4. Forward-Looking Statement
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the
assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements
we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability,
subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations,
statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service,
new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or
delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and
acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and
manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our
annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and
others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be
delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Statement under the Private Securities Litigation Reform Act of 1995
5. Get Ready for Your Platform Developer I
Certification
September 18, 2019 | 10:00 a.m. PDT
Alba Rivas
Lead Developer Evangelist
Salesforce
Anny He
Developer Evangelist
Salesforce
@AlbaSFDC @annyhehe
Belinda Adams
Senior Credential Developer
Salesforce
@belindaadams_sf
6. What You’ll Learn in this Session
Know the benefits of becoming Platform Developer I certified
Understand how exams are structured
Get an overview of the exam content
Resources and next steps
7. Learn Stand Out Connect
Why Become a Salesforce Certified Professional?
Industry Recognition
#DreamJob
8. How are exams designed and built?
What is the format for the Platform Developer I exam?
9. How do we build a certification exam?
Define the
Target
Audience
Description
Conduct the
Job Task
Analysis
Write and
Review Exam
Questions
Beta Test All
the
Questions
Determine
Live Exam
Questions &
Passing Score
Launch a
Valid,
Reliable, and
Fair Exam
10. Format Scoring Prerequisites
● Content: 60 questions;
Multiple Choice and
Multiple Select
● Delivery: Proctored in
Webassessor tool
● Time allowed: 110
Minutes
● Cost: USD 200 + tax
● Retake: USD 100 + tax
● Pass/Fail
● 65% Passing Score
● Section Level Feedback
Upon Completion
● No formal prerequisites
● Developer experience
recommended
Exam Details for Platform Developer I
11. Salesforce
Fundamentals
Data Modeling
and
Management
Testing
User
Interface
Debug and
Deployment
Tools
Platform Developer
Platform Developer I
12%
10%
10%
10%
12%
● Develop and deploy business logic and
custom interfaces using the
programmatic capabilities of the
Lightning Platform
● Extend the Lightning Platform using
Apex and Visualforce
● Use declarative vs programmatic
methods
● 1-2 years developer experience,
including 6 months on the Lightning
platform
More info? See the Exam Guide on Trailhead
Logic and
Process
Automation
46%
14. What are the considerations of developing in a multi-tenant environment?
• Limits for DML operations, SOQL queries
How does Salesforce Platform features map to the MVC pattern?
• Visualforce
• Lightning components
• Apex
• SOQL
• etc.
Which are the common use cases for declarative customization?
• Know the use cases and limitations of workflow, validations, formulas, and processes
https://bit.ly/whenToUseDeclarative
Which automation tool to use? https://bit.ly/whichAutomationTool
Salesforce fundamentals: (10%)
A sample of the topics covered
16. • How to create custom objects, fields/field types, and relationships for a data
model? Ie. master-detail, lookup
• What is a junction object, and when to use it?
• Which field types to use?
• When to use record types?
When to use roll-up summary fields and formula fields?
• How to display a sum of value in a master record based on the values of fields
in a detail record? Ie. show sum of invoice amounts for all related invoices of an
Account
• How to show pictures, compute values from other fields?
Given the requirements, determine the data model
Data Modeling and Management (12%)
17. Data Modeling and Management (12%)
How to use Schema Builder? What to watch out for?
18. Brian Kwong, a
Salesforce developer wizard
• When to use Data Import Wizard vs Data Loader?
• When to use Data Export Wizard vs Data Loader?
Data Modeling and Management (12%)
20. • Which access modifier to use for classes and methods? Public, private, or no modifier?
• What are interfaces?
• How does casting work?
• What is a namespace prefix and when to use it?
• What is pass by value vs. pass by reference?
• How do you work with sObjects in Apex?
• How exceptions are built and used in Apex?
• etc.
Logic and Process Automation (46%)
public class MyClass {}
accountRecord.getSobject('Owner').getSobject('Profile').get('Name');
nms__MyObject__c myObject = new nms__MyObject__c();
public class MyException extends Exception {}
How to write Apex classes? Refer the Apex documentation http://bit.ly/ApexDeveloperGuide
21. • SOQL in Apex
• Dynamic SOQL
• SOSL in Apex
• Dynamic SOSL
Logic and Process Automation (46%)
Account[] accounts = [SELECT Name from Account where Name = ‘Acme’];
String myTestString = 'TestName';
List<sObject> sobjList = Database.query('SELECT Id FROM MyCustomObject__c WHERE Name = :myTestString');
List<List<SObject>> searchList = [FIND 'map*' IN ALL FIELDS RETURNING Account (Id, Name), Lead];
List<List<SObject>> searchList = Search.query(searchquery);
How to write SOQL and SOSL in Apex? When to use them?
22. Logic and Process Automation (46%)
List<Contact> contactsToUpdate = [Select Department , Description from Contact];
for(Contact con : conList) {
if (con.Department == 'Finance') {
con.Description = 'New description';
contactsToUpdate.add(con);
}
}
update contactsToUpdate;
insert acctList;
When to use static vs dynamic DML?
Database.SaveResult[] srList = Database.insert(acctList, false);
How to perform DML operations in Apex? What does ‘bulkify’ mean?
23. How do Apex triggers work? How can they create unintended recursion?
How to untangle unintended recursion? http://bit.ly/ApexTriggerBestPractices
Logic and Process Automation (46%)
trigger HelloWorldTrigger on Account (before insert) {
for(Account a : Trigger.New) {
a.Description = 'New description';
}
}
24. • Delete records
• Update unrelated records
• Share records with more complex criteria than Sharing Rules
• Add/remove users in Chatter Groups and Public Groups
• Create email templates that pulls info from multiple records and Objects
• And more!
Prefer declarative tools whenever possible. Code is harder to maintain.
Logic and Process Automation (46%)
When to use Apex vs declarative tools?
25. Logic and Process Automation (46%)
What is the Order of execution in Salesforce and how can it affect your processes?
26. Logic and Process Automation (46%)
Which governor limits you can hit, and how can you avoid hitting specific governor limits in Apex?
How do transactions behave if governor limits are hit?
Apex
CPU
Time
limit
exceeded
Too many SOQLqueries: 101
Too many DMLstatements:
151
Too many DMLrows: 10001
Too many
query rows:
50001
27. Logic and Process Automation (46%)
Which security vulnerabilities may affect your code and how to prevent them in Apex and
Visualforce?
CRUD
Sharing
FLS
SOQL Injection
Database.query('SELECT Id, Name FROM Account WHERE Name LIKE ''+ userSupplied +''');
// userSupplied = '' OR Private__c = 'true';
SELECT Id, Name FROM Account WHERE Name LIKE '' OR Private__c = 'true';
30. <apex:page standardController="Contact">
<apex:form >
<apex:pageBlock title="Contact details" mode="view">
<apex:pageBlockSection title="Contact fields"
columns="2">
<apex:outputField value="{!contact.FirstName}"/>
<apex:outputField value="{!contact.LastName}"/>
<apex:outputField value="{!contact.Phone}"/>
<apex:outputField value="{!contact.Email}"/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
User Interface (10%)
Which controllers can be used in Visualforce pages? How can you reference Salesforce data in
Visualforce pages? How to write an Apex controller?
32. What are the benefits of the Lightning
Component framework?
• Event driven architecture
• Out of the box components
• Drag & drop in app builder
• AppExchange for components
Which resources are part of an Aura
Component bundle?
User Interface (10%)
34. Testing (12%)
What are the benefits of testing? What are the requirements for deployment?
How to write unit tests for Apex classes, triggers and Visualforce controllers?
• Good unit tests
• Use cases: Positive, Negative, Null, Bulkification
• Data persistency & permissions enforcement
In which ways you can create test data for unit tests?
• Test factory
• @testsetup
• Static resource
• etc.
@isTest
private class MyTestClass {
@isTest static void myTest() {
// 1. Test scenario setup
// 2. Call tested method / DML
// 3. Assertions
}
}
An example of a GOOD unit test ...
75%
Code
coverage
42. Sample questions
What should a developer do to update a picklist field on related Opportunity records
when a modification to the associated Account record is detected?
a) Create a workflow rule with a field update.
b) Create a Visualforce page.
c) Create a Lightning Component.
d) Create a process with Process Builder.
43. Sample questions
What should a developer do to update a picklist field on related Opportunity records
when a modification to the associated Account record is detected?
Tip: Use link https://bit.ly/whichAutomationTool
a) Create a workflow rule with a field update.
b) Create a Visualforce page.
c) Create a Lightning Component.
d) Create a process with Process Builder.
44. Sample questions
A developer creates a Workflow Rule declaratively that changes the value of a field on
an object. An Apex after update trigger exists for the object. What happens when a user
updates a record?
a) The Apex Trigger is fired more than once.
b) The Workflow Rule is fired more than once.
c) No changes are made to the data.
d) Both the Apex Trigger and Workflow Rule are fired only once.
45. Logic and Process Automation (46%)
What is the Order of execution in Salesforce and how can it affect your processes? How do
transactions behave if errors?
46. Sample questions
A developer creates a Workflow Rule declaratively that changes the value of a field on
an object. An Apex after update trigger exists for the object. What happens when a user
updates a record?
a) The Apex Trigger is fired more than once.
b) The Workflow Rule is fired more than once.
c) No changes are made to the data.
d) Both the Apex Trigger and Workflow Rule are fired only once.
47. Onsite Exam Tips
Before the exam
Register in Webassessor -
www.webassessor.com/salesfo
rce
Show up on time, or early
Bring your Id!
No breaks during the exam
Leave things in a locker
Testing center provides pencil
and paper. They’ll keep both
48. Onsite Exam Tips
Breathe!
Can draw solutions
Mark the questions to come back to
You have 110 minutes! Pace yourself
Think of the solution before looking at the
answers
Look at all the multiple choice answers
During the exam
49. Online Exam Tips
Before the exam
Biometrical identification check
Nothing on the table
No talking!
During the exam
Register in Webassessor -
www.webassessor.com/sal
esforce
Biometrical identification -
Background must be clear!
Install Sentinel software
Software test!
External webcam
Microphone
Biometrical Identification Process video - bit.ly/BiometricalIdentification
Camera setup video - bit.ly/CameraSetup
Online proctoring guide (Mac) - bit.ly/ProctoringGuideMac
Online proctoring guide (Windows) - bit.ly/ProctoringGuideWindows
If the exam stops
Breathe!
Time clock stops
Use the chat
50. Platform Developer I Trailmix:
bit.ly/PlatformDeveloperTrailmix
Apex Specialist superbadge:
bit.ly/ApexSpecialist
Upcoming Platform Developer I
Certification preparation Trail
Join the Trailblazer
Community!
Get the most of
Trailhead!
Exam guide:
bit.ly/PlatformDeveloperE
xamGuide
Trailhead academy:
trailhead.salesforce.com/
academy
Study and Prepare!
Next steps after this webinar
Join your local Trailblazer Community
Group: trailblazercommunitygroups.com
Join our Developer Community:
developer.salesforce.com
Join the Partner Community:
partners.salesforce.com
52. Congrats, You’re Certified!
• Update your resume and social profiles
• Maintain your certification
• Contribute with the credentialing
program: bit.ly/CredentialingProgram
• Get the next Certification!
54. Platform Developer I Trailmix:
bit.ly/PlatformDeveloperTrailmix
Apex Specialist superbadge:
bit.ly/ApexSpecialist
Upcoming Platform Developer I
Certification preparation Trail
Join the Trailblazer
Community!
Get the most of
Trailhead!
Exam guide:
bit.ly/PlatformDeveloperE
xamGuide
Trailhead academy:
trailhead.salesforce.com/
academy
Study and Prepare!
Schedule another exam, study with others, get hands-on
Join your local Trailblazer Community
Group: trailblazercommunitygroups.com
Join our Developer Community:
developer.salesforce.com
Join the Partner Community:
partners.salesforce.com
Retakes only cost $100 + tax, not the full $200