The Actual Exam Version included actual exam questions verified by IT Experts. We verified questions and updated frequently each month and also based on members’ feedback to keep updating with the real exam. We are offering money back immediately if questions in our Actual Exam Version do not appear in your exam. Highly recommend you take the Actual Exam Version then go to the exam as soon as possible.
QUESTION NO: 1
A Visualforce page loads slowly due to the large amount of data it displays. Which strategy can a developer use to improve the performance?
A. Use Javascript to move data processing to the browser instead of the controller.
B. Use the transient keywords for the List variables used in the custom controller.
C. Use lazy loading to load the data on demand, instead of the controller’s constructor.
D. Use an in the page to load all of the data asynchronously.
QUESTION NO: 2
Universal Containers wants to use a Customer Community with Customer Community Plus licenses so their customers can track how many containers they are renting and when they are due back. Many of their customers are global companies with complex Account hierarchies, representing various departments within the same organization. One of the requirements is that certain community users within the same Account hierarchy be able to see several departments’ containers, based on a junction object that relates the Contact to the various Account records that represent the departments. Which solution solves these requirements?
A. A Visualforce page that uses a Custom Controller that specifies without sharing to expose the records
B. A Custom List View on the junction object with filters that will show the proper records based on owner
C. A Custom Report Type and a report Lightning Component on the Community Home Page
D. An Apex Trigger that creates Apex Managed Sharing records based on the junction object’s relationships
QUESTION NO: 3
Universal Containers wants to use an external Web Service provided by a third-party vendor to validate that shipping and billing addresses are correct. The current vendor uses basic password authentication, but Universal Containers might switch to a different vendor who uses OAuth. What would allow Universal Containers to switch vendors without updating the code to handle authentication?
A. Custom Metadata
B. Custom Setting (List)
C. Dynamic Endpoint
D. Named Credential
QUESTION NO: 4
A company has a Lightning Page with many Lightning Components, some that cache reference data. It is reported that the page does not always show the most current reference data. What can a developer use to analyze and diagnose the problem in the Lightning Page?
A. Salesforce Lightning Inspector Actions Tab
B. Salesforce Lightning Inspector Event Log Tab
C. Salesforce Lightning Inspector Transactions Tab
D. Salesforce Lightning Inspector Storage Tab
QUESTION NO: 5
A company has code to update a Request and Request Lines and make a callout to their external ERP system’s REST endpoint with the updated records.
The CalloutUtil.makeRestCallout fails with a ‘You have uncommitted work pending. Please commit or rollback before calling out’ error. What should be done to address the problem?
A. Remove the Database.setSavepoint and Database.rollback.
B. Change the CalloutUtil.makeRestCallout to an @InvocableMethod method.
C. Change the CalloutUtil.makeRestCallout to an @future method.
D. Move the CalloutUtil.makeRestCallout method call below the catch block.
QUESTION NO: 6
A Visualforce page contains an industry select list and displays a table of Accounts that have a matching value in their Industry field.
<apex:selectList value="{!selectedIndustry}"> <apex:selectOptions values="{!industries}"/> </apex:selectList>
When a user changes the value in the industry select list, the table of Accounts should be automatically updated to show the Accounts associated with the selected industry. What is the optimal way to implement this?
A. Add an within the .
B. Add an within the .
C. Add an within the .
D. Add an within the .
QUESTION NO: 7
The test method above calls a web service that updates an external system with Account information and sets the Account’s Integration_Updated__c checkbox to True when it completes. The test fails to execute and exits with an error: “Methods defined as TestMethod do not support Web service callouts. ” What is the optimal way to fix this?
A. Add Test.startTest() before and Test.setMock and Test.stopTest() after
CalloutUtil.sendAccountUpdate.
B. Add Test.startTest() and Test.setMock before and Test.stopTest() after
CalloutUtil.sendAccountUpdate.
C. Add if (!Test.isRunningTest()) around CalloutUtil.sendAccountUpdate.
D. Add Test.startTest() before and Test.stopTest() after CalloutUtil.sendAccountUpdate.
QUESTION NO: 8
A developer created and tested a Visualforce page in their developer sandbox, but now receives reports that users encounter ViewState errors when using it in Production. What should the developer ensure to correct these errors?
A. Ensure queries do not exceed governor limits.
B. Ensure properties are marked as Transient.
C. Ensure properties are marked as private.
D. Ensure profiles have access to the Visualforce page.
QUESTION NO: 9
<lightning:layout multipleRows="true"> <lightning:layoutItem size="12">{!v.account.Name} </lightning:layoutItem> <lightning:layoutItem size="12">{!v.account.AccountNumber} </lightning:layoutItem> <lightning:layoutItem size="12">{!v.account.Industry} </lightning:layoutItem> </lightning:layout>
Refer to the component code above. The information displays as expected (in three rows) on a mobile device. However, the information is not displaying as desired (in a single row) on a desktop or tablet. Which option has the correct component changes to display correctly on desktops and tablets?
A. <lightning:layout multipleRows="true"> <lightning:layoutItem size="12" mediumDeviceSize="6" largeDeviceSize="4">{!v.account.Name} </lightning:layoutItem> <lightning:layoutItem size="12" mediumDeviceSize="6" largeDeviceSize="4">{!v.account.AccountNumber} </lightning:layoutItem> <lightning:layoutItem size="12" mediumDeviceSize="6" largeDeviceSize="4">{!v.account.Industry} </lightning:layoutItem> </lightning:layout>
B. <lightning:layout multipleRows="true"> <lightning:layoutItem size="12" largeDeviceSize="4">{!v.account.Name} </lightning:layoutItem> <lightning:layoutItem size="12" largeDeviceSize="4">{!v.account.AccountNumber} </lightning:layoutItem> <lightning:layoutItem size="12" largeDeviceSize="4">{!v.account.Industry} </lightning:layoutItem> </lightning:layout>
C. <lightning:layout multipleRows="true"> <lightning:layoutItem size="12" mediumDeviceSize="4">{!v.account.Name} </lightning:layoutItem> <lightning:layoutItem size="12" mediumDeviceSize="4">{!v.account.AccountNumber} </lightning:layoutItem> <lightning:layoutItem size="12" mediumDeviceSize="4">{!v.account.Industry} </lightning:layoutItem> </lightning:layout>
D. <lightning:layout multipleRows="true"> <lightning:layoutItem size="12" mediumDeviceSize="6">{!v.account.Name} </lightning:layoutItem> <lightning:layoutItem size="12" mediumDeviceSize="6">{!v.account.AccountNumber} </lightning:layoutItem> <lightning:layoutItem size="12" mediumDeviceSize="6">{!v.account.Industry} </lightning:layoutItem> </lightning:layout>
QUESTION NO: 10
A company’s support process dictates that any time a Case is closed with a Status of ‘Could not fix’, an Engineering Review custom object record should be created and populated with information from the Case, the Contact, and any of the Products associated with the Case.What is the correct way to automate this using an Apex trigger?
A. An after update trigger that creates the Engineering Review record and inserts it
B. A before update trigger that creates the Engineering Review record and inserts it
C. An after upsert trigger that creates the Engineering Review record and inserts it
D. A before upsert trigger that creates the Engineering Review record and inserts it
QUESTION NO: 11
A company processes Orders within their Salesforce instance. When an Order’s status changes to ‘Paid’ it must notify the company’s order management system (OMS). The OMS exposes SOAP web service endpoints to listen for when to retrieve the data from Salesforce. What is the optimal method to implement this?
A. Generate the Enterprise WSDL and use it to make a callout to the OMS.
B. Generate the Partner WSDL and use it to make a callout to the OMS.
C. Create an Outbound Message that contains the session ID and send it to the OMS.
D. Create an Apex trigger and make a callout to the OMS from the trigger.
QUESTION NO: 12
Consider the Apex controller above, that is called from a Lightning Aura Component. What is wrong with it?
A. Line 1: class must be global
B. Lines 1 and 6: class and method must be global
C. Line 6: method must be static
D. Line 8: method must first serialize the list to JSON before returning
QUESTION NO: 13
An Apex class does not achieve expected code coverage. The testSetup method explicitly calls a method in the Apex class. How can the developer generate the code coverage?
A. Verify the user has permissions passing a user into System.runAs().
B. Call the Apex class method from a testMethod instead of the testSetup method.
C. Add @testVisible to the method in the class the developer is testing.
D. Use system.assert() in testSetup to verify the values are being returned.
QUESTION NO: 14
A developer is trying to decide between creating a Visualforce component or a Lightning component for a custom screen. Which functionality consideration impacts the final decision?
A. Does the screen need to be rendered as a PDF?
B. Does the screen need to be accessible from the Lightning Experience UI?
C. Will the screen make use of a JavaScript framework?
D. Will the screen be accessed via a mobile app?
QUESTION NO: 15
A developer wishes to improve runtime performance of Apex calls by caching results on the client. What is the best way to implement this?
A. Decorate the server-side method with @AuraEnabled(cacheable=true).
B. Set a cookie in the browser for use upon return to the page.
C. Call the setStorable() method on the action in the JavaScript client-side code.
D. Decorate the server-side method with @AuraEnabled(storable=true).
QUESTION NO: 16
A developer is asked to update data in an org based on new business rules. The new rules state that Accounts with the type set to ‘Customer’ should have a status of ‘Active’, and Accounts with the type set to ‘Prospect’ should have a status of ‘Pending’. No other changes to data should be made. Which code block will accurately meet the business requirements?
A. Map<String, String> statusMap = new Map<String, String>{'Customer'=>'Active', 'Prospect'=>'Pending'} List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account]){ if ( statusMap.containsKey(a.Type) ) {
B. Status = a.Type == 'Customer' ? 'Active' : 'Pending'; } accountUpdates.add(a); } update accountUpdates;
C. Map<String, String> statusMap = new Map<String, String>{'Customer'=>'Active', 'Prospect'=>'Pending'} List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account WHERE Status IN :statusMap.keySet()]){
D. Status = statusMap.get(a.Type); accountUpdates.add(a); } update accountUpdates;
E. List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account]){ if ( String.isNotBlank(a.Type) && a.Type == 'Customer' ){
F. Status = 'Active'; } if ( String.isNotBlank(a.Type) && a.Type == 'Prospect' ){
G. Status = 'Pending'; } accountUpdates.add(a); } update accountUpdades;
H. List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account]){
I. Status = a.Type == 'Customer' ? 'Active' : 'Pending'; accountUpdates.add(a); } update accountUpdates;
QUESTION NO: 17
What is a benefit of JavaScript remoting over Visualforce Remote Objects?
A. Allows for specified re-render targets
B. Does not require any Apex code
C. Does not require any JavaScript code
D. Supports complex server-side application logic
QUESTION NO: 18
An Aura Component functions in preview mode and needs to be used inside a Lightning App
Builder page, but it is not available. What change should be applied to the component?
A. Expose it in the markup using the implements and access attributes.
B. Delete the component, metadata, and Apex controller and recreate them.
C. Refresh the sandbox and upgrade it to the latest API version.
D. Look for errors in the logic in the JavaScript controller.
QUESTION NO: 19
Recently a Salesforce org’s integration failed because it exceeded the number of allowed API calls in a 24-hour period. The integration handles a near real-time, complex insertion of data into Salesforce.
The flow of data is as follows:
- The integration looks up Contact records with a given email address and, if found, the integration adds a Task to the first matching Contact it finds.
- If a match is not found, the integration looks up Lead records with a given email address and, if found, the integration adds a Task to the first matching Lead it finds.
- If a match is not found, the integration will create a Lead and a Task for that newly created Lead.
What is one way in which the integration can stay near real-time, but not exceed the number of allowed API calls in a 24-hour period?
A. Use the REST API as well as the SOAP API to effectively double the API calls allowed in a 24hour period.
B. Create an Inbound Message that, using Flow, can do all of the logic the integration code was doing.
C. Write a custom Apex web service that, given an email address, does all of the logic the integration code was doing.
D. Create several Apex InboundEmailHandlers to accept calls from the third-party system, thus bypassing the API limits.
QUESTION NO: 20
A company wants to build a custom Aura Component that will display a specified Account Field
Set and that can only be added to the Account record page. Which design resource configuration should be used?
A. <design:component label="Account FS Component"> <design:attribute name="fieldSetName" Label="Field Set Name" /> <sfdc:objects> <sfdc:object>FieldSet</sfdc:object> </sfdc:objects> </design:component>
B. <design:component label="Account FS Component"> <design:attribute name="fieldSetName" label="Field Set Name" /> <sfdc:objects> <sfdc:object>Account</sfdc:object> </sfdc:objects> </design:component>
C. <design:component label="Account FS Component"> <aura:attribute name="fieldSetName" label="Field Set Name" /> <sfdc:objects> <sfdc:object>FieldSet</sfdc:object> </sfdc:objects> </design:component>
D. <design:component label="Account FS Component"> <aura:attribute name="fieldSetName" label="Field Set Name" /> <sfdc:objects> <sfdc:object>Account</sfdc:object> </sfdc:objects> </design:component>
QUESTION NO: 21
A developer created a new trigger that inserts a Task when a new Lead is created. After deploying to production, an outside integration is periodically reporting errors. Which change should the developer make to ensure the integration is not affected with minimal impact to business logic?
A. Remove the Apex Class from the Integration User’s Profile.
B. Use the Database method with allOrNone set to False.
C. Use a Try/Catch block after the insert statement.
D. Deactivate the Trigger before the Integration runs.
QUESTION NO: 22
An environment has two Apex Triggers: an after-update trigger on Account and an after-update trigger on Contact. The Account after-update trigger fires whenever an Account’s address is updated, and it updates every associated Contact with that address. The Contact after-update trigger fires on every edit, and it updates every Campaign Member record related to the Contact with the Contact’s state.
Consider the following: A mass update of 200 Account records’ addresses, where each Account has 50 Contacts. Each Contact has 1 Campaign Member. This means there are 10,000 Contact records across the Accounts and 10,000 Campaign Member records across the contacts.
What will happen when the mass update occurs?
A. The mass update will fail, since the two triggers fire in the same context, thus exceeding the number of records processed by DML statements.
B. The mass update of Account address will succeed, but the Contact address updates will fail due to exceeding the number of records processed by DML statements.
C. There will be no error, since each trigger fires within its own context and each trigger does not exceed the limit of the number of records processed by DML statements.
D. There will be no error and all updates will succeed, since the limit on the number of records processed by DML statements was not exceeded.
QUESTION NO: 23
A company has many different unit test methods that create Account records as part of their data setup. A new required field was added to the Account and now all of the unit tests fail. What is the optimal way for a developer to fix the issue?
A. Add a before insert trigger on Account to set the value of the required field.
B. Create a TestDataFactory class that serves as the single place to create Accounts for unit tests and set the required field there.
C. Change the required field to be a validation rule that excludes the System Administrator profile.
D. Add the required field to the data setup for all of the unit tests.
QUESTION NO: 24
A user receives the generic “An internal server error has occurred” while interacting with a custom Lightning Component. What should the developer do to ensure a more meaningful message?
A. Add an onerror event handler to the tag.
B. Add an error-view component to the markup.
C. Use an AuraHandledException in a try/catch block.
D. Use ProcessBuilder to catch the error.
QUESTION NO: 25
global with sharing class MyRemoter { public String accountName { get; set; } public static Account account { get; set; } public AccountRemoter() {} @RemoteAction global static Account getAccount(String accountName) { account = [SELECT Id, Name, NumberOfEmployees FROM Account WHERE Name = :accountName]; return account; } }
Consider the Apex class above that defines a RemoteAction used on a Visualforce search page. Which code snippet will assert that the remote action returned the correct Account?
A. Account a = controller.getAccount('TestAccount'); System.assertEquals( 'TestAccount', a.Name );
B. MyRemoter remote = new MyRemoter(); Account a = remote.getAccount('TestAccount'); System.assertEquals( 'TestAccount', a.Name );
C. MyRemoter remote = new MyRemoter('TestAccount'); Account a = remote.getAccount (); System.assertEquals( 'TestAccount', a.Name );
D. Account a = MyRemoter.getAccount('TestAccount'); System.assertEquals( 'TestAccount', a.Name );
QUESTION NO: 26
A custom Visualforce controller calls the ApexPages.addMessage() method, but no messages are rendering on the page. Which component should be added to the Visualforce page to display the message?
A. <apex:message for=”info”/>
B. <apex:facet name=”messages” />
C. <apex:pageMessage severity=”info” />
D. <apex:pageMessages />
QUESTION NO: 27
A developer is writing code that requires making callouts to an external web service.
Which scenario necessitates that the callout be made in an @future method?
A. The callouts will be made in an Apex Trigger.
B. The callouts will be made in an Apex Test class.
C. The callout could take longer than 60 seconds to complete.
D. Over 10 callouts will be made in a single transaction.
QUESTION NO: 28
A developer wants to call an Apex Server-side Controller from a Lightning Aura Component. What are two limitations to the data being returned by the Controller? (Choose two.)
A. A custom Apex Class can be returned, but only the values of public instance properties and methods annotated with @AuraEnabled are serialized and returned.
B. Lists of Custom Apex Classes cannot be returned by Apex Controllers called by Lightning Aura Components.
C. Basic data types are supported, but defaults, such as maximum size for a number, are defined by the objects that they map to.
D. Only Basic data types and sObjects are supported as return types for Apex Controllers called by Lightning Aura Components.
QUESTION NO: 29
Which interface needs to be implemented by a Lightning Component so that it may be displayed in modal dialog by clicking a button on a Lightning Record page?
A. force:lightningQuickAction
B. lightning:quickAction
C. lightning:editAction
D. force:lightningEditAction
QUESTION NO: 30
Sometimes events on Salesforce need to be handled by an external system due to the scale or type of process being executed. Consider the use case of a user in Salesforce needing to get pricing for an order they are building in Salesforce while on the phone with a customer. The pricing logic already exists in a third-party system. Instead of recreating this logic in Salesforce, it will be leveraged by making a request of the third-party system. The response, in this case the pricing, will be returned and stored back in Salesforce. What is the optimal solution?
A. A Visualforce page that can make a real-time Apex callout to display and save the pricing back in Salesforce
B. An Apex trigger that upon saving the Order will make a real-time Apex callout, saving the pricing back in Salesforce
C. A Process Builder process and Outbound Message to fetch the pricing upon save and store the pricing in Salesforce
D. An ETL tool to process batches of newly saved Orders every few minutes to store the pricing back in Salesforce
QUESTION NO: 31
What are three benefits of using declarative customizations over code? (Choose three.)
A. Declarative customizations cannot generate run time errors.
B. Declarative customizations will automatically update with each Salesforce release.
C. Declarative customizations do not require user testing.
D. Declarative customizations are not subject to governor limits.
E. Declarative customizations generally require less maintenance.
QUESTION NO: 32
Which use case can only be performed by using asynchronous Apex?
A. Scheduling a batch process to complete in the future
B. Processing high volumes of records
C. Updating a record after the completion of an insert
D. Calling a web service from an Apex trigger
QUESTION NO: 33
@isTest static void testIncrement() { Account acct = new Account(Name = 'Test'); acct.Number_Of_Times_Viewed__c = 0; insert acct; AuditUtil.incrementViewed(acct.Id); Account acctAfter = [SELECT Number_Of_Times_Viewed__c FROM Account WHERE Id = :acct.Id][0] System.assertEquals(1, acctAfter.Number_Of_Times_Viewed__c); }
The test method above calls an @future method that increments the Number_of_Times_Viewed__c value. The assertion is failing because the Number_of_Times_Viewed__c equals 0.
What is the optimal way to fix this?
A. Change the initialization to acct.Number_Of_Times_Viewed__c = 1.
B. Add Test.startTest() before and Test.stopTest() after AuditUtil.incrementViewed.
C. Add Test.startTest() before and Test.stopTest() after insert acct.
D. Change the assertion to System.assertEquals(0, acctAfter.Number_Of_Times_Viewed__c).
QUESTION NO: 34
A company represents their customers as Accounts that have an External ID field called Customer_Number__c. They have a custom Order (Order__c) object, with a Lookup to Account, to represent Orders that are placed in their external order management system (OMS). When an order is fulfilled in the OMS, a REST call to Salesforce should be made that creates an Order record in Salesforce and relates it to the proper Account. What is the optimal way to implement this?
A. Perform a REST GET on the Account and a REST POST to update the Order__c with the Account’s record ID.
B. Perform a REST PATCH to upsert the Order__c and specify the Account’s Customer_Number__c in it.
C. Perform a REST POST to update the Order__c and specify the Account’s Customer_Number__c in it.
D. Perform a REST GET on the Account and a REST PATCH to upsert the Order__c with the Account’s record ID.
QUESTION NO: 35
What are three benefits of using static resources in Visualforce and Lightning Components? (Choose three.)
A. Static resource files are automatically minified.
B. Static resource files can be referenced by using the $Resource global variable instead of hardcoded IDs.
C. Static resource files can be packaged into a collection of related files in a zip or jar archive.
D. Static resource files do not count against an organization’s quota of data storage.
E. Relative paths can be used in files in static resource archives to refer to other content within the archive.
QUESTION NO: 36
A company has a native iOS app for placing orders that needs to connect to Salesforce to retrieve consolidated information from many different objects in a JSON format. Which is the optimal method to implement this in Salesforce?
A. Apex REST Web Service
B. Apex SOAP Web Service
C. Apex SOAP Callout
D. Apex REST Callout
QUESTION NO: 37
A company has a custom object, Sales Demo Request, that has a lookup to an Opportunity. It is required that a Sales Demo Request record be created when an Opportunity’s Probability is greater than 50%. What is the optimal way to automate this?
A. Use an Apex Trigger on Opportunity.
B. Build a Flow on Opportunity.
C. Create a Workflow on Opportunity.
D. Build a Process on Opportunity.
QUESTION NO: 38
A company represents their customers as Accounts in Salesforce. All customers have a unique Customer_Number__c that is unique across all of the company’s systems. They also have a custom Invoice__c object, with a Lookup to Account, to represent invoices that are sent out from their external system. This company wants to integrate invoice data back into Salesforce so Sales Reps can see when a customer is paying their bills on time. What is the optimal way to implement this?
A. Ensure Customer_Number__c is an External ID and that a custom field Invoice_Number__c is an External ID and Upsert invoice data nightly.
B. Query the Account Object upon each call to insert invoice data to fetch the Salesforce ID corresponding to the Customer Number on the invoice.
C. Create a cross-reference table in the custom invoicing system with the Salesforce Account ID of each Customer and insert invoice data nightly.
D. Use Salesforce Connect and external data objects to seamlessly import the invoice data into Salesforce without custom code.
QUESTION NO: 39
An Apex trigger creates an Order__c record every time an Opportunity is won by a Sales Rep. Recently the trigger is creating two orders. What is the optimal method for a developer to troubleshoot this?
A. Set up debug logging for every Sales Rep, then monitor the logs for errors and exceptions.
B. Turn off all Workflow Rules, then turn them on one at time to see which one causes the error.
C. Add system.debug() statements to the code and use the Developer Console logs to trace the code.
D. Run the Apex Test Classes for the Apex trigger to ensure the code still has sufficient code coverage.
QUESTION NO: 40
A company wants to incorporate a third-party web service to set the Address fields when an Account is inserted, if they have not already been set. What is the optimal way to achieve this?
A. Create a Process, call an Apex @future(callout=true) method from it, and make the callout from that Apex method.
B. Create a Process, call an Apex @InvocableMethod from it, and make the callout from that Apex method.
C. Create an after insert trigger, call an Apex @InvocableMethod method from it, and make the callout from that Apex method.
D. Create an after insert trigger, call an @future(callout=true) method from it, and make the callout from that Apex method.