Dev II Rt

127 Questions | Total Attempts: 2403

SettingsSettingsSettings
Please wait...
Dev II Rt

What we have here is a perfect practice test for software developers, before the software is considered ready for use, it must undergo some stages which involve planning and a lot of testing. If you consider yourself a good software developer, this quiz is for you. How about you give it a try and see if your assumption is true.


Questions and Answers
  • 1. 
    Which annotation exposes an Apex class as a RESTful web service?
    • A. 

      @HttpInvocable

    • B. 

      @RestRecource

    • C. 

       @AuraEnabled

    • D. 

      @RemoteAction

  • 2. 
    A developer creates an application event that has triggered an infinite loop. What may have caused this problem?
    • A. 

      The event has multiple handlers registered in the project.

    • B. 

      The event handler calls trigger.

    • C. 

      An event is fired ‘ontouchend’ and unhandled.

    • D. 

      The event is fired from a custom renderer.

  • 3. 
    A Lightning Component has a section that displays so information about an Account and it works well on the desktop , but users have to scroll horizontally to see the Description field output on their mobile devices and tablets. {v.rec.Name} {v.rec.Description__c} Which option has the changes to make the component responsive for mobile and tablet devices?
    • A. 

      {v.rec.Name} {v.rec.Description__c}

    • B. 

      {v.rec.Name} {v.rec.Description__c}

    • C. 

      {v.rec.Name} {v.rec.Description__c}

    • D. 

      {v.rec.Name} {v.rec.Description__c}

  • 4. 
    A developer is developing a reuseable Aura Component that will reside on an sObject Lightning Page with the following HTML snippet:        <aura:component implements="force:hasRecordsId,flexipage:avaliableForAllPageTypes"> <div>Hello!</div> </aura:component> How can the component’s Controller get the context of the Lightning Page that the Sobject is on without requiring additional test coverage?
    • A. 

      Create a design attribute and configure via App builder.

    • B. 

      Add force: hasSobjectName to the implements.

    • C. 

      Set the sObject type as a component attribute.

    • D. 

      Use the getSObjectType() method in Apex class.

  • 5. 
    A developer is tasked by Universal Containers to build out a system to track the container repair process. Containers should be tracked as they move through the repair process, starting when a customer reports an issue and ending when the container is returned to the customer. Which solution meets these business requirements while following best practices?
    • A. 

      Use Flow Builder to develop a Sites page for customers too submit repair request and track the status of their request.

    • B. 

      Involve a Salesforce administrator and build out declarative solution that works in Salesforce desktop and mobile.

    • C. 

      Build an automated Lightning Application using Application Events to ensure data integrity.

    • D. 

      Use Platform Events with Workflow Rules and RFID integration to ensure proper tracking oof the containers.

  • 6. 
    @isTest static void testUpdateSucces(){     Account acct = new Account(Name = 'test');     insert acc;          // Add code here          extention.inputValue = 'test';     PageReference pageRef = extention.update();     System.assertNotEquals(null, pageRef); } What should be added to the setup, in the location indicated, for the unit test above to create the controller extension for the test?
    • A. 

      ApexPages.StandatController ac = new  ApexPages.StandatController(acct.Id); AccountControllerExt extension = new AccountControllerExt(ac);

    • B. 

       AccountControllerExt extension = new AccountControllerExt(acct.Id);

    • C. 

          ApexPages.StandatController ac = new  ApexPages.StandatController(acct);     AccountControllerExt extension = new AccountControllerExt(ac);

    • D. 

       AccountControllerExt extension = new AccountControllerExt(acct);

  • 7. 
    What is the optimal technique a developer should use programmatically retrieve Global Picklist option in a Test Method?
    • A. 

      Use the Schema namespace.

    • B. 

      Use a static resource.

    • C. 

      Perform a callout to the Metadata API.

    • D. 

      Perform a SOQL Query.

  • 8. 
    A company has a custom component that allows users to search  for a certain object type by invoking Apex Controller that returns a list of results based on the user’s input. When the search is completed, a searchComplete event  is fired, with the results put in a results attribute of the event. The component is designed to be used within other components any may appear on single page more than once. What is the optimal code that should be added to fire the event when the search has completed?
    • A. 

      Var evt = $A.get("e.c.searchComplete"); evt.setParams({results: results}); evt.fire();

    • B. 

      Var evt = component.getEvent("e.c.searchComplete"); evt.setParams({results: results}); evt.fire();

    • C. 

      Var evt = component.getEvent("e.c.searchComplete"); evt.set({v.results: results}); evt.fire();

    • D. 

      Var evt = $A.get("e.c.searchComplete"); evt.set({v.results: results}); evt.fire();

  • 9. 
    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 callout could take longer than 60  seconds to complete 

    • B. 

      The callouts will be made in Apex Trigger.

    • C. 

      Over 10 callouts will be made in a single translation.

    • D. 

      The callouts will be made in Apex Test class.

  • 10. 
    How should a developer assert that trigger with an asynchronous process has successfully run?
    • A. 

      Create test data in the test class, invoke Test.startTest and Test.stopTest() and then perform assertions

    • B. 

      Insert records into Salesforce, use seeAllData=true, than perform assertions

    • C. 

      Create all test data, use @future in the test class, then perform assertions

    • D. 

      Create all test data in the test class, use System.runAs() to invoke the trigger, then perform assertions.

  • 11. 
    A developer is inserting, updating and deleting multiple lists of records in a single transaction and wants to ensure that any error prevents all execution. How should the developer implement error exception handling in their code to handle this?
    • A. 

      Use a Try/Catch and use sObject.addError() on any failures.

    • B. 

      Use Database.setSavepoint() and Database.rollBack() with a Try/Catch statement/

    • C. 

      Use Database methods to obtain lists of Database.SaveResults.

    • D. 

      Use Try/Catch statement and handle DML  cleanup in the catch statement.

  • 12. 
    Universal Containers allows customers to log into a Salesforce Community and update their orders via a custom Visualforce page. Universal Containers’ sales representatives can edit the orders on the same Visualforce page. What should a developer use in an Apex test class to test that record sharing is enforced on the Visualforce page?
    • A. 

      Use System.runAs() to test as an administrator and a community user.

    • B. 

      Use System.profileIs() to test as an administrator and a community user.

    • C. 

      Use System.runAs() to test as a sales rep and a community user.

    • D. 

      Use System.profileIs() to test as a sales rep and a community user.

  • 13. 
    A business process requires sending new Account records to an external system. The Account Name, Id, CreatedDate, and CreatedById must be passed to the external system in near real-time when an Account id inserted without error. How should a developer achieve this?
    • A. 

      Use a Workflow rule tat calls an @InvocableMethod method

    • B. 

      Use a Process Builder that calls an @InvocableMethod method.

    • C. 

      Use a before insert trigger and an @future method.

    • D. 

      Use a before insert trigger and an Queueable class.

  • 14. 
    Just prior to a new deployment, the Salesforce Administrator who configured a new order fulfillment process in a developer sandbox suddenly  left the company. The users had fully tested all of the changes in the sandbox and signed off on them. Unfortunately, although a Change Set was started, it . was not complete. A developer is brought in to help finish the deployment. What should the developer do t identify the configuration changes that need to be moved in production?
    • A. 

      In Salesforce setup, look at the last modified date for every object to determine which should be added to the Change Set.

    • B. 

      Set up Continuous Integration and a Git repository to automatically merge all changes from the sandbox metadata with the production metadata.

    • C. 

      Leverage the Setup Audit Trail too review the changes made by the departed Administrator and identify which changes should be added to the Change Set

    • D. 

      Use the Metadata API and a supported development IDE to push all of the configuration from the sandbox  into production changes are lost

  • 15. 
    • A. 

      SELECT Id FROM Account WHERE Id IN :aListVariable

    • B. 

      SELECT Id FROM Account WHERE Name != NULL

    • C. 

      SELECT Id FROM Account WHERE Name != ' ' AND Customer_Number__c = 'ValueA'

    • D. 

      SELECT Id FROM Account WHERE Name != ' ' AND IsDeleted = false

  • 16. 
    public class myServerSideController { @AuraEnabled public static MyDataWrapper getSomeData(String theType){ Some_Object__c someObj = [ SELECT ID, Name FROM Some_Object__c WHERE Type__c =: theType LIMIT 1 ]; Another_Object__c anotherObj =[ SELECT ID, Option__c FROM Another_Object__c WHERE Some_Object__c =: someObj.Name ]; MyDataWrapper theData = new MyDataWrapper(); theDate.Name = someObj.Name; theDate.Option = anotherObj.Option__c; return theData; } Public class MyDataWrapper{ public String Name {get;set;} public String Option {get;set;} Public MyDataWrapper(){} } Consider the controller code above that is called from a Lightning component and returns data wrapper in a class. The developer verified that the queries return a single record each and there is error handling in the Lightning component, but the component is not getting anything back when calling the controller getSomeData(). What is wrong?
    • A. 

      The member's Name add Option should not have getter and setter.

    • B. 

      Instances of Apex classes such as MyDataWrapper cannot be returned to a Lightning component.

    • C. 

      The member's Name and Option of the class MyDateWrapper  should be annotated with @AuraEnabled too.

    • D. 

      The member's Name add Option should not be declared public.

  • 17. 
    A company wants to build a custom Lightning Components 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”>                         <aura:attribute name=”fieldSetName” label=”Field Set Name”/>             <sfdc:objects>                         <sfdc:object>FieldSet</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>Account</sfdc:object>             </sfdc:objects> </design:component>

    • D. 

      <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>

  • 18. 
    A developer 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 accessible from Lightning Experience UI.

    • B. 

      Will the screen make use of a JavaScript framework.

    • C. 

      Does the screen need to be rendered as a PDF.

    • D. 

      Will the screen be accessed via a mobile app.

  • 19. 
    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 Messages 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.

  • 20. 
    A company uses an external system to manage its custom account territory assignments. Every quarter, millions of Accounts may be updated in Salesforce with new Owners when the territory assignments are completed in the external system. What is the optimal way to update the Accounts from the external system?
    • A. 

      Apex REST Web Service.

    • B. 

      Composite REST API.

    • C. 

      SOAP API.

    • D. 

      Bulk API.

  • 21. 
    What is a benefit of JavaScript remoting over Visualforce Remote Object?
    • A. 

      Supports complex server-side application logic.

    • B. 

      Does not require any JavaScript code.

    • C. 

      Does not require any apex code.

    • D. 

      Allows for specified re-render targets.

  • 22. 
    A developer created and tested a Visualforce page in their developer sandbox, but now receives reports that users are encountering 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.

  • 23. 
    A Lightning 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. 

      Refresh the sandbox and upgrade it to the latest API version.

    • B. 

      Delete the component, metadata, and Apex controller and recreate them.

    • C. 

      Expose it in the markup using the implements and access attributes.

    • D. 

      Look for errors in the logic in the JavaScript controller.

  • 24. 
    Which two relationship queries use the proper syntax? Choose 2 answers.
    • A. 

      SELECT Name, (SELECT LastName FROM Contacts__r) FROM Account

    • B. 

      SELECT Name, (SELECT LastName FROM Contacts) FROM Account

    • C. 

      SELECT Id, Name, Account__r.Name FROM Contact WHERE Account__r.Industry = ‘Media’

    • D. 

      SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = ‘Media’

  • 25. 
    What are three benefits of using static resources in Visualforce and Lightning Components? Choose 3 answers.
    • A. 

      Static resource files can be packaged into a collection of related files in a zip or jar archive.

    • B. 

      Static resource files do not count against an organization’s quota of data storage.

    • C. 

      Static resource files are automatically minified.

    • D. 

      Relative paths can be used in files in static resource archives to refer to other content within the archive.

    • E. 

      Static resource files can be referenced by using the $Resource global variable instead of hardcoded IDs.

  • 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:pageMessages />

    • D. 

      <apex:pageMessage severity=”info” />

  • 27. 
    A developer is asked to build a solution that will automatically send an email to the customer when an Opportunity stage changes. The solution must scale to allow for 10,000 emails per day. The criteria to send the email should be evaluated after all workflow Rules have fired. What is the optimal way to accomplish this?
    • A. 

      Use a Workflow Email Alert.

    • B. 

      Use a MassEmailMessage() with an Apex Trigger.

    • C. 

      Use a SingleEmailMessage() with an Apex Trigger.

    • D. 

      Use an Email alert with Process Builder.

  • 28. 
    A company represents their customers as Accounts in Salesforce. All customers have a unique Customer_Number__c is unique across all of the company’s systems. They also have 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. 

      Use Salesforce Connect and external data objects to seamlessly import the invoices data into Salesforce without custom code.

    • B. 

      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.

    • 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. 

      Query the Account Object upon each call to insert invoice data to fetch the Salesforce ID corresponding to the Customer Number on the invoice.

  • 29. 
    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. public void updateAndMakeCallout(Map reqs, Map reqLines){             Savepoint sp = Database.setSavepoint();             try {                         insert reqs.values();                         insert reqLines.values();                         HttpResponse response = CalloutUtil.makeRestCallout(reqs.keySet(), reqLines.keySet());             } catch (Exception e){                         Database.rollback(sp);                         System.debug(e);             } } 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. 

      Change the CalloutUtil.makeRestCallout to an @InvocableMethod method.

    • B. 

      Remove the Database.setSavepoint and Database.rollback.

    • C. 

      Move the CalloutUtil.makeRestCallout method call below the catch block.

    • D. 

      Change the CalloutUtil.makeRestCallout to an @future method.

  • 30. 
    Part of a custom Lightning Component displays the total number of Opportunities in the org, which is in the millions. The Lightning Component uses an Apex Controller to get the data it needs. What is the optimal way for a developer to get the total number of Opportunities or the Lightning Component?
    • A. 

      SUM() SOQL aggregate query on the opportunity object

    • B. 

      SOQL for loop that counts the number of Opportunities records

    • C. 

      COUNT() SOQL aggregate query on the Opportunity object

    • D. 

      Apex Batch job that counts the number of Opportunity records

  • 31. 
    A company has 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 SOAP Callout

    • B. 

      Apex REST Callout

    • C. 

      Apex SOAP Web Service

    • D. 

      Apex REST Web Service

  • 32. 
    UC wants to develop a customer community to help their customers log issues with their containers. The community needs to function for their German- and Spanish-speaking customers also. UC heard that it’s easy to create an international community using Salesforce, and hired a developer to build out the site. What should the developer use to ensure the site is multilingual?
    • A. 

      Use Custom Labels to ensure custom messages are translated properly.

    • B. 

      Use Custom Metadata to translate custom picklist values.

    • C. 

      Use custom settings to ensure custom messages are translated properly.

    • D. 

      Use custom objects to translate custom picklist values.

  • 33. 
    UC wants to be able to bring up an Account detail page and view a table of containers currently being rented. The user wants to be able to click on a container in the table and quickly edit and save the location of the container. In addition to this, the page should have a section that shows the location of each container on a map. UC wants the map to re-render whenever the location of a container is changed. What can a developer use to accomplish this task?
    • A. 

      Two Lightning Components leveraging Platform Events.

    • B. 

      Two Lightning Components leveraging Application Events.

    • C. 

      A single Visualforce Page leveraging Platform Events.

    • D. 

      Two Visualforce Page Components leveraging Application Events.

  • 34. 
    The Contract object in an org is configured with workflow rules that trigger field updates. The fields are not updating, even though the end user expects them to. The developer creates a debug log to troubleshot the problem. What should the developer specify in the debug log to see the values of the workflow rule conditions and debug the problem?
    • A. 

      INFO level for the Workflow log category.

    • B. 

      ERROR level for the Workflow log category.

    • C. 

      INFO level for the Database log category.

    • D. 

      ERROR level for the Database log category.

  • 35. 
    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 Test class.

    • B. 

      The callouts will be made in an Apex Trigger.

    • C. 

      The callout could take longer than 60 seconds to complete

    • D. 

      Over 10 callouts will be made in a single transaction.

  • 36. 
    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. 

      Create an Apex trigger and make a callout to the OMS from the trigger.

    • 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. 

      Generate the Enterprise WSDL and use it to make a callout to the OMS.

  • 37. 
    A company notices that their unit tests in a test class with many methods to create many records for prerequisite reference data are slow. What can a developer to do address the issue?
    • A. 

      Move the prerequisite reference data setup to a TestDataFactory and call that from each test method.

    • B. 

      Move the prerequisite reference data setup to the constructor for the test class.

    • C. 

      Move the prerequisite reference data setup to a static method in the test class and call that from each test method.

    • D. 

      Move the prerequisite reference data setup to a @testSetup method in the test class.

  • 38. 
    An Apex Trigger creates a Contract record every time an Opportunity record is marked as Closed and Won. This trigger is working great, except (due to a recent acquisition) historical Opportunity records need to be loaded into the Salesforce instance. When a test batch of records are loaded, the Apex Trigger creates Contract records. A developer is tasked with preventing Contract records from being created when mass loading the Opportunities, but the daily users still need to have the Contract records created. What is the most extendable way to update the Apex Trigger to accomplish this?
    • A. 

      Use a Hierarchy Custom Setting to disable the Trigger for the user who does the data loading_

    • B. 

      Add a Validation Rule to the Contract to prevent Contract creation by the user who does the data loading.

    • C. 

      Use a List Custom Setting to disable the Trigger for the user who does the data loading.

    • D. 

      Add the Profile Id of the user who does the data loading to the Trigger so the Trigger won't fire for this user.

  • 39. 
    What is the optimal technique a developer should use to programmatically retrieve Global Picklist options in a Test Method?
    • A. 

      Perform a callout to the Metadata API 

    • B. 

      Use the Schema namespace.

    • C. 

      Perform a SOQL Query

    • D. 

      Use a static resource.

  • 40. 
    @isTest static  void  testAccountUpdatel()       {    Account  acct=  new  Account(Name=  'Test');    acct.Integration_Updated__c= false;    insert  acct; CalloutUtil.sendAccountUpdate(acct.Id) ; Account  acctAfter = [SELECT  Id,   Integration_Updated__c  FROM  Account  WHERE  Id =:acct.Id] [0]; System.assert(true,   acctAfter.Integration_Updated__c); 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 if (!Test.isRunningTest()) around CalloutUtil.sendAccountUpdate.

    • B. 

      Add Test.startTest() before and Test.stopTest() after CalloutUtil.sendAccountUpdate.

    • C. 

      Add Test.startTest() before and Test.setMock and Test.stopTest() after CalloutUtil.sendAccountUpdate.

    • D. 

      Add Test.startTest() and Test.setMock before and Test.stopTest() after CalloutUtil.sendAccountUpdate.

  • 41. 
    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 2 answers
    • A. 

      Lists of Custom Apex Classes cannot be returned by Apex Controllers called by Lightning Aura Components.

    • B. 

      Basic data types are supported, but defaults, such as maximum size for a number, are defined by the objects that they map to.

    • C. 

      A custom Apex Class can be returned, but only the values of public instance properties and methods annotated with @AuraEnabled are serialized and returned.

    • D. 

      Only Basic data types and sObjects are supported as return types for Apex Controllers called by Lightning Aura Components.

  • 42. 
    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. 

      Run the Apex Test Classes for the Apex trigger to ensure the code still has sufficient code coverage.

    • B. 

      Turn off all Workflow Rules, then turn them on one at 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. 

      Set up debug logging for every Sales Rep, then monitor the logs for errors and exceptions.

  • 43. 
    A developer is writing a Visualforce page that queries accounts in the system and presents a data table with the results. The users want to be able to filter the results based on up to five fields. However, the users want to pick the five fields to use as filter fields when they run the page. Which feature of Apex code is required to facilitate this solution?
    • A. 

      REST API

    • B. 

      Dynamic Schema binding

    • C. 

      DescribeSObjects()

    • D. 

      SOSL queries

  • 44. 
    Line    1  public  class  AttributeTypes Line    2   { Line    3                private  final  String[]   arrayItems; Line    4 Line    5                 @AuraEnabled Line    6                public  List  getStringArray()  { Line    7                             String[] arrayItems = new  String[]{ 'red',   'green',   'blue' }; Line    8                             return  arrayItems; Line    9                 } Line    10     } Consider the Apex controller above, that is called from a Lightning Aura Component. What is wrong with it?
    • A. 

      Line 1: class 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

  • 45. 
    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 24-hour period.

    • B. 

          Write a custom Apex web service that, given an email address, does all of the logic the         integration code was doing.

    • C. 

      Create several Apex InboundEmaillHandlers to accept calls from the third-party system, thus bypassing the API limits.

    • D. 

      Create an Inbound Message that, using Flow, can do all of the logic the integration code was doing.

  • 46. 
    A large company uses Salesforce across several departments. Each department has its own Salesforce Administrator. It was agreed that each Administrator would have their own sandbox in which to test changes. Recently, users notice that fields that were recently added for one department suddenly disappear without warning. Also, Workflows that once sent emails and created tasks no longer do so.  Which two statements are true regarding these issues and resolution? Choose 2 answers
    • A. 

         A sandbox should be created to use as a unified testing environment instead of deploying Change Sets directly to production

    • B. 

      Page Layouts should never be deployed via Change Sets, as this causes Workflows and Field-level Security to be reset and fields to disappear.

    • C. 

      The administrators are deploying their own Change Sets, thus deleting each other's fields from the objects in production

    • D. 

      The administrators are deploying their own Change Sets over each other, thus replacing entire Page Layouts and Workflows in Production

  • 47. 
    UC Loans is a small company with a part time Salesforce administrator. UC Loans wants to create a Loan__c record whenever an Opportunity is won, What is the optimal solution for UC Loans to accomplish this?
    • A. 

      Quick Action

    • B. 

      Apex Trigger

    • C. 

      Process Builder 

    • D. 

      Workflow Rule

  • 48. 
    A developer gets an error saying 'Maximum Trigger Depth Exceeded.' What is a possible reason to get this error message?
    • A. 

      The SOQL governor limits are being hit.

    • B. 

      A Process Builder is running that sends mass emails.

    • C. 

      A trigger is recursively invoked more than 15 times.

    • D. 

      There are numerous DML operations in the trigger logic.

  • 49. 
    @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.assertEguals(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. 

      Change the assertion to System.assertEquals(0, acctAfter.Number_Of_Times_Viewed__c)   

    • C. 

      Add Test.startTest() before and Test.stopTest() after AuditUtil.incrementViewed

    • D. 

      Add Test.startTest() before and Test.stopTest() after insert acct

  • 50. 
    A developer wants to integrate invoice and invoice line data into Salesforce from a custom billing system. The developer decides to make real-time callouts from the billing system using the SOAP API. Unfoternatly, the developer is getting a lot of errors when inserting the invoice line data because the invoice header doesn't exist yet.
    • A. 

      Create the invoice header and the related invoice line in the same create() call leveraging External Ids.

    • B. 

      Custom Apex web service to handle a custom JSON data structure with both invoice header and related invoice lines.

    • C. 

      Use an ETL tool and the Bulk API running nightly, thus ensuring all of the data is handled at the same time.

    • D. 

      Set the AllOrNoneHeader to true when calling each of create() for invoice headers and create() for invoice lines.

  • 51. 
    Which statement is considered a best practice for writing bulk safe Apex Triggers?
    • A. 

      Records to collections and perform DML operations against these collections.

    • B. 

      Perform all DML operations from within a Future Method.

    • C. 

      Instead of DML statements, use the Database methods with allOrNone set to False.

    • D. 

      Add LIMIT 50000 to every SOQL statement.

  • 52. 
    You are displaying contacts from the {!account.name} account. Click a contact's name to view his or her details. {!contact.name} Consider the code above. When a user clicks on the Link of a Contact's Name, what happens?
    • A. 

      Error happens; the commandLink is missing an action attribute.

    • B. 

      The outputPanel refreshes, showing the Contact's details.

    • C. 

      A new page opens, showing the Contact's details.

    • D. 

      The page refreshes, showing the Contact's details.

  • 53. 
    Line 1: @isTest Line 2: static void testMyTrigger() Line 3: {  Line 4: //Do a bunch of data setup Line 5: DataFactory.setupDataForMyTriggerTest(); Line 6: Line 7: List acctsBefore = [SELCT Is_Customer__c FROM Account WHERE Id IN : Line 8: DataFactory.accounts]; Line 9: //Utility to assert all accounts are not customers before the update Line 10: AssertUtil.assertNotCustomers(acctsBefore); Line 11: Line 12: //Set accounts to be customers Line 13: for(Account a: DataFactory.accounts) Line 14: { Line 15 :a.Is_Customer__c = true; Line 16: } Line 17: Line 18: update DataFactory.accounts; Line 19: Line 20: List acctsAfter = [SELECT Number_Of_Transfers__c FROM Account WHERE Id IN:DataFactory.accounts]; Line 21:  Line 22: //Utility to assert Number_Of_Transfers__c is correct based on test data Line 23:  AssertUtil.assertNumberOfTransfers(acctsAfter); Line 24:  } The test method above tests an Apex trigger that the developer knows will make a lot of queries when a lot of Accounts are simultaneously updated to be customers. The test method fails at the Line 20 because of too many SOQL queries. What is the correct way to fix this?
    • A. 

      Change the DataFactory class to create fewer Accounts so that the number of queries in the trigger is reduced.

    • B. 

      Replace most of the Apex Trigger with Process Builder processes to reduce the number of queries in the trigger

    • C. 

      Add Test.startTest() before and Test.stopTest()after both Line 7 of the code and Line 20 of the code.

    • D. 

      Add Test.startTest() before Line 18 of the code and add code Test.stopTest() after line 18 of the code.

  • 54. 
    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.
    • 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 POST  to update the Order__c and specify the Account's Customer_Number__c in it.

    • C. 

      Perform a REST PATCH  to upsert 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.

  • 55. 
    A company uses a custom-built enterprise resource planning (ERP) system to handle order management. The company wants Sales Reps to know the status of orders so that if a customer calls to ask about their shipment, the Sales Rep can advise the customer about the order's status and tracking number if it is already shipped. 
    • A. 

      Write a cron job in Salesforce to poll the ERP system for order updates.

    • B. 

      Write real-time order data is in Salesforce using the Streaming API.

    • C. 

      Write Force Connect to view real-time Order data in the ERP system.

    • D. 

      Have the ERP system push the data into Salesforce using the SOAP API.

  • 56. 
    A developer wrote a trigger on Opportunity that will update a custom Last Sold Date field on the Opportunity's Account whenever an Opportunity is closed. In the test class for the trigger, the assertion to validate the Last Date field fails.
    • A. 

      The test class has not defined an Account owner when inserting the test data.

    • B. 

      The test class has not re-queried the Account record after updating the Opportunity.

    • C. 

      The test class has not implemented seeAllData=true in the test method.

    • D. 

      The test class is not using System.runAs() to run tests as a Salesforce administrator.

  • 57. 
    After a Platform Event is defined in a Salesforce org, events can be published via which two mechanisms?
    • A. 

      Internal Apps can use Outbound Messages.

    • B. 

      Internal Apps can use the standard Streaming API.

    • C. 

      External Apps can use Process Builder.

    • D. 

      External Apps require a custom Apex web service.

  • 58. 
     A company has a Request__c object that has a lookup to the Opportunity object and a custom field, Status__c, with values 'Open', 'Closed' and 'Invalid'. An Opportunity should not be allowed to be deleted if there are any Request__c records related to it that have a Status__c value of 'Open' or 'Closed'. What is the optimal way to enforce the requirement to prevent deletion?
    • A. 

      A process on Opportunity

    • B. 

      An Apex Trigger on Opportunity

    • C. 

      An Apex Trigger  on Request__c

    • D. 

      A Process on Request__c

  • 59. 
    An org has a requirement that the Shipping Address on the Account must be validated by a third-party web service, before the Account is allowed to be inserted.
    • A. 

      Make a callout to the web service from a standard Visualforce controller.

    • B. 

      Make a callout to the web service from a custom Visualforce controller.

    • C. 

      Make a callout to the web service from a before insert trigger.

    • D. 

      Make a callout to the web service from an after insert trigger.

  • 60. 
    A company has a custom object, Request__c, that has a field, Completed__c, and Lookup to Opportunity, Opportunity__c. Which SOQL query will get a unique list of all the Opportunity records that have a Completed Request?
    • A. 

      SELECT Id FROM Opportunity WHERE Id IN (SELECT Id FROM Request__c WHERR Completed__c =  true)

    • B. 

      SELECT Opportunity FROM Request__c WHERE Completed__c = true 

    • C. 

      SELECT Id FROM Opportunity WHERE Id IN (SELECT Opportunity__c FROM Request__c WHERE Completed__c = true)

    • D. 

      SELECT Opportunity__c FROM Request__c WHERE Id IN (SELECT Id FROM Request__c WHERE Completed__c = true)

  • 61. 
    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="{!selectedIndustryl">        <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 <apex: actionSupport> within the <apex:selectOptions>

    • B. 

      Add an <apex: actionFunction> within the <apex:selectList>

    • C. 

      Add an <apex: actionFunction> within the <apex: selectOptions>.

    • D. 

      Add an <apex:actionSupport> within the <apex:selectList>

  • 62. 
    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 lazy loading to load the data on demand, instead of in the controller's constructor.

    • B. 

      Use an <apex:actionPoller> in the page to load all of the data asynchronously.

    • C. 

      Use Javascript to move data processing to the browser instead of the controller.

    • D. 

      Use the transient keyword for the List variables used in the custom controller. 

  • 63. 
    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 ©InvocableMethod from it, and make the callout from that Apex method.

    • B. 

      Create an after insert trigger, call an @future(callout=true) method from it, and make the callout from that Apex method.

    • C. 

      Create a Process, call an Apex @future(callout=true) method from it, and make the callout from that Apex method.

    • D. 

      Create an after insert trigger, call an Apex ©InvocableMethod method from it, and make the callout from that Apex method. 

  • 64. 
    Example 1: AggregateResult[] groupedResults = [SELECT Campaignid, AVG(Amount) FROM Opportunity GROUP BY Campaignid]; for (AggregateResult ar : groupedResults) { System.debug('Campaign ID' + ar.get('CampaignId')); System.debug('Average amount' + ar.get('expr0')); } Example 2: AggregateResult[] groupedResults = [SELECT Campaignld, AVG(Amount) theAverage FROM Opportunity GROUP BY Campaignld]; for (AggregateResult ar : groupedResults) { System.debug('Campaign ID' + ar.get('CampaignId')); System.debug('Average amount' + ar.get('theAverage')); } Example 3: AggregateResult(] groupedResults = [SELECT Campaignld, AVG(Amount) FROM Opportunity GROUP BY Campaignid]; for (AggregateResult ar : groupedResults) { System.debug('Campaign ID' + ar.get('CampaignId')); System.debug('Average amount' + ar.get.AVG()); } Example 4: AggregateResult[] groupedResults = [SELECT Campaignld, AVG(Amount) theAverage FROM Opportunity GROUP BY Campaignld]; for (AggregateResult ar : groupedResults) { System.debug('Campaign ID' + ar.get('CampaignId')); System.debug('Average amount' + ar.theAverage); }   Which two of the examples above have the correct System.debug statements? Choose 2 answers 
    • A. 

      Option 1

    • B. 

      Option 2

    • C. 

      Option 3

    • D. 

      Option 4

  • 65. 
     Business rules require a Contact to always be created when a new Account is created.  What can be used when developing a custom screen to ensure an Account is not created if the creation of the Contact fails? 
    • A. 

      Use the Database.Delete method if the Contact insertion fails. 

    • B. 

      Disable Validation rules on Contacts and set default values with a Trigger. 

    • C. 

      Use the Database.Insert method with allOrNone set to False. 

    • D. 

      Use setSavePoint() and rollback() with a try/catch block. 

  • 66. 
     A developer built a Component to be used at the front desk for guests to self-register upon arrival at a kiosk. The developer is now asked to create a Component for the Utility Tray to alert Users whenever a guest has arrived at the front desk.  What should be used? 
    • A. 

      ChangeLog 

    • B. 

      Component Event 

    • C. 

      Application Event 

    • D. 

      DML Operation 

  • 67. 
     Which statement should be used to allow some of the records in a list of records to be inserted if others fail to be inserted? 
    • A. 

      Database.insert(records, false) 

    • B. 

      Database.insert(records, true)

    • C. 

      Insert records 

    • D. 

      Insert (records, false) 

  • 68. 
    =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 GET on the Account and a REST PATCH to upsert the Order_c with the Account's record ID. 

    • D. 

      Perform a REST POST to update the Order c and specify the Account's Customer_Number_c in it. 

  • 69. 
    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 upsert 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 update trigger that creates the Engineering Review record and inserts it 

    • D. 

      A before upsert trigger that creates the Engineering Review record and inserts it 

  • 70. 
    Universal Containers uses Big Objects to store almost a billion customer transactions called Customer_Transaction_b.  These are the fields on Customer Transaction b:  Account__c Program__c Points_Earned__c Location__c Transaction_Date__c  The following fields have been identified as Index Fields for the Customer_Transaction_b object:  Account_c, Program_c, and Transaction Date c.  Which SOQL query is valid on the Customer_Transaction_b Big Object? 
    • A. 

      SELECT Account c, Program c, Transaction_Date c FROM Customer_Transaction_b WHERE Account c = '001R000000302D3' AND Program c ='Shoppers' AND Transaction Date c=2019-05-31T00:00Z 

    • B. 

      SELECT Account c, Program c, Transaction_Date_c FROM Customer_Transaction_b WHERE Account c = '001R000000302D3' AND Program c LIKE 'Shop%' AND Transaction Date c=2019-05-31T00:00Z 

    • C. 

      SELECT Account_c o Account_c, ProgriaRm06_60c,00T3raon2sDa3ct.ion_Date_c FROM Customer_Transaction_b AND Program_c EXCLUDES (*Shoppers', 'Womens') AND Transaction Date c=2019-05-31T00:00Z 

    • D. 

      SELECT Account c, Program c Transaction_Date_c FROM Customer_Transaction_b W   AND Program c INCLUDES ('Shoppers', 'Womens') AND Transaction Date c=2019-05-31T00:00Z 

  • 71. 
     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. n
    • A. 

      MyRemoter remote = new MyRemoter(); Account a = remote.getAccount('TestAccount.); System.assertEquals( 'TestAccount', a.Name ); 

    • B. 

      Account a = MyRemoter.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 = controller.getAccount('TestAccount'); System.assertEquals( 'TestAccount', a.Name ); 

  • 72. 
    A company has a custom object, Order c, that has a required, unique, external ID field called Order_Number_c.  which statement should be used to perform the DML necessary to insert new records and update existing records in a List of Order c records? 
    • A. 

       upsert orders;

    • B. 

        merge orders;

    • C. 

      Merge orders Order_Number_c; 

    • D. 

      Upsert orders Order_Number_c; 

  • 73. 
    A developer needs to send Account records to an external system for backup purposes. The process must take a snapshot of Accounts as they are saved and then make a callout to a RESTful web service. The web service can only receive, at most, one record per call.  Which feature should be used to implement these requirements?  
    • A. 

      Workflow

    • B. 

      @future 

    • C. 

      Queueable

    • D. 

      Process Builder 

  • 74. 
    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. 

      Use the Database method with allOrNone set to False.

    • B. 

      Use a Try/Catch block after the insert statement. 

    • C. 

      Remove the Apex Class from the Integration User's Profile. 

    • D. 

      Deactivate the Trigger before the Integration runs. 

  • 75. 
    An org has a requirement that an Account must always have one and only one Contact listed as Primary. So selecting one Contact will de-select any others. The client wants a checkbox on the Contact called Is Primary' to control this feature. The client also wants to ensure that the last name of every Contact is stored entirely in uppercase characters.  What is the optimal way to implement these requirements? 
    • A. 

      Write a single trigger on Contact for both after update and before update and callout to helper classes to handle each set of logic.

    • B. 

      Write an after update trigger on Contact for the Is Primary logic and a separate before update trigger on Contact for the last name logic.

    • C. 

      Write an after update trigger on Account for the Is Primary logic and a before update trigger on Contact for the last name logic.

    • D. 

      Write a Validation Rule on the Contact for the Is Primary logic and a before update trigger on Contact for the last name logic. 

  • 76. 
    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 Test class. 

    • B. 

      The callouts will be made in an Apex Trigger. 

    • C. 

      The callout could take longer than 60 seconds to complete. 

    • D. 

      Over 10 callouts will be made in a single transaction. 

  • 77. 
    UC Loans is a small company with a part time Salesforce administrator. UC Loans wants to create a Loan _c record whenever an Opportunity is won.  What is the optimal solution for UC Loans to accomplish this? 
    • A. 

      Quick Action 

    • B. 

      Apex Trigger 

    • C. 

      Process Builder 

    • D. 

      Workflow Rule 

  • 78. 
    34) trigger AssignOwnerByRegion on Account (before insert, before update) {     List accountList = new List();     for (Account anAccount : trigger.new){         Region__c theRegion = [             SELECT Id,Name,Region_Manager__c             FROM Region__c             WHERE Name = :anAccount.Region_Name__c         ];         anAccount.OwnerId = theRegion.Region_Manager__c;        accountList.add(anAccount);     }     update accountList; } Consider the above trigger intended to assign the Account to the manager of the Account’s region. Which two changes should a developer make in this trigger to adhere to best practices? Choose 2 answers
    • A. 

      A. Use a Map accountMap instead of List accountList

    • B. 

      B. Use a Map to cache the results of Region__c query by Id

    • C. 

      C. Move the Region__c query to outside the loop

    • D. 

      D. Remove the last line updating accountList as it is not needed

  • 79. 
    35) A user receives the generic “An internal server error has occurred” while interacting with a custome Lightning Component. What should the developer do to ensure a more meaningful message?
    • A. 

      A. Use an AuraHandledException in a try/catch block

    • B. 

      B. Use ProcessBuilder to catch the error

    • C. 

      C. Add an onerror event handler to the tag

    • D. 

      D. Add an error-view component to the markup

  • 80. 
    36) 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 optional way to automate this?
    • A. 

      A. Build a Flow on Opportunity

    • B. 

      B. Create a Workflow on Opportunity

    • C. 

      C. Use an Apex Trigger on Opportunity

    • D. 

      D. Build a Process on Opportunity

  • 81. 
    37) Given a list of Opportunity records named opportunityList, which code snippet is best for queryng all Contacts of the Opportunity’s Account?
    • A. 

      A. List<Contact> contactList = new List<Contact>(); Set<Id> accountIds = new Set<Id>(); for(Opportunity o : opportunityList){             accountIds.add(o.AccountId); } for(Account a : [SELECT Id,(SELECT Id FROM Contacts) FROM Account WHERE Id IN :accountIds]){             contactList.add(a.Contacts); }

    • B. 

      B. List<Contact> contactList = new List<Contact>(); Set<Id> accountIds = new Set<Id>(); for(Opportunity o : opportunityList){             contactIds.add(o.ContactId); } for( Contact c : [SELECT Id FROM Contact WHERE Id IN :contactIds]){             contactList.add(c); }

    • C. 

      C. List<Contact> contactList = new List<Contact>(); for(Opportunity o : opportunityList){             Account a = [SELECT Id,(SELECT Id FROM Contacts) FROM Account WHERE Id IN :o.AccountId];             contactList.add(a.Contacts); }

    • D. 

      D. List<Contact> contactList = new List<Contact>(); for( Contact c : [SELECT Id FROM Contact WHERE AccountId IN :opportunityList.AccountId]){             contactList.add(c); }

  • 82. 
    38)What are three benefits of using declarative customizations over code? Choose 3 answers
    • A. 

      A. Declarative customizations generally require less maintenance

    • B. 

      B. Declarative customizations do not require user testing

    • C. 

      C. Declarative customizations cannot generate run time errors

    • D. 

      D. Declarative customizations will automatically update with each Salesforce releases

    • E. 

      E. Declarative customizations are not subject to governor limits

  • 83. 
    39) A company has 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. 

      A. Salesforce Lightning Inspector Storage Tab

    • B. 

      B. Salesforce Lightning Inspector Action Tab

    • C. 

      C. Salesforce Lightning Inspector Event Log Tab

    • D. 

      D. Salesforce Lightning Inspector Transactions Tab

  • 84. 
    40) 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. 

      A. Add @testVisible to the mrthod in the class the developer is testing

    • B. 

      B. Use system.assert() in the testSetup to verify the values are being returned

    • C. 

      C. Call the Apex class method from a testMethod instead of the testSetup method

    • D. 

      D. Verify the user has permissions passing a user into System.runAs()

  • 85. 
    42) Universal Containers wants to use an external Web Service provided by third-part 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. 

      A. Custom Setting (List)

    • B. 

      B. Custom Metadata

    • C. 

      C. Named Credential

    • D. 

      D. Dynamic Endpoint

  • 86. 
    43) 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. 

      A. Decorate the server-side method with @AuraEnabled(cacheable=true)

    • B. 

      B. Set a cookie in the browser for user upon return to the page

    • C. 

      C. Decorate the server-side method with @AuraEnabled(storable=true)

    • D. 

      D. Call the setStorable() method on the action in the JavaScript client-side code

  • 87. 
    44) Which method should be used to convert a Date to a String in the current user’s locale?
    • A. 

      A. Date.format

    • B. 

      B. Date.parse

    • C. 

      C. String.format

    • D. 

      D. String.valuesOf

  • 88. 
    45) A company wants to implement a new call center process for handing customer service calls. It requires service reps to ask for the caller’s account number before proceeding with the rest of their call script. Following best practices, what should a developer use to meet this requirement?
    • A. 

      A. Approvals

    • B. 

      B. Flow Builder

    • C. 

      C. Apex Trigger

    • D. 

      D. Process Builder

  • 89. 
    46) 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. 

      A. force:lightningQuickAction

    • B. 

      B. lightning:editAction

    • C. 

      C. lightning:quickAction

    • D. 

      D. force:lightningEditAction

  • 90. 
    47) A company has a web page that needs to get Account record information, given its Salesforce record ID, from JavaScript on the page and then displayed it.
    • A. 

      A. SOAP API

    • B. 

      B. Apex REST Web Service

    • C. 

      C. Apex SOAP Web Service

    • D. 

      D. REST API

  • 91. 
    48) 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 company 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 department. Which solution solve these requirements?
    • A. 

      A. A Custom Report Type and a report Lightning Component on the Community Home Page

    • B. 

      B. An Apex Trigger that creates Apex Manager Sharing records based on the junction object’s relationship.

    • C. 

      C. A Custom List View on the junction object with filters that will show the  proper records based on owner

    • D. 

      D. A Visualforce page that uses a Custom Controller that specifies without sharing to expose the records

  • 92. 
    49) A company has many different unit test method that create Account records as part of their 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. 

      A. Add the required field to the data setup for all of the unit tests.

    • B. 

      B. Add a before insert trigger on Account to set the values of the required field

    • C. 

      C. Create a TestDataFactory class that serves as the single place to create Accounts for unit tests and set the required field there.

    • D. 

      D. Change the required field to be a validation rule that excludes the System Administrator profile

  • 93. 
    50) A developer is trying to access org data from within a test class. Which sObject type requires the test class to have the (seeAllData=true) annotation?
    • A. 

      A. RecordType

    • B. 

      B. Profile

    • C. 

      C. User

    • D. 

      D. Report

  • 94. 
    A developer is asked to develop a new AppExchange application. A feature of the program creates Survey records when a Case reaches a certain stage and is o' a certain Record Type. This feature reeds to be configurable, as different Salesforce instances require Surveys at different times. Additionally, the out-of-the-box AppExchange app needs to come with a set of best practice settings that apply to most customers. What should the developer use to store and package the custom configuration settings for the app'
    • A. 

      Process Builder

    • B. 

      Custom Object

    • C. 

      Custom Settings

    • D. 

      Custom Metadata

  • 95. 
    A developer notices the execution of all the test methods in a class takes a long t me to run, due to tie initial setup of all the test data that is needed to perform the tests. What should the deveoper do to speed LID test execution?
    • A. 

      Reduce the amount of test methods in the class.

    • B. 

      Define a method that creates test data and annotate with @testSetup

    • C. 

      Define a method that creates test data and annotate with @createData.

    • D. 

      Ensure proper usage of test data factory in all test methods

  • 96. 
    The use of the transient keyword in Visualforce Page Controllers helps with which common performance issue?
    • A. 

      Improves Page Transfers

    • B. 

      Reduces Load Times

    • C. 

      Reduces View State

    • D. 

      Improves Query Performance

  • 97. 
    There are user complaints about slow render times of a custom data table within a Visualforce page that loads thousands of Account records at once.
    • A. 

      Use the transient keyword in the Apex code when querying the Account records

    • B. 

      Use JavaScript remoting to query the accounts

    • C. 

      Use the standard Account List controller and implement pagination.

    • D. 

      Upload a third-party data table library as a static resource

  • 98. 
    Which scenario requires a developer to use an Apex callout instead of Outbound Messaging?
    • A. 

      The callout needs to be invoked from a Workflow Rule

    • B. 

      The callout needs to be asynchronous

    • C. 

      The target system uses a SOAP API

    • D. 

      The target system uses a REST API

  • 99. 
    Line   1 trigger ContactTrigger on Contact (before insert, before update) Line   2 { Line   3        Map accountmap = new map(); Line   4        for(Contact c : Trigger.new) Line   5        { Line   6                Account a = [SELECT Id, Name, BillingCountry FROM Account WHERE Id := c.AccountId]; Line   7                accountMap.put(a.Id, a); Line   8        } Line   9 Line 10        //Do stuff with accountMap Line 11        for (Contact c: Trigger.new)  Line 12        { Line 13                Account a= accountMap.get(c.AccountId); Line 14                if (a != null) Line 15                { Line 16                        c.BillingConutry = a.BillingCountry; Line 17                 } Line 18         } Line 19        Line 20         update Trigger.new; Line 21} Refer to the code segment above. When following best practices for writing Apex triggers, which two lines are wrong or cause for concern? Chose 2 answers
    • A. 

      Line 6

    • B. 

      Line 11

    • C. 

      Line 16

    • D. 

      Line 20

  • 100. 
    A developer is tasked with ensuring that email addresses entered into the system for Contacts and for a Custom Object called Survey_Response__c do not belong to a list of blacklisted domains. The list of blacklisted domains will be stored in a custom object for ease of maintenance by users. Note that the Survey_Response__c object is populated via a custom Visualforce page. What Is the optimal way to Implement this?
    • A. 

      Implement the logic in a helper class that is called by an Apex trigger on Contact and from the Custom Visualforce page controller

    • B. 

      Implement the logic in the Custom Visualforce page controller and call that method from an Apex trigger on Contact

    • C. 

      Implement the logic In a Validation Rule on the Contact and a Validation Rule on the Survey_Response_c object

    • D. 

      Implement the logic in an Apex trigger on Contact and also implement the logic within the Custom Visualforce page controller.

  • 101. 
    trigger ContactTrigger on Contact(before insert) {         List accountlds = new List();         for (Contact c : Trigger.new) {                  accountIds.add(c.AccountId);          }           for (Account a : (SELECT Id, Industry FROM Account WHERE Id  :accountIds){                   for (Contact c : Trigger.new) {                           if (c.AccountId == a.Id) {                                  ContactUtil.setDefaultsOnContact(c, a);                           }                   }            } } What can be done to improve the performance of the before Insert trigger shown above?
    • A. 

      For (Contact c: Trigger.new) {        ContactUtil.setDefaultsOnContact(c, c.Account); }

    • B. 

      Map conMap = new Map (       [SELECT id, Account.Industry FROM Contact WHERE Id: Trigger.newMap.keySet()]; for (Contact c: Trigger.new) {      ContactUtil.setDefaultsOnContact(c, conMap.get(c.Id).Account)); }

    • C. 

      Map conMap = new Map (       [SELECT id, Account.Industry FROM Contact WHERE Id: accountIds]; for (Contact c: Trigger.new) {      ContactUtil.setDefaultsOnContact(c, conMap.get(c.Id).Account)); }

    • D. 

      Map acctMap = new Map (       [SELECT id, Industry FROM Account WHERE Id: accountIds]; for (Contact c: Trigger.new) {      ContactUtil.setDefaultsOnContact(acctMap.get(c.AccountId)); }

  • 102. 
    How can a developer efficiently incorporate multiple JavaScript libraries, such as JQuery and MomentJS, in a Lightning Component?
    • A. 

      Implement the libraries in separate helper files

    • B. 

      Use lavaScript remoting and script tags

    • C. 

      Join multiple assets from a static resource

    • D. 

      Use CDNs with script attributes

  • 103. 
    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 Event Log Tab

    • B. 

      Salesforce Lightning Inspector Storage Tab

    • C. 

      Salesforce Lightning Inspector Actions Tab

    • D. 

      Salesforce Lightning Inspector Transactions Tab

  • 104. 
    How should a developer verify that a specific Account record is being tested in a test class for a Visualforce controller?
    • A. 

      Insert the Account in the test class, instantiate the page reference In the test class, then use System.currentPageReference().getParameters().put() to set the Account ID.

    • B. 

      Instantiate the page reference in the test class, insert the Account in the test class, then use seeAllData =true to view the Account

    • C. 

      Insert the Account into Salesforce, instantiate the page reference in the test class, then use System.setParentRecordld().get() to set the Account ID.

    • D. 

      Instantiate the page reference in the test class, insert the Account in the test class, then use System.setParentRecordld().get() to set the Account ID.

  • 105. 
    A developer is writing a Visualforce page that queries accounts In the system and presents a data table with the results. The users want to be able to filter the results based on up to five fields. However, the users want to pick the Ave fields to use as filter fields when they run the page. Which Apex code feature is required to facilitate this solution?
    • A. 

      Streaming API

    • B. 

      Dynamic variable binding

    • C. 

      Report API

    • D. 

      Dynamic SOQL

  • 106. 
    What is a benefit of using a WSDL with Apex?
    • A. 

      Reduces the number of caliouts to third-party web services

    • B. 

      Allows for web services to be tested and achieve code coverage

    • C. 

      Enables the user to not pass a Session ID wnere It is not necessary

    • D. 

      Allows for classes to be Imported into Salesforce

  • 107. 
    A developer has a test class that creates test data before making a mock call-out, but now receives a You have uncommitted work pending. Please commit or rollback before calling our error. What step should be taken to resolve the error?
    • A. 

      Ensure both the insertion and mock canout occur after the Test.stopTest

    • B. 

      Ensure the records are inserted before the Test.startTest() statement and the mock callout occurs within a method annotated with @testSetup.

    • C. 

      Ensure the records are Inserted before the Test.startTest() statement and the mock callout after the Test.startTest().

    • D. 

      Ensure both the insertion and mock callout occur after the Test.startTest()

  • 108. 
    Which statement should be used to allow some of the records in a list of records to be inserted if others fail to be inserted?
    • A. 

      Insert records

    • B. 

      Database.insert(records, false)

    • C. 

      Insert (records, false)

    • D. 

      Database.insert(records, true);

  • 109. 
    Which three Visualforce components can be used to initiate Ajax behavior to perform partial page updates? Choose 3 answers
    • A. 

      <apex:actionSupport>

    • B. 

      <apex:commandButton>

    • C. 

      <apex:form>

    • D. 

      <apex:actionStatus>

    • E. 

      <apex:commandLink>

  • 110. 
    An org contains two custom objects: Building__c and Office__c. Office__c has a Lookup field to Building__c. A developer is asked to automatically populate the Number_of_Offices__c field on the Building__c object with the count of related Office__c records anytime an Office__c record is created or deleted. The developer cannot modify the field types. Which solution meets the requirements?
    • A. 

      Flow

    • B. 

      Workflow

    • C. 

      Apex Trigger

    • D. 

      Process Builder

  • 111. 
    17 of 65. 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 Test class.

    • B. 

      The callouts will be made in an Apex Trigger.

    • C. 

      The callout could take longer than 60 seconds to complete.

    • D. 

      Over 10 callouts will be made in a single transaction.

  • 112. 
    UC Loans is a small company with a part time Salesforce administrator. UC Loans wants to create a Loan _c record whenever an 65. Opportunity is won. What is the optimal solution for UC Loans to accomplish this?
    • A. 

      Quick Action

    • B. 

      Apex Trigger

    • C. 

      Process Builder

    • D. 

      Workflow Rule

  • 113. 
    19 {!1.7.account.Name} {!v.account.AccountNumber} {!v.account.Industry} 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. 

      {!v.account.Name} {!v.account.AccountNumber} {!v.account.Industry}

    • B. 

      {!v.account.Name} {!v.account.AccountNumber} {!v.account.Industry}

    • C. 

      {!v.account.Name} {!v.account.AccountNumber} {!v.account.Industry}

    • D. 

      {!v.account.Name} {!>{!v.account.AccountNumber} {!>{!v.account.Industry}

  • 114. 
    20. @isTest static void testIncrement() { Account acct = new Account(Name = 'Test'); acct.NumberOf_Times_Viewed c = 0; insert acct; AuditUtil.incrementViewed(acct.Id); Account acctAfter = [SELECT NumberOfTimesViewed 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. 

      Change the assertion to System.assertEquals(0, acctAfter.Number_Of_Times_Viewed__c).

    • C. 

      Add Test.startTest() before and Test.stopTest() after AuditUtil.incrementViewed.

    • D. 

      Add Test.startTest() before and Test.stopTest() after insert acct.

  • 115. 
    21  A large company uses Salesforce across several departments. Each department has its own Salesforce Administrator. It was agreed that each Administrator would have their own sandbox in which to test changes. Recently, users notice that fields that were recently added for one department suddenly disappear without warning. Also, Workflows that once sent emails and created tasks no longer do so. Which two statements are true regarding these issues and resolution? Choose 2 answers
    • A. 

      A. A sandbox should be created to use as a unified testing environment instead of deploying Change Sets directly to production.

    • B. 

      B. Page Layouts should never be deployed via Change Sets, as this causes Workflows and Field-level Security to be reset and fields to disappear.

    • C. 

      C. The administrators are deploying their own Change Sets, thus deleting each other's fields from the objects in production.

    • D. 

      D. The administrators are deploying their own Change Sets over each other, thus replacing entire Page Layouts and Workflows in Production.

  • 116. 
    22. 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 24-hour period.

    • B. 

      Write a custom Apex web service that, given an email address, does all of the logic the integration code was doing.

    • C. 

      Create several Apex InboundEmailHandlers to accept calls from the third-party system, thus bypassing the API limits.

    • D. 

      Create an Inbound Message that, using Flow, can do all of the logic the integration code was doing.

  • 117. 
    23 of 65. Line 1 public class AttributeTypes Line 2 { Line 3 private final String[] arrayItems; Line 4 Line 5 @AuraEnabled Line 6 public List<String> getstringArray() { Line 7             String[' arrayItems = new String[]{ 'red', 'green', 'blue' }; Line 8 return arrayItems; Line 9              } Line 10  } 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

  • 118. 
    24 of A developer is writing a Visualforce page that queries accounts in the system and presents a data table with the results. The users want to be able to filter the results based on up to five fields. However, the users want to pick the five fields to use as filter fields when they run the page. Which feature of Apex code is required to facilitate this solution?
    • A. 

      REST API

    • B. 

      Dynamic Schema binding

    • C. 

      DescribeSObjects()

    • D. 

      SOSL queries

  • 119. 
    25 of 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' 65. 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. 

      A. List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account]){ a.Status = a.Type == 'Customer' 2 'Active' : 'Pending';  accountUpdates.add(a); }           update accountUpdates;

    • B. 

      B. Map statusMap = new Map{'Customer'=>'Active','Prospect'=>'Pending'} List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account WHERE Status IN :statusMap.keySet()]){ a.Status = statusMap.get(a.Type); accountUpdates.add(a);  } update accountUpdates;

    • C. 

      C. Map statusMap = new Map{'Customer'=>'Active','Prospect'=>'Pending'} List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account]){ if ( statusMap.containsKey(a.Type) ){ a.Status = a.Type == 'Customer' 2 'Active' : 'Pending'; accountUpdates.add(a); update accountUpdates; List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account]){ if ( String.isNotBlank(a.Type) && a.Type = 'Customer' ){  a.Status = 'Active'; if ( String.isNotBlank(a.Type) && a.Type = 'Prospect' ){ a.Status = 'Pending'; acccuntUpdates.add(a); update accountUpdates;

    • D. 

      D. List accountUpdates = new List(); for ( Account a : [SELECT Id, Type FROM Account]){             if(String.isNotBlank(a.Type)&& a.Type==’Customer’){                         a.Status = ‘Active’; } if(String.isNotBlank(a.Type)&& a.Type==Prospect){                         a.Status = ‘Pending; } accountUpdates.add(a); }         update accountUpdates;

  • 120. 
    26 of 65. 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. 

      A. Run the Apex Test Classes for the Apex trigger to ensure the code still has sufficient code coverage.

    • B. 

      B. Turn off all Workflow Rules, then turn them on one at at time to see which one causes the error.

    • C. 

      C. Add system.debug() statements to the code and use the Developer Console logs to trace the code.

    • D. 

      D. Set up debug logging for every Sales Rep, then monitor the logs for errors and exceptions.

  • 121. 
    27 of 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 2 answers
    • A. 

      A.  Lists of Custom Apex Classes cannot be returned by Apex Controllers called by Lightning Aura Components.

    • B. 

      B. Basic data types are supported, but defaults, such as maximum size for a number, are defined by the objects that they map to.

    • C. 

      C. A custom Apex Class can be returned, but only the values of public instance properties and methods annotated with @AuraEnabled are serialized and returned.

    • D. 

      D. Only Basic data types and sObjects are supported as return types for Apex Controllers called by Lightning Aura Components.

  • 122. 
    @isTest static void testAccountUpdate() { Account acct = new Account(Name = 'Test'); acct. Integration_Updated c = false; insert acct; CalloutUtil.sendAccountUpdate(acct.Id); AccounacctAfter = [SELECT Id, Integration_Updated_c FROM Account WHERE Id = :acct.Id][0]; System.assert(true, acctAfter.Integration_Updated c); } 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. 

      A. Add if (!Test.isRunningTest()) around CalloutUtil.sendAccountUpdate.

    • B. 

      B. Add Test.startTest() before and Test.stopTest() after CalloutUtil.sendAccountUpdate.

    • C. 

      C. Add Test.startTest() before and Test.setMock and Test.stopTest() after CalloutUtil.sendAccountUpdate.

    • D. 

      D. Add Test.startTest() and Test.setMock before and Test.stopTest() after CalloutUtil.sendAccountUpdate.

  • 123. 
    29 An Apex Trigger creates a Contract record every time an Opportunity record is marked as Closed and Won. This trigger is working great, except (due to a recent acquisition) historical Opportunity records need to be loaded into the Salesforce instance. When a test batch of records are loaded, the Apex Trigger creates Contract records. A developer is tasked with preventing Contract records from being created when mass loading the Opportunities, but the daily users still need to have the Contract records created. What is the most extendable way to update the Apex Trigger to accomplish this?
    • A. 

      A. Use a Hierarchy Custom Setting to disable the Trigger for the user who does the data loading.

    • B. 

      B. Add a Validation Rule to the Contract to prevent Contract creation by the user who does the data loading.

    • C. 

      C. Use a List Custom Setting to disable the Trigger for the user who does the data loading.

    • D. 

      D. Add the Profile Id of the user who does the data loading to the Trigger so the Trigger won't fire for this user.

  • 124. 
    30 of 65. What is the optimal technique a developer should use to programmatically retrieve Global Picklist options in a Test Method?
    • A. 

      A. Perform a callout to the Metadata API.

    • B. 

      B. Use the shema namespace.

    • C. 

      C. Perform a SOQL Query.

    • D. 

      D. Use a static resource.

  • 125. 
    31 of 65. A developer gets an error saying 'Maximum Trigger Depth Exceeded.' What is a possible reason to get this error message?
    • A. 

      A. The SOQL governor limits are being hit. B.

    • B. 

      B. Process Builder is running that sends mass emails.

    • C. 

      C. recursively invoked more than 16 times.

    • D. 

      D. There are numerous DML operations in the trigger logic.

  • 126. 
    32 of A company notices that their unit tests in a test class with many methods to create many records for prerequisite reference data are slow. What can a developer to do address the issue?
    • A. 

      A. Move the prerequisite reference data setup to a TestDataFactory and call that from each test method. II

    • B. 

      B. Move the prerequisite reference data setup to the constructor for the test class.

    • C. 

      C. Move the prerequisite reference data setup to a static method in the test class and call that from each test method.

    • D. 

      D. Move the prerequisite reference data setup to a @testSetup method in the test class.

  • 127. 
    33 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. 

      Create an Apex trigger and make a callout to the OMS from the trigger.

    • 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. 

      Generate the Enterprise WSDL and use it to make a callout to the OMS.