Salesforce Developer-1 Global Certification Exam Model Questions
Instructions: Choose the best answer for each question.
Section 1: Logic & Process Automation (Apex, Visualforce,
Lightning Components, Flows, Process Builder)
1. Question: A developer needs to ensure that a custom field
Service_Type__c on the Case object is always populated when a
Case is created. Which automation tool is most suitable for this
requirement?
o A. Apex Trigger (before insert)
o B. Process Builder
o C. Validation Rule
o D. Flow (Screen Flow)
o Answer: C. Validation Rule
2. Question: What is the order of execution for a record after a DML
operation (e.g., insert, update) in Salesforce?
o A. Validation Rules, Before Triggers, Workflow Rules, After
Triggers, Escalation Rules, Assignment Rules, Process Builder
o B. Before Triggers, Validation Rules, Workflow Rules, After
Triggers, Assignment Rules, Auto-Response Rules, Escalation
Rules, Process Builder, Flows
o C. Validation Rules, Before Triggers, After Triggers, Assignment
Rules, Auto-Response Rules, Workflow Rules, Process Builder,
Flows, Escalation Rules
o D. Before Triggers, Validation Rules, After Triggers, Assignment
Rules, Auto-Response Rules, Workflow Rules, Process Builder,
Flows, Escalation Rules, Roll-up Summary Calculations, Apex
after commit logic.
o Answer: D. Before Triggers, Validation Rules, After Triggers,
Assignment Rules, Auto-Response Rules, Workflow Rules,
Process Builder, Flows, Escalation Rules, Roll-up Summary
Calculations, Apex after commit logic.
3. Question: A developer wants to display a custom list of Account
records based on specific criteria in a Visualforce page. Which
component allows iteration over a collection of records?
o A. <apex:detail>
o B. <apex:pageBlockTable>
o C. <apex:inputField>
o D. <apex:outputPanel>
o Answer: B. <apex:pageBlockTable>
4. Question: Which Apex annotation is used to make an Apex method
available for call from a Lightning Component?
o A. @auraEnabled
o B. @future
o C. @invocableMethod
o D. @testVisible
o Answer: A. @auraEnabled
5. Question: A business process requires sending an email notification
to the Account owner when an Opportunity reaches the 'Closed Won'
stage. Which automation tool is the most efficient for this?
o A. Apex Trigger
o B. Workflow Rule
o C. Process Builder
o D. Flow (Record-Triggered Flow)
o Answer: D. Flow (Record-Triggered Flow) - While Workflow and
Process Builder can do this, Record-Triggered Flow is the most
modern and recommended approach for new automations.
6. Question: A developer needs to perform complex calculations and
update multiple related records after an Opportunity is updated.
This operation might exceed governor limits if done synchronously.
Which Apex annotation should be used to execute this logic
asynchronously?
o A. @future
o B. @AuraEnabled
o C. @invocableMethod
o D. @isTest
o Answer: A. @future
7. Question: Which type of Flow can be launched from a custom
button or link on a record detail page?
o A. Record-Triggered Flow
o B. Scheduled-Triggered Flow
o C. Screen Flow
o D. Platform Event-Triggered Flow
o Answer: C. Screen Flow
8. Question: What is the primary purpose of with sharing keyword in
an Apex class definition?
o A. To enforce object and field-level security.
o B. To enforce record-level sharing rules.
o C. To allow the class to run without any security enforcement.
o D. To enable debug logs for the class.
o Answer: B. To enforce record-level sharing rules.
9. Question: A Visualforce page needs to display data from a custom
object Project__c and its related Task__c records. Which standard
controller extension method is used to access and manipulate data
from related objects?
o A. getRecord()
o B. getController()
o C. getSelected()
o D. getRelatedList()
o Answer: A. getRecord() (often implied through relationship
fields, but direct access to the main record for related list
display is a key part of controller extensions). More precisely,
the Project__c object's standard controller provides access to
the Project record, and Visualforce can use relationship
queries to display related Tasks.
10. Question: In a Lightning Web Component, where should a
developer define properties that can be passed into the component
from its parent?
o A. In the JavaScript controller using @track.
o B. In the JavaScript controller using @api.
o C. In the HTML template using data-property.
o D. In the CSS file.
o Answer: B. In the JavaScript controller using @api.
11. Question: A developer wants to prevent the creation of a
Contact record if its Email field is blank. Which declarative tool can
achieve this?
o A. Workflow Rule
o B. Process Builder
o C. Validation Rule
o D. Flow (Record-Triggered Flow)
o Answer: C. Validation Rule
12. Question: Which Apex loop is most efficient for iterating over
a List of SObjects and performing DML operations?
o A. for (Integer i = 0; i < myList.size(); i++)
o B. for (SObject s : myList)
o C. while (myIterator.hasNext())
o D. All are equally efficient for DML.
o Answer: B. for (SObject s : myList) (Enhanced For Loop is
generally preferred for readability and often efficiency when
iterating over collections).
13. Question: A custom object Service_Request__c needs to have
an Auto-Number field for its unique identifier. How can this be
configured?
o A. Create a Text field and use a Before Insert Trigger to
populate it.
o B. Create a Number field and use a Flow to generate the
number.
o C. Create an Auto-Number field type directly in the object's
custom fields.
o D. Create a Text field and use a Workflow Rule to update it.
o Answer: C. Create an Auto-Number field type directly in the
object's custom fields.
14. Question: When should a developer use a Map<Id, SObject>
in Apex?
o A. To store a collection of records without any specific order.
o B. To efficiently retrieve records by their Id.
o C. To perform aggregate queries.
o D. To ensure unique values in a list.
o Answer: B. To efficiently retrieve records by their Id.
15. Question: What is the primary function of the renderAs
attribute in <apex:page>?
o A. To specify the CSS stylesheet for the page.
o B. To define the content type for the page, such as PDF or
Excel.
o C. To control whether the page is rendered on mobile devices.
o D. To indicate if the page uses a standard controller.
o Answer: B. To define the content type for the page, such as
PDF or Excel.
Section 2: Data Modeling & Management
16. Question: What is the primary difference between a Master-
Detail relationship and a Lookup relationship?
o A. Master-Detail relationships are one-to-many, while Lookup
relationships are many-to-many.
o B. Master-Detail relationships require the child record to have
a parent, and child records are deleted when the parent is,
whereas Lookup relationships do not.
o C. Lookup relationships allow roll-up summary fields, while
Master-Detail relationships do not.
o D. Master-Detail fields are searchable, while Lookup fields are
not.
o Answer: B. Master-Detail relationships require the child
record to have a parent, and child records are deleted when
the parent is, whereas Lookup relationships do not.
17. Question: Which type of custom field can be used to display
the sum of Amount field from related OpportunityLineItem records
on the Opportunity object?
o A. Formula Field
o B. Roll-Up Summary Field
o C. Cross-Object Formula Field
o D. Lookup Field
o Answer: B. Roll-Up Summary Field
18. Question: When would you typically use an External Id field?
o A. To uniquely identify records within Salesforce.
o B. To store an ID from an external system for data integration.
o C. To create a Master-Detail relationship.
o D. To ensure data is encrypted.
o Answer: B. To store an ID from an external system for data
integration.
19. Question: What is the maximum number of Master-Detail
relationships an object can have?
o A. 1
o B. 2
o C. 3
o D. Unlimited
o Answer: B. 2
20. Question: A developer needs to create a custom object
Order_Item__c that is always associated with a Product__c record
and should be deleted if the Product__c is deleted. Which
relationship type should be used?
o A. Lookup
o B. Master-Detail
o C. Many-to-Many
o D. Hierarchical
o Answer: B. Master-Detail
21. Question: What is the purpose of a junction object in
Salesforce?
o A. To connect two unrelated objects with a Master-Detail
relationship.
o B. To implement a many-to-many relationship between two
objects.
o C. To store data that is only visible to specific users.
o D. To define complex validation rules.
o Answer: B. To implement a many-to-many relationship
between two objects.
22. Question: Which tool is used to import a large volume of data
(e.g., 50,000 records) into Salesforce?
o A. Data Loader
o B. Import Wizard
o C. Mass Transfer Records
o D. Reports
o Answer: A. Data Loader
23. Question: What happens to child records when the parent
record in a Lookup relationship is deleted?
o A. Child records are always deleted.
o B. Child records are never deleted.
o C. The Lookup field on the child record is cleared, but the child
record remains.
o D. The behavior depends on the "What to do when the lookup
record is deleted?" setting (e.g., "Clear the value of this field",
"Don't allow deletion of the lookup record that's part of a
lookup relationship", "Delete this record too").
o Answer: D. The behavior depends on the "What to do when
the lookup record is deleted?" setting (e.g., "Clear the value of
this field", "Don't allow deletion of the lookup record that's
part of a lookup relationship", "Delete this record too").
24. Question: Which type of custom field can automatically
calculate a value based on other fields in the same record or related
records?
o A. Text Field
o B. Picklist Field
o C. Formula Field
o D. Checkbox Field
o Answer: C. Formula Field
25. Question: A developer needs to ensure that a custom field
Product_Code__c on the Product__c object is unique for all records.
How can this be enforced?
o A. Create a Validation Rule.
o B. Mark the field as "Unique" when creating it.
o C. Use an Apex Trigger (before insert, before update).
o D. Implement a Flow.
o Answer: B. Mark the field as "Unique" when creating it.
Section 3: Apex & SOQL/SOSL
26. Question: What is the purpose of LIMIT clause in a SOQL
query?
o A. To filter records based on a specific condition.
o B. To specify the maximum number of records to return.
o C. To order the records in ascending or descending order.
o D. To select specific fields from the records.
o Answer: B. To specify the maximum number of records to
return.
27. Question: Which SOQL query retrieves all Account records
that have no associated Contact records?
o A. SELECT Id, Name FROM Account WHERE Id NOT IN (SELECT
AccountId FROM Contact)
o B. SELECT Id, Name FROM Account WHERE Contacts = NULL
o C. SELECT Id, Name FROM Account WHERE Contact.Id = NULL
o D. SELECT Id, Name FROM Account WHERE NOT EXISTS
(SELECT Id FROM Contact WHERE AccountId = Account.Id)
o Answer: A. SELECT Id, Name FROM Account WHERE Id NOT IN
(SELECT AccountId FROM Contact)
28. Question: What is the primary difference between SOQL and
SOSL?
o A. SOQL queries only one object at a time, while SOSL can
query multiple objects.
o B. SOQL searches for text across multiple objects, while SOSL
queries specific fields.
o C. SOQL is used for DML operations, while SOSL is for
retrieving data.
o D. SOQL returns SObjects, while SOSL returns IDs.
o Answer: A. SOQL queries only one object at a time, while
SOSL can query multiple objects. (SOSL is for text-based
searches across multiple objects and returns a list of lists of
SObjects).
29. Question: How can a developer prevent hitting SOQL query
limits within a trigger when processing a large number of records?
o A. Use a FOR loop with the query inside the loop.
o B. Use a single SOQL query to retrieve all necessary records
outside the loop.
o C. Increase the governor limit using Limits.setQueryRows().
o D. Execute the query using @future method.
o Answer: B. Use a single SOQL query to retrieve all necessary
records outside the loop (also known as "bulkification").
30. Question: Which type of Apex method is used to process
records asynchronously in batches?
o A. @future method
o B. Batch Apex
o C. Queueable Apex
o D. Schedulable Apex
o Answer: B. Batch Apex
31. Question: What is the purpose of the Set<Id> data type in
Apex?
o A. To store an ordered collection of Ids.
o B. To store a collection of Ids without duplicates.
o C. To store a mapping of Id to SObject.
o D. To store a list of Ids for querying.
o Answer: B. To store a collection of Ids without duplicates.
32. Question: Which DML operation is used to update existing
records or insert new ones, depending on whether a record with the
specified external ID exists?
o A. insert
o B. update
o C. upsert
o D. delete
o Answer: C. upsert
33. Question: What is the maximum number of SOQL queries
allowed per Apex transaction?
o A. 50
o B. 100
o C. 150
o D. 200
o Answer: B. 100
34. Question: How do you execute an anonymous Apex block in
Salesforce?
o A. From the Developer Console, using the "Execute
Anonymous Window".
o B. By saving an Apex class with the execute keyword.
o C. From a Visualforce page with a custom controller.
o D. Through a Process Builder action.
o Answer: A. From the Developer Console, using the "Execute
Anonymous Window".
35. Question: When writing a trigger, what context variable
should be used to access the new versions of the records that
caused the trigger to fire?
o A. Trigger.old
o B. Trigger.new
o C. Trigger.isInsert
o D. Trigger.isUpdate
o Answer: B. Trigger.new
Section 4: Testing, Debugging & Deployment
36. Question: What is the minimum code coverage requirement
for Apex classes and triggers to be deployed to production?
o A. 50%
o B. 75%
o C. 90%
o D. 100%
o Answer: B. 75%
37. Question: Which Apex method is used to assert that a
specific exception was thrown during a test?
o A. System.assertEquals()
o B. System.assertNotEquals()
o C. Test.startTest()
o D. Test.startTest() in conjunction with a try-catch block and
System.assert() or System.assertNotEquals() within the catch
block, or more simply, Test.assert can be used to check if the
exception type matches. The most direct method for asserting
an exception within a unit test is by placing the code that's
expected to throw an exception within a try-catch block and
then asserting something in the catch block.
o Answer: D. Test.startTest() in conjunction with a try-catch
block and System.assert() or System.assertNotEquals() within
the catch block, or more simply, Test.assert can be used to
check if the exception type matches. (While Test.startTest()
isn't directly for asserting, it isolates governor limits for the
tested code. The actual assertion happens in the catch block).
38. Question: Why is it considered best practice to create test
data within Apex test methods rather than relying on existing
organization data?
o A. To make tests run faster.
o B. To avoid deployment issues.
o C. To ensure tests are independent and repeatable.
o D. To reduce the amount of code.
o Answer: C. To ensure tests are independent and repeatable.
39. Question: Which annotation is used to mark a class as an
Apex test class?
o A. @isTest
o B. @Test
o C. @ApexTest
o D. @TestSuite
o Answer: A. @isTest
40. Question: What is the primary purpose of the
System.debug() statement in Apex?
o A. To display messages to the end-user.
o B. To write messages to the debug log for troubleshooting.
o C. To trigger a breakpoint in the code.
o D. To improve code performance.
o Answer: B. To write messages to the debug log for
troubleshooting.
41. Question: When deploying components from a Sandbox to
Production, which tool is commonly used?
o A. Data Loader
o B. Change Sets
o C. Schema Builder
o D. Workbench
o Answer: B. Change Sets
42. Question: What does Test.startTest() and Test.stopTest() do in
an Apex test method?
o A. They mark the beginning and end of the test execution,
allowing for assertions to be made.
o B. They reset the governor limits to their original values for
the code within the block.
o C. They provide a fresh set of governor limits for the code
executed within the block and asynchronously executed code
within this block executes synchronously.
o D. They simulate user interaction for UI testing.
o Answer: C. They provide a fresh set of governor limits for the
code executed within the block and asynchronously executed
code within this block executes synchronously.
43. Question: What is the purpose of SeeAllData=true in @isTest
annotation?
o A. It allows the test class to see all data in the organization,
including production data.
o B. It allows the test class to see all metadata in the
organization.
o C. It allows the test class to access organization data for read-
only operations.
o D. It is generally discouraged and should only be used when
absolutely necessary, as it makes tests dependent on specific
org data.
o Answer: D. It is generally discouraged and should only be
used when absolutely necessary, as it makes tests dependent
on specific org data. (And yes, it does allow access to all org
data, but the "discouraged" part is key for the Dev 1 exam).
44. Question: Which type of deployment tool would be most
suitable for complex, multi-developer projects with version control
integration?
o A. Change Sets
o B. Developer Console
o C. Salesforce DX (SFDX)
o D. Workbench
o Answer: C. Salesforce DX (SFDX)
45. Question: When debugging an Apex trigger, where would you
typically look for error messages and detailed execution
information?
o A. System Email
o B. Debug Logs
o C. Setup Audit Trail
o D. Apex Jobs
o Answer: B. Debug Logs
Section 5: Visualforce & Lightning Components
46. Question: What is the purpose of the apex:pageBlock
component in Visualforce?
o A. To define the overall structure of a page, including header
and sidebar.
o B. To create a visual grouping of related input fields or
information, similar to a standard Salesforce page layout
section.
o C. To display a list of records in a table format.
o D. To embed an external website within the Visualforce page.
o Answer: B. To create a visual grouping of related input fields
or information, similar to a standard Salesforce page layout
section.
47. Question: Which component is used in a Visualforce page to
display and edit a single field of a record?
o A. <apex:outputField>
o B. <apex:inputField>
o C. <apex:commandButton>
o D. <apex:dataTable>
o Answer: B. <apex:inputField>
48. Question: What is the significance of the controller attribute
in the <apex:page> tag?
o A. It defines the CSS stylesheet for the page.
o B. It specifies the standard or custom controller that provides
data and actions for the page.
o C. It determines the page's accessibility settings.
o D. It sets the page's title.
o Answer: B. It specifies the standard or custom controller that
provides data and actions for the page.
49. Question: In a Lightning Web Component, how do you handle
an event fired by a child component?
o A. Using an @track decorator on a method.
o B. By defining an onclick attribute in the child component.
o C. By using this.dispatchEvent() in the child and an event
listener in the parent's HTML template or JavaScript.
o D. Automatically, without any specific code.
o Answer: C. By using this.dispatchEvent() in the child and an
event listener in the parent's HTML template or JavaScript.
50. Question: Which decorator is used in a Lightning Web
Component to make a property reactive (i.e., its change triggers a
re-render)?
o A. @api
o B. @track
o C. @wire
o D. @AuraEnabled
o Answer: B. @track (Note: While @api properties are also
reactive, @track specifically makes private properties
reactive).
51. Question: What is the purpose of force:recordData in Aura
Components (or lightning-record-form / lightning-record-view-form in
LWC)?
o A. To perform complex calculations on record data.
o B. To simplify data access, creation, and editing of records
without requiring Apex.
o C. To integrate with external systems.
o D. To define security settings for records.
o Answer: B. To simplify data access, creation, and editing of
records without requiring Apex.
52. Question: Which markup is used to define an attribute in an
Aura Component?
o A. <aura:attribute name="myAttribute" type="String" />
o B. <attribute name="myAttribute" type="String" />
o C. <lightning:attribute name="myAttribute" type="String" />
o D. <aura:var name="myAttribute" type="String" />
o Answer: A. <aura:attribute name="myAttribute"
type="String" />
53. Question: How can you navigate to a specific record page
from a Lightning Web Component after a successful DML operation?
o A. Using window.location.href = '/lightning/r/' + recordId +
'/view';
o B. By importing NavigationMixin and using
this[NavigationMixin.Navigate].
o C. By calling an Apex method that performs navigation.
o D. Lightning Web Components do not support navigation.
o Answer: B. By importing NavigationMixin and using
this[NavigationMixin.Navigate].
54. Question: Which directive in a Lightning Web Component
HTML template is used to conditionally render elements?
o A. if:true and if:false
o B. v-if and v-else
o C. aura:if
o D. lwc:if
o Answer: A. if:true and if:false
55. Question: What is the primary advantage of using a Custom
Controller over a Standard Controller Extension for a Visualforce
page when the page's logic is highly complex and does not directly
relate to a single SObject?
o A. Custom Controllers are more secure.
o B. Standard Controller Extensions have more governor limits.
o C. Custom Controllers provide full control over page logic and
data, and are not tied to a specific object's standard behavior.
o D. Standard Controller Extensions cannot perform DML
operations.
o Answer: C. Custom Controllers provide full control over page
logic and data, and are not tied to a specific object's standard
behavior.
Section 6: Integration & Security Fundamentals
56. Question: Which mechanism is used to expose an Apex class
as a web service for external systems to consume?
o A. @future
o B. @AuraEnabled
o C. @RestResource or @WebService
o D. @invocableMethod
o Answer: C. @RestResource or @WebService
57. Question: What is the primary purpose of a Connected App in
Salesforce?
o A. To create a mobile application for Salesforce.
o B. To integrate external applications with Salesforce using
OAuth and other APIs.
o C. To provide a custom user interface for Salesforce users.
o D. To manage data encryption.
o Answer: B. To integrate external applications with Salesforce
using OAuth and other APIs.
58. Question: Which security feature allows a developer to
ensure that a user can only see records that they own or are shared
with them?
o A. Field-Level Security
o B. Object Permissions
o C. Record-Level Security (Sharing Rules, Roles, Profiles, etc.)
o D. IP Restrictions
o Answer: C. Record-Level Security (Sharing Rules, Roles,
Profiles, etc.)
59. Question: What does the Security.stripInaccessible() method
do in Apex?
o A. It removes all fields from a query that the running user does
not have access to.
o B. It removes fields and SObjects from query results that the
current user cannot access due to CRUD and FLS permissions.
o C. It encrypts sensitive data before insertion.
o D. It bypasses security for internal users.
o Answer: B. It removes fields and SObjects from query results
that the current user cannot access due to CRUD and FLS
permissions.
60. Question: When designing a solution for integrating
Salesforce with an external system, which type of API is generally
recommended for real-time, synchronous communication?
o A. Bulk API
o B. Streaming API
o C. REST API or SOAP API
o D. Tooling API
o Answer: C. REST API or SOAP API