@palerock/exam-qa 1.0.6-patch19 → 1.0.6-patch20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map +1 -1
  2. package/lib-json/Dev1/346/250/241/346/213/237/345/215/267A.json +2 -2
  3. package/lib-json/Dev1/346/265/201/347/250/213/350/207/252/345/212/250/345/214/226/344/270/216/351/200/273/350/276/2211.json +2 -2
  4. package/lib-json/[DEV2]Salesforce/345/237/272/347/241/200.json +375 -0
  5. package/lib-json/[DEV2]/346/200/247/350/203/275.json +728 -0
  6. package/lib-json/[DEV2]/346/250/241/346/213/237/345/215/267A.json +1403 -0
  7. package/lib-json/[DEV2]/346/250/241/346/213/237/345/215/267B.json +1387 -0
  8. package/lib-json/[DEV2]/346/265/213/350/257/225/344/270/216/351/203/250/347/275/262.json +828 -0
  9. package/lib-json/[DEV2]/347/224/250/346/210/267/347/225/214/351/235/2421.json +977 -0
  10. package/lib-json/[DEV2]/347/224/250/346/210/267/347/225/214/351/235/2422.json +667 -0
  11. package/lib-json/[DEV2]/351/200/273/350/276/221/343/200/201/346/265/201/347/250/213/350/207/252/345/212/250/345/214/226/345/222/214/351/233/206/346/210/2201.json +1387 -0
  12. package/lib-json/[DEV2]/351/200/273/350/276/221/343/200/201/346/265/201/347/250/213/350/207/252/345/212/250/345/214/226/345/222/214/351/233/206/346/210/2202.json +260 -0
  13. package/lib-json/map.json +9 -0
  14. package/package.json +2 -1
  15. package/lib-json/Salesforce-Admin(302)-[Set-10].json +0 -321
  16. package/lib-json/Salesforce-Admin(302)-[Set-1].json +0 -301
  17. package/lib-json/Salesforce-Admin(302)-[Set-2].json +0 -325
  18. package/lib-json/Salesforce-Admin(302)-[Set-3].json +0 -305
  19. package/lib-json/Salesforce-Admin(302)-[Set-4].json +0 -325
  20. package/lib-json/Salesforce-Admin(302)-[Set-5].json +0 -329
  21. package/lib-json/Salesforce-Admin(302)-[Set-6].json +0 -322
  22. package/lib-json/Salesforce-Admin(302)-[Set-7].json +0 -321
  23. package/lib-json/Salesforce-Admin(302)-[Set-8].json +0 -321
  24. package/lib-json/Salesforce-Admin(302)-[Set-9].json +0 -325
  25. package/lib-json/Salesforce-Admin-201-[Set-10].json +0 -769
  26. package/lib-json/Salesforce-Admin-201-[Set-1].json +0 -604
  27. package/lib-json/Salesforce-Admin-201-[Set-2].json +0 -621
  28. package/lib-json/Salesforce-Admin-201-[Set-3].json +0 -650
  29. package/lib-json/Salesforce-Admin-201-[Set-4].json +0 -636
  30. package/lib-json/Salesforce-Admin-201-[Set-5].json +0 -640
  31. package/lib-json/Salesforce-Admin-201-[Set-6].json +0 -640
  32. package/lib-json/Salesforce-Admin-201-[Set-7].json +0 -592
  33. package/lib-json/Salesforce-Admin-201-[Set-8].json +0 -539
  34. package/lib-json/Salesforce-Admin-201-[Set-9].json +0 -539
  35. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-1].json +0 -321
  36. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-2].json +0 -325
  37. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-3].json +0 -321
  38. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-4].json +0 -337
  39. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-5].json +0 -329
  40. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-6].json +0 -325
  41. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-7].json +0 -480
  42. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-1].json +0 -305
  43. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-2].json +0 -297
  44. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-3].json +0 -269
  45. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-4].json +0 -309
  46. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-5].json +0 -515
  47. package/lib-json/app-builder-01.json +0 -1
  48. package/lib-json/app-builder-02.json +0 -1
  49. package/lib-json/app-builder-03.json +0 -1
  50. package/lib-json/app-builder-04.json +0 -1
  51. package/lib-json/app-builder-05.json +0 -1
  52. package/lib-json/app-builder-06.json +0 -1
  53. package/lib-json/app-builder-07.json +0 -1
  54. package/lib-json/app-builder-08.json +0 -1
  55. package/lib-json/app-builder-09.json +0 -1
  56. package/lib-json/app-builder-10.json +0 -1
  57. package/lib-json/app-builder-11.json +0 -311
@@ -0,0 +1,1387 @@
1
+ {
2
+ "title": "逻辑、流程自动化和集成1",
3
+ "category": "Dev2-自由部落侠",
4
+ "questions": [
5
+ {
6
+ "describe": "A company represents their customers as Accounts that have an External ID field called Customer_Number__c. They have a custom object, Order__c, with a Lookup to Account to represent Orders that are placed in their external order management system(OMS).\nWhen 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.\nWhat is the optimal way to implement this?",
7
+ "answerOptions": [
8
+ {
9
+ "describe": "Perform a REST PATCH to upsert the Order__c and specify the Account's Customer_Number__c in it.",
10
+ "isRight": true
11
+ },
12
+ {
13
+ "describe": "Perform a REST GET on the Account and a REST POST to update the Order__c with the Account's record ID.",
14
+ "isRight": false
15
+ },
16
+ {
17
+ "describe": "Perform a REST POST to update the Order__c and specify the Account's Customer_Number__c in it.",
18
+ "isRight": false
19
+ },
20
+ {
21
+ "describe": "Perform a REST GET on the Account and a REST PATCH to upsert the Order__c with the Account's record ID.",
22
+ "isRight": false
23
+ }
24
+ ],
25
+ "hashCode": "2019147343",
26
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_upsert.htm\nIf you have an object that references another object using a relationship, you can use REST API to both insert or update a record and reference another object using an external ID."
27
+ },
28
+ {
29
+ "describe": "UC uses Salesforce to manage its product offerings to customers.\nA developer is building a custom mobile app that must allow app users to view product information, in real time, that is stored in Salesforce.\nWhat should the developer use to get the product information from Salesforce?",
30
+ "answerOptions": [
31
+ {
32
+ "describe": "SOAP API",
33
+ "isRight": false
34
+ },
35
+ {
36
+ "describe": "User Interface API",
37
+ "isRight": false
38
+ },
39
+ {
40
+ "describe": "Streaming API",
41
+ "isRight": false
42
+ },
43
+ {
44
+ "describe": "REST API",
45
+ "isRight": true
46
+ }
47
+ ],
48
+ "hashCode": "2019147319",
49
+ "analysis": ""
50
+ },
51
+ {
52
+ "describe": "A developer is writing a Listener for implementing outbound messaging.\nWhich three considerations must the developer keep in mind in this case? Choose 3 answers",
53
+ "answerOptions": [
54
+ {
55
+ "describe": "Messages can be delivered out of order.",
56
+ "isRight": true
57
+ },
58
+ {
59
+ "describe": "Messages are retried independent of their order in the queue.",
60
+ "isRight": true
61
+ },
62
+ {
63
+ "describe": "The sessionId in an outbound message is scoped for both API requests and UI requests.",
64
+ "isRight": false
65
+ },
66
+ {
67
+ "describe": "The Organization ID is included only in the first outbound message.",
68
+ "isRight": false
69
+ },
70
+ {
71
+ "describe": "The Listener must be reachable from the public Internet.",
72
+ "isRight": true
73
+ }
74
+ ],
75
+ "hashCode": "2019147312",
76
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_om_outboundmessaging_notifications.htm\nhttps://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_om_outboundmessaging_security.htm\nhttps://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_om_outboundmessaging_listener.htm"
77
+ },
78
+ {
79
+ "describe": "An org has an existing process, built using Process Builder, on Opportunity that sets a custom field, CommissionBaseAmount__c, when an Opportunity is edited and the Opportunity's Amount changes.\nA developer recently deployed an Opportunity before update trigger that uses the CommissionBaseAmount__c and complex logic to calculate a value for a custom field, CommissionAmount__c, when an Opportunity stage changes to Closed/Won.\nUsers report that when they change the Opportunity to Closed/Won and also change the Amount during the same save, the CommissionAmount__c is incorrect.\nWhich action should the developer take to correct this problem?",
80
+ "answerOptions": [
81
+ {
82
+ "describe": "Call the trigger from the process.",
83
+ "isRight": false
84
+ },
85
+ {
86
+ "describe": "Replace the process with a Fast Field Update record-trigger flow.",
87
+ "isRight": true
88
+ },
89
+ {
90
+ "describe": "Call the process from the trigger.",
91
+ "isRight": false
92
+ }
93
+ ],
94
+ "hashCode": "2019146636",
95
+ "analysis": ""
96
+ },
97
+ {
98
+ "describe": "Which use case can be performed only by using asynchronous Apex?",
99
+ "answerOptions": [
100
+ {
101
+ "describe": "Updating a record after the completion of an insert",
102
+ "isRight": false
103
+ },
104
+ {
105
+ "describe": "Querying tens of thousands of records",
106
+ "isRight": false
107
+ },
108
+ {
109
+ "describe": "Calling a web service from an Apex trigger",
110
+ "isRight": true
111
+ },
112
+ {
113
+ "describe": "Making a call to schedule a batch process to complete in the future",
114
+ "isRight": false
115
+ }
116
+ ],
117
+ "hashCode": "2019146635",
118
+ "analysis": ""
119
+ },
120
+ {
121
+ "describe": "A company uses Salesforce to sell products to customers. They also have an external product information management (PIM) system that is the system of record for products.\nA developer received these requirements:\n--Whenever a product is created or updated in the PIM, a product must be created or updated as a Product2 record in Salesforce and a PricebookEntry record must be created or updated automatically by Salesforce.\n--The PricebookEntry should be created In a Pricebook2 that Is specified In a custom setting.\nWhat should the developer use to satisfy these requirements?",
122
+ "answerOptions": [
123
+ {
124
+ "describe": "Apex REST",
125
+ "isRight": true
126
+ },
127
+ {
128
+ "describe": "Event Monitoring",
129
+ "isRight": false
130
+ },
131
+ {
132
+ "describe": "Invocable Action",
133
+ "isRight": false
134
+ },
135
+ {
136
+ "describe": "SObject Tree",
137
+ "isRight": false
138
+ }
139
+ ],
140
+ "hashCode": "2019146630",
141
+ "analysis": ""
142
+ },
143
+ {
144
+ "describe": "As part of point-to-point integration, a developer must call an external web service which, due to high demand, takes a long time to provide a response. As part of the request, the developer must collect key inputs from the end user before making the callout.\nWhich two elements should the developer use to implement these business requirements?\nChoose 2 answers",
145
+ "answerOptions": [
146
+ {
147
+ "describe": "Screen Flow",
148
+ "isRight": true
149
+ },
150
+ {
151
+ "describe": "Lightning web component",
152
+ "isRight": false
153
+ },
154
+ {
155
+ "describe": "Process Builder",
156
+ "isRight": false
157
+ },
158
+ {
159
+ "describe": "Apex method that returns a Continuation object",
160
+ "isRight": true
161
+ }
162
+ ],
163
+ "hashCode": "2019146606",
164
+ "analysis": ""
165
+ },
166
+ {
167
+ "describe": "Consider the following code snippet:\nHttpRequest req = NEW HttpRequest();\nreq. setEndpoint ('htps://TestEndpoint.example.com/some_path');\nreq. setMethod('GET');\nBlob headervalue = Blob.valueof ('myUserName' + : + 'strongPassword'); .\nstring authorizationHeader = 'BASIC” + EncodingUtil.base64Encode (headerValue);\nreq. setHeader('Authorization', authorizationHeader);\nHttp http = new Http();\nHTTPResponse res = http.send(req);\n\nWhich two steps should the developer take to add flexibility to change the endpoint and credentials without needing to modify code?\nChoose 2 answers",
168
+ "answerOptions": [
169
+ {
170
+ "describe": "Store the URL of the endpoint in a custom Label named endPointURL.",
171
+ "isRight": false
172
+ },
173
+ {
174
+ "describe": "Create a Named Credential, endpoint_NC,to store the endpoint and credentials.",
175
+ "isRight": true
176
+ },
177
+ {
178
+ "describe": "Use req. setEndpoint('callout : endPoint_NC'); within the callout request.",
179
+ "isRight": true
180
+ },
181
+ {
182
+ "describe": "Use req. setEndpoint (Label.endPointURL);.",
183
+ "isRight": false
184
+ }
185
+ ],
186
+ "hashCode": "2019146605",
187
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_callouts_named_credentials.htm"
188
+ },
189
+ {
190
+ "describe": "Salesforce users consistently receive a \"Maximum trigger depth exceeded\" error when saving an Account.\nHow can a developer fix this error?",
191
+ "answerOptions": [
192
+ {
193
+ "describe": "Split the trigger logic into two separate triggers.",
194
+ "isRight": false
195
+ },
196
+ {
197
+ "describe": "Use a helper class to set a Boolean to TRUE the first time a trigger Is fired, and then modify the trigger to only fire when the Boolean is FALSE.",
198
+ "isRight": true
199
+ },
200
+ {
201
+ "describe": "Convert the trigger to use the @future annotation, and chain any subsequent trigger invocations to the Account object.",
202
+ "isRight": false
203
+ },
204
+ {
205
+ "describe": "Modify the trigger to use the isMultiThread=true annotation.",
206
+ "isRight": false
207
+ }
208
+ ],
209
+ "hashCode": "2019146599",
210
+ "analysis": ""
211
+ },
212
+ {
213
+ "describe": "What is a benefit of using a WSDL with Apex?",
214
+ "answerOptions": [
215
+ {
216
+ "describe": "Enables the user to not pass a Session ID where it is not necessary",
217
+ "isRight": false
218
+ },
219
+ {
220
+ "describe": "Reduces the number of callouts to third-party web services",
221
+ "isRight": false
222
+ },
223
+ {
224
+ "describe": "Allows for web services to be tested and achieve code coverage",
225
+ "isRight": false
226
+ },
227
+ {
228
+ "describe": "Allows for classes to be generated from WSDL and imported into Salesforce",
229
+ "isRight": true
230
+ }
231
+ ],
232
+ "hashCode": "2019146600",
233
+ "analysis": ""
234
+ },
235
+ {
236
+ "describe": "Users upload .csv files in an external system to create account and contact records in Salesforce. Up to 2000 records can be created at a time.\nThe users need to wait for a response from Salesforce in the external system, but the data does not need to synchronize between the two systems.\nBased on these requirements, which method should a developer use to create the records in Salesforce?",
237
+ "answerOptions": [
238
+ {
239
+ "describe": "REST API request using coapouite/batch/",
240
+ "isRight": false
241
+ },
242
+ {
243
+ "describe": "REST API request using composite/tree/",
244
+ "isRight": false
245
+ },
246
+ {
247
+ "describe": "Apex web services",
248
+ "isRight": false
249
+ },
250
+ {
251
+ "describe": "Bulk API 2.0 !",
252
+ "isRight": true
253
+ }
254
+ ],
255
+ "hashCode": "2019146577",
256
+ "analysis": ""
257
+ },
258
+ {
259
+ "describe": "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.\nHow should the developer implement error exception handling in their code to handle this?",
260
+ "answerOptions": [
261
+ {
262
+ "describe": "Use Database methods to obtain lists of Database .saveResults.",
263
+ "isRight": false
264
+ },
265
+ {
266
+ "describe": "Use Database. setsavepoint() and Database. rollBack() with a try-catch statement.",
267
+ "isRight": true
268
+ },
269
+ {
270
+ "describe": "Use a try-catch statement and handle DML cleanup in the catch statement.",
271
+ "isRight": false
272
+ },
273
+ {
274
+ "describe": "Use a try-catch and use sobject. addError() on any failures.",
275
+ "isRight": false
276
+ }
277
+ ],
278
+ "hashCode": "2019146575",
279
+ "analysis": ""
280
+ },
281
+ {
282
+ "describe": "As part of a custom development, a developer creates a Lightning component to show how a particular opportunity progresses over time. The component must display the date stamp when any of the following fields change:\n Amount, Probability, Stage, or Close Date\nHow should the developer access the data that must be displayed?",
283
+ "answerOptions": [
284
+ {
285
+ "describe": "Create a custom date field on Opportunity for each field to track the previous date and execute a SOQL query for date fields.",
286
+ "isRight": false
287
+ },
288
+ {
289
+ "describe": "Execute a SOQL query for Amount, Probability, Stage, and Close Date on the OpportunityHistory object.",
290
+ "isRight": true
291
+ },
292
+ {
293
+ "describe": "Subscribe to the OpportunityHistory Change Data Capture event in the Lightning component.",
294
+ "isRight": false
295
+ },
296
+ {
297
+ "describe": "Subscribe to the Opportunity Change Data Capture event in the Lightning component.",
298
+ "isRight": false
299
+ }
300
+ ],
301
+ "hashCode": "2019146574",
302
+ "analysis": ""
303
+ },
304
+ {
305
+ "describe": "A company has a custom object, order__c, that has a required, unique external ID field called Order_Number_ c.\nWhich statement should be used to perform the DML necessary to insert new records and update existing records in a list of order_.\nrecords using the external ID field?",
306
+ "answerOptions": [
307
+ {
308
+ "describe": "upsert orders Order_Number_c;",
309
+ "isRight": true
310
+ },
311
+ {
312
+ "describe": "upsert orders;",
313
+ "isRight": false
314
+ },
315
+ {
316
+ "describe": "merge orders;",
317
+ "isRight": false
318
+ },
319
+ {
320
+ "describe": "merge orders Order_Number_c;",
321
+ "isRight": false
322
+ }
323
+ ],
324
+ "hashCode": "2019146569",
325
+ "analysis": ""
326
+ },
327
+ {
328
+ "describe": "A company accepts orders for customers in their enterprise resource planning (ERP) system that must be integrated into Salesforce as order__c records with a lookup field to Account. The Account object has an external ID field,ERP_Customer_ID__c.\nWhat should the integration use to create new Order_c records that will automatically be related to the correct Account?",
329
+ "answerOptions": [
330
+ {
331
+ "describe": "Insert on the Order_c object followed by an update on the order_c object.",
332
+ "isRight": false
333
+ },
334
+ {
335
+ "describe": "Upsert on the Account and specify the ERP_Customer_ID_c for the relationship.",
336
+ "isRight": false
337
+ },
338
+ {
339
+ "describe": "Merge on the order_c object and specify the ERP_Customer_ID_c for the Account relationship.",
340
+ "isRight": false
341
+ },
342
+ {
343
+ "describe": "Upsert on the order_e object and specify the ERP_Customer_ID_c for the Account relationship.",
344
+ "isRight": true
345
+ }
346
+ ],
347
+ "hashCode": "2019146544",
348
+ "analysis": ""
349
+ },
350
+ {
351
+ "describe": "Universal Containers (UC) has custom Order and Order Line objects that represent orders placed by its customers.\nA developer has a new requirement that UC's external enterprise resource planning(ERP) system must be able to integrate with Salesforce to create orders for existing customers in Salesforce whenever an order is placed in the ERP system.\nWhat should the developer use to create the orders in Salesforce?",
352
+ "answerOptions": [
353
+ {
354
+ "describe": "Connect API",
355
+ "isRight": true
356
+ },
357
+ {
358
+ "describe": "Change Data Capture API",
359
+ "isRight": false
360
+ },
361
+ {
362
+ "describe": "SObject Tree API",
363
+ "isRight": false
364
+ },
365
+ {
366
+ "describe": "Event Monitoring API",
367
+ "isRight": false
368
+ }
369
+ ],
370
+ "hashCode": "2019146543",
371
+ "analysis": ""
372
+ },
373
+ {
374
+ "describe": "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.\nWhat is the optimal way to update the Accounts from the external system?",
375
+ "answerOptions": [
376
+ {
377
+ "describe": "Apex REST web Service",
378
+ "isRight": false
379
+ },
380
+ {
381
+ "describe": "Composite REST API",
382
+ "isRight": false
383
+ },
384
+ {
385
+ "describe": "SOAP API",
386
+ "isRight": false
387
+ },
388
+ {
389
+ "describe": "Bulk API",
390
+ "isRight": true
391
+ }
392
+ ],
393
+ "hashCode": "2019146540",
394
+ "analysis": ""
395
+ },
396
+ {
397
+ "describe": "An org has a process Builder process on Opportunity that sets a custom field,commnissionBaseAccount_c, when an Opportunity is edited and the Opportunity's Amount changes.\nA developer recently deployed an Opportunity before update trigger that uses the commnissionBaseAccount_c and complex logic to calculate a value for a custom field,commnissionBaseAccount_c when an Opportunity stage changes to Closed/Won.\nUsers report that when they change the Opportunity to Closed/Won and also change the Amount during the same save,the commnissionBaseAccount_c is incorrect.\nWhich two actions should the developer take to correct this problem?\nChoose 2 answers",
398
+ "answerOptions": [
399
+ {
400
+ "describe": "Call the trigger from the process.",
401
+ "isRight": true
402
+ },
403
+ {
404
+ "describe": "Uncheck the recursion checkbox on the process.",
405
+ "isRight": false
406
+ },
407
+ {
408
+ "describe": "Use a static Boolean variable in the trigger.",
409
+ "isRight": true
410
+ },
411
+ {
412
+ "describe": "Call the process from the trigger.",
413
+ "isRight": false
414
+ }
415
+ ],
416
+ "hashCode": "2019146538",
417
+ "analysis": ""
418
+ },
419
+ {
420
+ "describe": "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.\nWhat is the correct way to automate this using an Apex trigger?",
421
+ "answerOptions": [
422
+ {
423
+ "describe": "A before upsert trigger that creates the Engineering Review record and inserts it",
424
+ "isRight": false
425
+ },
426
+ {
427
+ "describe": "An after update trigger that creates the Engineering Review record and inserts it.",
428
+ "isRight": true
429
+ },
430
+ {
431
+ "describe": "A before update trigger that creates the Engineering Review record and inserts it.",
432
+ "isRight": false
433
+ },
434
+ {
435
+ "describe": "An after upsert trigger that creates the Engineering Review record and inserts it.",
436
+ "isRight": false
437
+ }
438
+ ],
439
+ "hashCode": "2019146514",
440
+ "analysis": ""
441
+ },
442
+ {
443
+ "describe": "Universal Containers needs to integrate with an external system. The process is initiated when a record is created in Salesforce. The remote system does not require Salesforce to wait for a response before continuing.\nWhat should the developer use to accomplish this?",
444
+ "answerOptions": [
445
+ {
446
+ "describe": "Trigger with HTTP callout",
447
+ "isRight": false
448
+ },
449
+ {
450
+ "describe": "PushTopic event",
451
+ "isRight": false
452
+ },
453
+ {
454
+ "describe": "Outbound message",
455
+ "isRight": true
456
+ },
457
+ {
458
+ "describe": "Platform event",
459
+ "isRight": false
460
+ }
461
+ ],
462
+ "hashCode": "2019146510",
463
+ "analysis": ""
464
+ },
465
+ {
466
+ "describe": "Universal Containers needs to integrate with their own, existing, internal custom web application. The web application accepts JSON payloads, resizes product images, and sends the resized images back to Salesforce.\nWhat should the developer use to implement this integration?",
467
+ "answerOptions": [
468
+ {
469
+ "describe": "An Apex trigger that calls an @future method that allows callouts.",
470
+ "isRight": false
471
+ },
472
+ {
473
+ "describe": "A flow that calls an @future method that allows callouts.",
474
+ "isRight": false
475
+ },
476
+ {
477
+ "describe": "A platform event that makes a callout to the web application.",
478
+ "isRight": true
479
+ },
480
+ {
481
+ "describe": "A workflow rule with an outbound message that contains a session ID.",
482
+ "isRight": false
483
+ }
484
+ ],
485
+ "hashCode": "2019146508",
486
+ "analysis": ""
487
+ },
488
+ {
489
+ "describe": "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.\nWhat is the optimal way to achieve this?",
490
+ "answerOptions": [
491
+ {
492
+ "describe": "Create a Workflow Rule, execute a Queueable job from it, and make a callout from the Queueable job.",
493
+ "isRight": false
494
+ },
495
+ {
496
+ "describe": "Create an Apex trigger, execute a Queueable job from it, and make a callout from the Queueable job.",
497
+ "isRight": true
498
+ },
499
+ {
500
+ "describe": "Create a Before Save Flow, execute a Queueable job from it, and make a callout from the Queueable job.",
501
+ "isRight": false
502
+ },
503
+ {
504
+ "describe": "Create a Process, execute a Queueable job from it, and make a callout from the Queueable job.",
505
+ "isRight": false
506
+ }
507
+ ],
508
+ "hashCode": "2019146506",
509
+ "analysis": ""
510
+ },
511
+ {
512
+ "describe": "What should a developer use to query all Account fields for the Acme account in their sandbox?",
513
+ "answerOptions": [
514
+ {
515
+ "describe": "SELECT . FROM Account WHERE Name = 'Acme' LIMIT 1",
516
+ "isRight": false
517
+ },
518
+ {
519
+ "describe": "SELECT ALL FROM Account WHERE Name = 'Acme' LIMIT 1",
520
+ "isRight": false
521
+ },
522
+ {
523
+ "describe": "SELECT FIELDS FROM Account WHERE Name = 'Acme' LIMIT 1",
524
+ "isRight": false
525
+ },
526
+ {
527
+ "describe": "SELECT FIELDS(ALL) FROM Account WHERE Name = 'Acme' LIMIT 1",
528
+ "isRight": true
529
+ }
530
+ ],
531
+ "hashCode": "2019146479",
532
+ "analysis": ""
533
+ },
534
+ {
535
+ "describe": "A business requires that ever parent record must have a child record. A developer writes an Apex method with two DML statements to insert a parent record and a child record.\nA validation rule blocks child records from being created. The method uses a try/catch block to handle the DML exception.\nWhat should the developer do to ensure the parent always has a child record?",
536
+ "answerOptions": [
537
+ {
538
+ "describe": "Use Database.inert() and set the allOrNone parameter to true.",
539
+ "isRight": false
540
+ },
541
+ {
542
+ "describe": "Use addError{} on the parent record i an error occurs on the child record.",
543
+ "isRight": false
544
+ },
545
+ {
546
+ "describe": "Set a database savepoint to rollback it there are errors.",
547
+ "isRight": true
548
+ },
549
+ {
550
+ "describe": "Delete the parent record in the catch statement when an error occurs on the child record DML operaton.",
551
+ "isRight": false
552
+ }
553
+ ],
554
+ "hashCode": "2019146478",
555
+ "analysis": ""
556
+ },
557
+ {
558
+ "describe": "A developer is working with existing functionality that tracks how many times a stage has changed for an Opportunity. When the Opportunity's stage is changed,a workflow rule is fired to increase the valve of a field by one. The developer wrote an after trigger to create a child record when the field Changes from 4 to 5.\nA user changes the stage of an Opportunity and manually sets the count field to 4. The count field updates to 5, but the child record s not created.\nWhat is the reason this happening?",
559
+ "answerOptions": [
560
+ {
561
+ "describe": "After triggers fire before workflow rules.",
562
+ "isRight": false
563
+ },
564
+ {
565
+ "describe": "After triggers are not fired after field updates.",
566
+ "isRight": false
567
+ },
568
+ {
569
+ "describe": "Trigger .new does not change after a field update.",
570
+ "isRight": true
571
+ },
572
+ {
573
+ "describe": "Trigger.old does not contain the updated value of the count field.",
574
+ "isRight": false
575
+ }
576
+ ],
577
+ "hashCode": "2019146475",
578
+ "analysis": ""
579
+ },
580
+ {
581
+ "describe": "A developer writes a Lightning web component that displays a dropdown list of all custom objects in the org from which a user will select. An Apex method prepares and returns data to the component.\nWhat should the developer do to determine which objects to include in the response?",
582
+ "answerOptions": [
583
+ {
584
+ "describe": "Check the isCustom() value on the sObject describe result.",
585
+ "isRight": true
586
+ },
587
+ {
588
+ "describe": "Use the getCustomObject() method from the Schema class.",
589
+ "isRight": false
590
+ },
591
+ {
592
+ "describe": "Import the list of all custom objects from salesforce/schema.",
593
+ "isRight": false
594
+ },
595
+ {
596
+ "describe": "Check the getObjectType() value for 'Custom' or 'Standard' on the sObject describe result.",
597
+ "isRight": false
598
+ }
599
+ ],
600
+ "hashCode": "2019146452",
601
+ "analysis": ""
602
+ },
603
+ {
604
+ "describe": "UC needs to integrate with a Heroku service that resizes product images submitted by users.\nWhat are two alternatives to implement the integration and protect against maliclous calls to the Heroku app's endpoint? \nChoose 2 answers",
605
+ "answerOptions": [
606
+ {
607
+ "describe": "Create a Workflow Rule with an Outbound Message allowing the Heroku app to automatically store the resized images in Salesforce.",
608
+ "isRight": false
609
+ },
610
+ {
611
+ "describe": "Create a trigger that uses an @future Apex HTTP callout passing JSON serialized data; therefore the Heroku app can automatically reply back to the callout \nwith the resized images in Salesforce.",
612
+ "isRight": false
613
+ },
614
+ {
615
+ "describe": "Create a Workflow Rule with an Outbound Message and select Send Session ID so that the Heroku app can use it to send the resized images back to Salesforce.",
616
+ "isRight": true
617
+ },
618
+ {
619
+ "describe": "Create a trigger that uses an @future Apex HTTP callout passing JSON serialized data and some form of pre-shared secret key, so that the Heroku app can \nauhenticate requests and store the resized images in Salesforce.",
620
+ "isRight": true
621
+ }
622
+ ],
623
+ "hashCode": "2019146449",
624
+ "analysis": ""
625
+ },
626
+ {
627
+ "describe": "A developer is writing code that requires making callouts to an external web service. \nWhich scenario necessitates that the callout be made in an @future method?",
628
+ "answerOptions": [
629
+ {
630
+ "describe": "Over 10 callouts will be made in a single transaction.",
631
+ "isRight": false
632
+ },
633
+ {
634
+ "describe": "The callouts will be made in an Apex Trigger.",
635
+ "isRight": true
636
+ },
637
+ {
638
+ "describe": "The callouts will be made in an Apex Test class.",
639
+ "isRight": false
640
+ },
641
+ {
642
+ "describe": "The callout could take longer than 60 seconds to complete.",
643
+ "isRight": false
644
+ }
645
+ ],
646
+ "hashCode": "2019146448",
647
+ "analysis": ""
648
+ },
649
+ {
650
+ "describe": "A Visualforce page needs to make a callout to get billing information and tax information from two different REST endpoints. The information \nneeds to be displayed to the user at the same time and the return value of the billing information contains the input for the tax information \ncallout. Each endpoint might take up to two minutes to process.\n\nHow should a developer implement the callouts?",
651
+ "answerOptions": [
652
+ {
653
+ "describe": "An HTTP REST callout for the billing callout and a Continuation for the tax callout",
654
+ "isRight": true
655
+ },
656
+ {
657
+ "describe": "A Continuation for the biliing callout and an HTTP REST callout for the tax callout",
658
+ "isRight": false
659
+ },
660
+ {
661
+ "describe": "A Continuation for both the billing callout and the tax callout",
662
+ "isRight": false
663
+ },
664
+ {
665
+ "describe": "An HTTP REST callout for both the billing callout and the tax callout",
666
+ "isRight": false
667
+ }
668
+ ],
669
+ "hashCode": "2019146447",
670
+ "analysis": ""
671
+ },
672
+ {
673
+ "describe": "A developer is tasked with ensuring that email addresses entered into the system for Contacts and for a Custom Object called \nSurvey_Response__c do not belong to a list of blocked domains. The list of blocked domains will be stored in a custom object for ease of \nmaintenance by users. Note that the Survey_Response__c object is populated via a custom Visualforce page.\n\nWhat is the optimal way to implement this?",
674
+ "answerOptions": [
675
+ {
676
+ "describe": "Implement the logic in a Validation Rule on the Contact and a Validation Rule on the Survey_Response__c object.",
677
+ "isRight": false
678
+ },
679
+ {
680
+ "describe": "Implement the logic in an Apex trigger on Contact and also implement the logic within the Custom Visualforce page controller.",
681
+ "isRight": false
682
+ },
683
+ {
684
+ "describe": "Implement the logic in a helper class that is called by an Apex trigger on Contact and from the Custom Visualforte page controller.",
685
+ "isRight": true
686
+ },
687
+ {
688
+ "describe": "Implement the logic in the Custom Visualforce page controller and call that method from an Apex trigger on Contact.",
689
+ "isRight": false
690
+ }
691
+ ],
692
+ "hashCode": "2019146445",
693
+ "analysis": ""
694
+ },
695
+ {
696
+ "describe": "UC stores user preferences in a Hierarchy Custom Setting, User_Prefs__c, with a Checkbox field, Show_Help__c. Company-level defaults are stored at the organizational level, but may be overridden at the user level. If a user has not overridden preferences, then the defaults should be used.\n\nHow should the Show_Help__c preference be retrieved for the current user?",
697
+ "answerOptions": [
698
+ {
699
+ "describe": "Boolean show = User_Prefs__c.Show_Help__c;",
700
+ "isRight": false
701
+ },
702
+ {
703
+ "describe": "Boolean show = User_Prefs__c.getValues(UserInfo.getUserId( )).Show_Help__c;",
704
+ "isRight": false
705
+ },
706
+ {
707
+ "describe": "Boolean show = User_Prefs__c.getInstance( ).Show_Help__c;",
708
+ "isRight": true
709
+ },
710
+ {
711
+ "describe": "Boolean show = User_Prefs__c.getValues( ).Show_Help__c;",
712
+ "isRight": false
713
+ }
714
+ ],
715
+ "hashCode": "2019146422",
716
+ "analysis": ""
717
+ },
718
+ {
719
+ "describe": "A company uses a custom-built enterprise resource planning (ERP) system to handle order management. The company wants Sales Reps to \nknow 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 \nstatus and tracking number if it is already shipped.\n\nWhich two methods can make this ERP order data visible in Salesforce? Choose 2 answers",
720
+ "answerOptions": [
721
+ {
722
+ "describe": "Use Salesforce Connect to view real-time Order data in the ERP system.",
723
+ "isRight": true
724
+ },
725
+ {
726
+ "describe": "Write a cron job in Salesforce to poll the ERP system for order updates.",
727
+ "isRight": false
728
+ },
729
+ {
730
+ "describe": "Have the ERP system push the data into Salesforce using the SOAP API.",
731
+ "isRight": true
732
+ },
733
+ {
734
+ "describe": "Ensure real-time order data is in Salesforce using the Streaming API.",
735
+ "isRight": false
736
+ }
737
+ ],
738
+ "hashCode": "2019146421",
739
+ "analysis": ""
740
+ },
741
+ {
742
+ "describe": "UC uses Big Objects to store almost a billion customer transactions called Customer_Transaction__b.\nThese are the fields on Customer_Transaction__b.\nAccount__c\nProgram__c\nPoints_Earned__c\nLocation__c\nTransaction_Date__c\nThe following fields have been identified as Index Fields for the Customer_Transaction__b object: Account__c, Program__c, and Transaction_Date__c.\nWhich SOQL query is valid on the Customer_Transaction__b Big object?",
743
+ "answerOptions": [
744
+ {
745
+ "describe": "SELECT Account__c, Program__c, Transaction_Date__c FROM Customer_Transaction__b WHERE Account__c = '001R000000302D3' AND Program__c = 'Shoppers' AND \nTransaction_Date__c = 2019-05-31T00:00Z",
746
+ "isRight": true
747
+ },
748
+ {
749
+ "describe": "SELECT Account__c, Program__c, Transaction_Date__c FROM Customer_Transaction__b WHERE Account__c = '001R000000302D3' AND Program__c LIKE 'Shop%' AND \nTransaction_Date__c = 2019-05-31T00:00Z",
750
+ "isRight": false
751
+ },
752
+ {
753
+ "describe": "SELECT Account__c, Program__c, Transaction_Date__c FROM Customer_Transaction__b WHERE Account__c = '001R000000302D3' AND Program__c INCLUDES ( 'Shoppers', 'Womens') AND Transaction_Date__c = 2019-05-31T00:00Z",
754
+ "isRight": false
755
+ },
756
+ {
757
+ "describe": "SELECT Account__c, Program__c, Transaction_Date__c FROM Customer_Transaction__b WHERE Account__c = '001R000000302D3' AND Program__c EXCLUDES ( 'Shoppers', 'Womens') AND Transaction_Date__c = 2019-05-31T00:00Z",
758
+ "isRight": false
759
+ }
760
+ ],
761
+ "hashCode": "2019146418",
762
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/big_object_querying.htm"
763
+ },
764
+ {
765
+ "describe": "A developer wrote an Apex class to make several callouts to an external system.\nIf the URLs used in these callouts will change often, which feature should the developer use to minimize changes needed to the Apex class?",
766
+ "answerOptions": [
767
+ {
768
+ "describe": "Remote Site Settings",
769
+ "isRight": false
770
+ },
771
+ {
772
+ "describe": "Connected Apps",
773
+ "isRight": false
774
+ },
775
+ {
776
+ "describe": "Named Credentials",
777
+ "isRight": true
778
+ },
779
+ {
780
+ "describe": "Session Id",
781
+ "isRight": false
782
+ }
783
+ ],
784
+ "hashCode": "2019146414",
785
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_callouts_named_credentials.htm"
786
+ },
787
+ {
788
+ "describe": "A company has a custom object, Order__C, that has a custom picklist field, Status__c, with values of 'New,' 'In Progress,' or 'Fulfilled' and a lookup field, Contact__c, to Contact.\nWhich SOQL query will return a unique list of all the Contact records that have no 'Fulfilled' Orders?",
789
+ "answerOptions": [
790
+ {
791
+ "describe": "SELECT Contact__c FROM Order__c WHERE Status__c <> 'Fulfilled'",
792
+ "isRight": false
793
+ },
794
+ {
795
+ "describe": "SELECT Id FROM Contact WHERE Id NOT IN (SELECT Contact__c FROM Order__c WHERE Status__c = 'Fulfilled')",
796
+ "isRight": true
797
+ },
798
+ {
799
+ "describe": "SELECT Id FROM Contact WHERE Id NOT IN (SELECT Id FROM Order__c WHERE Status__c = 'Fulfilled')",
800
+ "isRight": false
801
+ },
802
+ {
803
+ "describe": "SELECT Contact__c FROM Order__c WHERE Id NOT IN (SELECT Id FROM Order__c Where Status__c = 'Fulfilled')",
804
+ "isRight": false
805
+ }
806
+ ],
807
+ "hashCode": "2019146389",
808
+ "analysis": ""
809
+ },
810
+ {
811
+ "describe": "UC has an existing automation where a custom record called Account Plan is created upon an Account being marked as a Customer. \nRecently, a Workflow Rule was added so that whenever an Account is marked as a Customer, a 'Customer Since' date field is updated \nwith today's date.\nNow, since the addition of the Workflow Rule, two Account Plan records are created whenever the Account is marked as a Customer.\nWhat might cause this to happen?",
812
+ "answerOptions": [
813
+ {
814
+ "describe": "The Apex Trigger responsible for the record creation does not use a static variable to ensure it only fires once.",
815
+ "isRight": true
816
+ },
817
+ {
818
+ "describe": "The Process Builder responsible for the record creation fires before and after the Workflow rule.",
819
+ "isRight": false
820
+ },
821
+ {
822
+ "describe": "The Workflow Rule responsible for the record creation fires twice because the 'Customer Since' field Update is marked as 'Re-evaloate \nWorkflow Rules After Field Change.'",
823
+ "isRight": false
824
+ },
825
+ {
826
+ "describe": "The Apex Trigger responsible for the record creation is not bulk safe and calls insert inside of a for loop.",
827
+ "isRight": false
828
+ }
829
+ ],
830
+ "hashCode": "2019146387",
831
+ "analysis": ""
832
+ },
833
+ {
834
+ "describe": "Which statement is considered a best practice for writing bulk safe Apex Triggers?",
835
+ "answerOptions": [
836
+ {
837
+ "describe": "Add records to collections and perform DML operations against these collections.",
838
+ "isRight": true
839
+ },
840
+ {
841
+ "describe": "Perform all DML operations from within a Future Method.",
842
+ "isRight": false
843
+ },
844
+ {
845
+ "describe": "Instead of DML statements, use the Database methods with allOrNone set to False.",
846
+ "isRight": false
847
+ },
848
+ {
849
+ "describe": "Add LIMIT 50000 to every SOQL statement.",
850
+ "isRight": false
851
+ }
852
+ ],
853
+ "hashCode": "2019146386",
854
+ "analysis": ""
855
+ },
856
+ {
857
+ "describe": "UC wants to use an external Web Service provided by a third-party vendor to validate that shipping and billing addresses are correct.\nThe current vendor uses basic password authentication, but UC might switch to a different vendor who uses Oauth.\nWhich approach follows best practices and allows UC to switch vendors without updating the code to handle authentication?",
858
+ "answerOptions": [
859
+ {
860
+ "describe": "Custom Setting(List)",
861
+ "isRight": false
862
+ },
863
+ {
864
+ "describe": "Named Credential",
865
+ "isRight": true
866
+ },
867
+ {
868
+ "describe": "Custom Metadata",
869
+ "isRight": false
870
+ },
871
+ {
872
+ "describe": "Dynamic Endpoint",
873
+ "isRight": false
874
+ }
875
+ ],
876
+ "hashCode": "2019146384",
877
+ "analysis": "https://help.salesforce.com/articleView?id=external_authentication.htm&type=5"
878
+ },
879
+ {
880
+ "describe": "After a Platform Event is defined in a Salesforce org, events can be published via which two mechanisms? Choose 2 answers",
881
+ "answerOptions": [
882
+ {
883
+ "describe": "Internal Apps can use Outbound Messages.",
884
+ "isRight": false
885
+ },
886
+ {
887
+ "describe": "Internal Apps can use Process Builder.",
888
+ "isRight": true
889
+ },
890
+ {
891
+ "describe": "External Apps require the standard Streaming API.",
892
+ "isRight": true
893
+ },
894
+ {
895
+ "describe": "External Apps use an API to publish event messages.",
896
+ "isRight": false
897
+ }
898
+ ],
899
+ "hashCode": "2019146382",
900
+ "analysis": ""
901
+ },
902
+ {
903
+ "describe": "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.\n Which is the optimal method to implement this in Salesforce?",
904
+ "answerOptions": [
905
+ {
906
+ "describe": "Apex REST Callout",
907
+ "isRight": false
908
+ },
909
+ {
910
+ "describe": "Apex REST Web Service",
911
+ "isRight": true
912
+ },
913
+ {
914
+ "describe": "Apex SOAP Web Service",
915
+ "isRight": false
916
+ },
917
+ {
918
+ "describe": "Apex SOAP Callout",
919
+ "isRight": false
920
+ }
921
+ ],
922
+ "hashCode": "2019146360",
923
+ "analysis": ""
924
+ },
925
+ {
926
+ "describe": "A company represents their customers as Accounts in Salesforce. All customers have a unique Customer_Number__c that is unique across all of \nthe company's systems. They also have a custom Invoice__c object, with a Lookup to Account, to represent invoices that are sent out from\ntheir 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.\n\nWhat is the optimal way to implement this?",
927
+ "answerOptions": [
928
+ {
929
+ "describe": "Use Salesforce Connect and external data objects to seamlessly import the invoice data into Salesforce without custom code.",
930
+ "isRight": false
931
+ },
932
+ {
933
+ "describe": "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.",
934
+ "isRight": true
935
+ },
936
+ {
937
+ "describe": "Create a cross-reference table in the custom invoicing system with the Salesforce Account ID of each Customer and insert invoice data nightly.",
938
+ "isRight": false
939
+ },
940
+ {
941
+ "describe": "Query the Account Object upon each call to insert invoice data to fetch the Salesforce ID corresponding to the Customer Number on the invoice.",
942
+ "isRight": false
943
+ }
944
+ ],
945
+ "hashCode": "2019146359",
946
+ "analysis": ""
947
+ },
948
+ {
949
+ "describe": "A business process requires sending new Account records to an external system. The Account Name, Id, CreatedDate, and CreatedByld must \nbe passed to the external system in near real-time when an Account is inserted without error.\n\nHow should a developer achieve this?",
950
+ "answerOptions": [
951
+ {
952
+ "describe": "Use a before insert trigger and an @future method.",
953
+ "isRight": false
954
+ },
955
+ {
956
+ "describe": "Use a before insert trigger and a Queueable class.",
957
+ "isRight": false
958
+ },
959
+ {
960
+ "describe": "Use a Process Builder that calls an @InvocableMethod method.",
961
+ "isRight": true
962
+ },
963
+ {
964
+ "describe": "Use a Workflow rule that calls an @InvocableMethod method.",
965
+ "isRight": false
966
+ }
967
+ ],
968
+ "hashCode": "2019146357",
969
+ "analysis": ""
970
+ },
971
+ {
972
+ "describe": "What is the optimal technique a developer should use to programmatically retrieve Global Picklist options in a Test Method?",
973
+ "answerOptions": [
974
+ {
975
+ "describe": "Perform a SOQL Query.",
976
+ "isRight": false
977
+ },
978
+ {
979
+ "describe": "Use the Schema namespace,",
980
+ "isRight": true
981
+ },
982
+ {
983
+ "describe": "Perform a callout to the Metadata API,",
984
+ "isRight": false
985
+ },
986
+ {
987
+ "describe": "Use a static resource.",
988
+ "isRight": false
989
+ }
990
+ ],
991
+ "hashCode": "2019146354",
992
+ "analysis": ""
993
+ },
994
+ {
995
+ "describe": "A developer wants to write a generic Apex method that will compare the Salesforce Name field between any two object records. For example, to compare the Name field of an Account and an Opportunity; or the Name of an Account and a Contact.\nHow should the developer do this?",
996
+ "answerOptions": [
997
+ {
998
+ "describe": "Use a String.replace( ) method to parse the contents of each Name field.",
999
+ "isRight": false
1000
+ },
1001
+ {
1002
+ "describe": "Invoke a Schema.describe( ) function to compare the values of each Name field.",
1003
+ "isRight": false
1004
+ },
1005
+ {
1006
+ "describe": "Use the Salesforce Metadata API to extract the value of each object and compare the Name fields. ",
1007
+ "isRight": false
1008
+ },
1009
+ {
1010
+ "describe": "Cast each object into an sObject and use sObject.get(`Name`) to compare the Name fields.",
1011
+ "isRight": true
1012
+ }
1013
+ ],
1014
+ "hashCode": "2019146353",
1015
+ "analysis": ""
1016
+ },
1017
+ {
1018
+ "describe": "A developer needs to send Account records to an external system for backup purposes. The process must take a snapshot of Accounts as they\nare saved and then make a callout to a RESTful web service. The web service can only receive, at most, one record per call.\n\nWhich feature should be used to implememt these requirements?",
1019
+ "answerOptions": [
1020
+ {
1021
+ "describe": "Queueable",
1022
+ "isRight": false
1023
+ },
1024
+ {
1025
+ "describe": "Workflow",
1026
+ "isRight": false
1027
+ },
1028
+ {
1029
+ "describe": "@future",
1030
+ "isRight": false
1031
+ },
1032
+ {
1033
+ "describe": "Process Builder",
1034
+ "isRight": true
1035
+ }
1036
+ ],
1037
+ "hashCode": "2019145674",
1038
+ "analysis": ""
1039
+ },
1040
+ {
1041
+ "describe": "A company has an Apex process that makes multiple extensive database operations and web service callouts. The database processes and web services can take a long time to run and must be run sequentially.\nHow should the developer write this Apex code without running into governor limits and system limitations?",
1042
+ "answerOptions": [
1043
+ {
1044
+ "describe": "Use Limits class to stop entire process once governor limits are reached.",
1045
+ "isRight": false
1046
+ },
1047
+ {
1048
+ "describe": "Use Queueable Apex to chain the jobs to run sequentially.",
1049
+ "isRight": true
1050
+ },
1051
+ {
1052
+ "describe": "Use Apex Scheduler to schedule each process.",
1053
+ "isRight": false
1054
+ },
1055
+ {
1056
+ "describe": "Use multiple @future methods for each process and callout.",
1057
+ "isRight": false
1058
+ }
1059
+ ],
1060
+ "hashCode": "2019146352",
1061
+ "analysis": ""
1062
+ },
1063
+ {
1064
+ "describe": "A developer is asked to build a solution that will automatically send an email to the Customer when an Opportunity stage changes. The solution \nmust scale to allow for 10,000 emails per day. The criteria to send the email should be evaluated after all Workflow Rules have fired.\n\nWhat is the optimal way to accomplish this?",
1065
+ "answerOptions": [
1066
+ {
1067
+ "describe": "Use a MassEmailMessage() with an Apex Trigger.",
1068
+ "isRight": false
1069
+ },
1070
+ {
1071
+ "describe": "Use a SingleEmailMessage() with an Apex Trigger.",
1072
+ "isRight": false
1073
+ },
1074
+ {
1075
+ "describe": "Use an Email Alert with Process Builder",
1076
+ "isRight": true
1077
+ },
1078
+ {
1079
+ "describe": "Use a Workflow Email Alert.",
1080
+ "isRight": false
1081
+ }
1082
+ ],
1083
+ "hashCode": "2019145671",
1084
+ "analysis": ""
1085
+ },
1086
+ {
1087
+ "describe": "Business rules require a Contact to always be create when a new Account is created.\nWhat can be used when developing a custom screen to ensure an Account is not created if the creation of the Contact fails?",
1088
+ "answerOptions": [
1089
+ {
1090
+ "describe": "Use setSavePoint( ) and rollback( ) with a try/catch block.",
1091
+ "isRight": true
1092
+ },
1093
+ {
1094
+ "describe": "Use the Database.Delete method if the Contact insertion fails.",
1095
+ "isRight": false
1096
+ },
1097
+ {
1098
+ "describe": "Use the Database.Insert method with allOrNone set to False.",
1099
+ "isRight": false
1100
+ },
1101
+ {
1102
+ "describe": "Disable Validation rules on Contacts and set default values witha Trigger.",
1103
+ "isRight": false
1104
+ }
1105
+ ],
1106
+ "hashCode": "2019145670",
1107
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_transaction_control.htm"
1108
+ },
1109
+ {
1110
+ "describe": "A developer creates an application event that has triggered an infinite loop. \nWhat may have caused this problem?",
1111
+ "answerOptions": [
1112
+ {
1113
+ "describe": "The event is fired from a custom renderer.",
1114
+ "isRight": true
1115
+ },
1116
+ {
1117
+ "describe": "The event handler calls a trigger.",
1118
+ "isRight": false
1119
+ },
1120
+ {
1121
+ "describe": "An event is fired 'ontouchend' and is unhandled.",
1122
+ "isRight": false
1123
+ },
1124
+ {
1125
+ "describe": "The event has multiple handlers registered in the project.",
1126
+ "isRight": false
1127
+ }
1128
+ ],
1129
+ "hashCode": "2019145669",
1130
+ "analysis": ""
1131
+ },
1132
+ {
1133
+ "describe": "Which two relationship queries use the proper syntax? Choose 2 answers",
1134
+ "answerOptions": [
1135
+ {
1136
+ "describe": "SELECT Name, (SELECT LastName FROM Contacts) FROM Account",
1137
+ "isRight": true
1138
+ },
1139
+ {
1140
+ "describe": "SELECT Id, Name, Account__r.Name FROM Contact WHERE Account__r.Industry = 'Media'",
1141
+ "isRight": false
1142
+ },
1143
+ {
1144
+ "describe": "SELECT Name, (SELECT LastName FROM Contacts__r) FROM Account",
1145
+ "isRight": false
1146
+ },
1147
+ {
1148
+ "describe": "SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = 'Media'",
1149
+ "isRight": true
1150
+ }
1151
+ ],
1152
+ "hashCode": "2019145643",
1153
+ "analysis": ""
1154
+ },
1155
+ {
1156
+ "describe": "A developer gets an error saying 'Maximum Trigger Depth Exceeded.'\nWhat is a possible reason to get this error message?",
1157
+ "answerOptions": [
1158
+ {
1159
+ "describe": "The SOQL governor limits are being hit.",
1160
+ "isRight": false
1161
+ },
1162
+ {
1163
+ "describe": "There are numerous DML operations in the trigger logic.",
1164
+ "isRight": false
1165
+ },
1166
+ {
1167
+ "describe": "A trigger is recursively invoked more than 16 times.",
1168
+ "isRight": true
1169
+ },
1170
+ {
1171
+ "describe": "A Process Builder is running that sends mass emails.",
1172
+ "isRight": false
1173
+ }
1174
+ ],
1175
+ "hashCode": "2019145639",
1176
+ "analysis": "https://developer.salesforce.com/forums/?id=9060G000000UXiMQAW"
1177
+ },
1178
+ {
1179
+ "describe": "Which scenario requires a developer to use an Apex callout instead of Outbound Messaging?",
1180
+ "answerOptions": [
1181
+ {
1182
+ "describe": "The target system uses a SOAP API.",
1183
+ "isRight": false
1184
+ },
1185
+ {
1186
+ "describe": "The target system uses a REST API.",
1187
+ "isRight": true
1188
+ },
1189
+ {
1190
+ "describe": "The callout needs to be invoked from a Workflow Rule.",
1191
+ "isRight": false
1192
+ },
1193
+ {
1194
+ "describe": "The callout needs to be asynchronous.",
1195
+ "isRight": false
1196
+ }
1197
+ ],
1198
+ "hashCode": "2019145638",
1199
+ "analysis": ""
1200
+ },
1201
+ {
1202
+ "describe": "The salesforce instance at UC currently integrates with a third-party company to validate mailing addresses via REST services. The third-party address verification system recently changed endpoint URLs for all their services from https://th-address-service.3pc.com to https://plc1- mallservice.3pc.com. Everything else remained the same. The developer updated code to reflect this endpoint change, but the mailing address validation service stopped working after the change.\n\n What else should be done to complete this web service endpoint change?",
1203
+ "answerOptions": [
1204
+ {
1205
+ "describe": "Create a new Remote Site for the new endpoint URL.",
1206
+ "isRight": true
1207
+ },
1208
+ {
1209
+ "describe": "Add web service IP addresses to Trusted IP Ranges in the Network Access security controls settings.",
1210
+ "isRight": false
1211
+ },
1212
+ {
1213
+ "describe": "Use a custom Setting with the new endpoint instead of hard coding the URL.",
1214
+ "isRight": false
1215
+ },
1216
+ {
1217
+ "describe": "Test the callout properly using HttpCalloutMock.",
1218
+ "isRight": false
1219
+ }
1220
+ ],
1221
+ "hashCode": "2019145614",
1222
+ "analysis": ""
1223
+ },
1224
+ {
1225
+ "describe": "A corporation has many different Salesforce orgs, with some different objects and some common objects, and wants to build a single Java application that can create, retrieve, and update common object records in all of the different orgs.\n\nWhich method of integration should the application use?",
1226
+ "answerOptions": [
1227
+ {
1228
+ "describe": "Metadata API",
1229
+ "isRight": false
1230
+ },
1231
+ {
1232
+ "describe": "Apex REST Web Service",
1233
+ "isRight": false
1234
+ },
1235
+ {
1236
+ "describe": "SOAP API with the Partner WSDL",
1237
+ "isRight": true
1238
+ },
1239
+ {
1240
+ "describe": "SOAP API with the Enterprise WSDL",
1241
+ "isRight": false
1242
+ }
1243
+ ],
1244
+ "hashCode": "2019145610",
1245
+ "analysis": ""
1246
+ },
1247
+ {
1248
+ "describe": "A company wants to implement a new call center process for handling customer service calls. It requires service reps to ask for the caller's account number before proceeding with the rest of their call script.\n\n Following best practices, what should a developer use to meet this requirement?",
1249
+ "answerOptions": [
1250
+ {
1251
+ "describe": "Approvals",
1252
+ "isRight": false
1253
+ },
1254
+ {
1255
+ "describe": "Flow Builder",
1256
+ "isRight": true
1257
+ },
1258
+ {
1259
+ "describe": "Apex Trigger",
1260
+ "isRight": false
1261
+ },
1262
+ {
1263
+ "describe": "Process Builder",
1264
+ "isRight": false
1265
+ }
1266
+ ],
1267
+ "hashCode": "2019145608",
1268
+ "analysis": ""
1269
+ },
1270
+ {
1271
+ "describe": "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.\n\n What is the optimal way to implement these requirements?",
1272
+ "answerOptions": [
1273
+ {
1274
+ "describe": "Write an after update trigger on Contact for the Is Prlmary logic and a separate before update trigger on Contact for the last name logic.",
1275
+ "isRight": false
1276
+ },
1277
+ {
1278
+ "describe": "Write an after update trigger on Account for the Is Primary logic and a before update trigger on Contact for the last name logic.",
1279
+ "isRight": false
1280
+ },
1281
+ {
1282
+ "describe": "Write a Validation Rule on the Contact for the Is Primary logic and a before update trigger on Contact for the last name logic.",
1283
+ "isRight": false
1284
+ },
1285
+ {
1286
+ "describe": "Write a single trigger on Contact for both after update and before update and callout to helper classes to handle each set of logic.",
1287
+ "isRight": true
1288
+ }
1289
+ ],
1290
+ "hashCode": "2019145607",
1291
+ "analysis": ""
1292
+ },
1293
+ {
1294
+ "describe": "A developer has a requirement to query three fields (Id, Name, Type) from an Account and First and Last names for all Contacts associated with the Account.\n Which option is the preferred optimized method to achieve this for the Account named 'Ozone Electronics'?",
1295
+ "answerOptions": [
1296
+ {
1297
+ "describe": "Account a= [SELECT ID, Name, Type FROM Account WHERE name='Ozone Electronics'];\nList lcontacts = [SELECT firstname, lastname FROM Contact WHERE accountid=:a.ID];",
1298
+ "isRight": false
1299
+ },
1300
+ {
1301
+ "describe": "List lAccounts = [SELECT ID, Name, Type FROM Account JOIN(SELECT ID, firstname, lastname FROM Contact \nWHERE contact.account.name = 'ozone electronics)];",
1302
+ "isRight": false
1303
+ },
1304
+ {
1305
+ "describe": "List lcontacts = new list();\n for (Contact c :[SELEcT firstname, lastname, Account.Name,Account.ID,Account.Type FROM Contact WHERE Account.Name='ozone electronics']) { lContacts.add(c);}",
1306
+ "isRight": false
1307
+ },
1308
+ {
1309
+ "describe": "Account a= [SELECT ID, Name,Type,(SELECT FirstName, LastName FROM Contacts) FROM Account WHERE name='Ozone Electronics' LIMIT 1];",
1310
+ "isRight": true
1311
+ }
1312
+ ],
1313
+ "hashCode": "2019145583",
1314
+ "analysis": ""
1315
+ },
1316
+ {
1317
+ "describe": "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.\nConsider 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.\nWhat will happen when the mass update occurs?",
1318
+ "answerOptions": [
1319
+ {
1320
+ "describe": "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 \nprocessed by DML statements.",
1321
+ "isRight": false
1322
+ },
1323
+ {
1324
+ "describe": "The mass update will fail, since the two triggers fire in the same context, thus exceeding the number of records processed by DML \nstatements.",
1325
+ "isRight": true
1326
+ },
1327
+ {
1328
+ "describe": "The mass update of Account address will succeed, but the Contact address updates will fail due to exceeding number of records \nprocessed by DML statements.",
1329
+ "isRight": false
1330
+ },
1331
+ {
1332
+ "describe": "There will be no error, since the limit on the number of records processed by DML statements is 50,000.",
1333
+ "isRight": false
1334
+ }
1335
+ ],
1336
+ "hashCode": "2019145580",
1337
+ "analysis": ""
1338
+ },
1339
+ {
1340
+ "describe": "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 display it.\n\nWhich method of integration is optimal?",
1341
+ "answerOptions": [
1342
+ {
1343
+ "describe": "SOAP API",
1344
+ "isRight": false
1345
+ },
1346
+ {
1347
+ "describe": "REST API",
1348
+ "isRight": false
1349
+ },
1350
+ {
1351
+ "describe": "Apex SOAP Web Service",
1352
+ "isRight": false
1353
+ },
1354
+ {
1355
+ "describe": "Apex REST Web Service",
1356
+ "isRight": true
1357
+ }
1358
+ ],
1359
+ "hashCode": "2019145579",
1360
+ "analysis": ""
1361
+ },
1362
+ {
1363
+ "describe": "A developer is integrating with a legacy on-premise SQL database.\nWhat should the developer use to ensure the data being integrated is matched to the right records in Salesforce?",
1364
+ "answerOptions": [
1365
+ {
1366
+ "describe": "Formula field",
1367
+ "isRight": false
1368
+ },
1369
+ {
1370
+ "describe": "External Id field",
1371
+ "isRight": true
1372
+ },
1373
+ {
1374
+ "describe": "Lookup field",
1375
+ "isRight": false
1376
+ },
1377
+ {
1378
+ "describe": "External Object",
1379
+ "isRight": false
1380
+ }
1381
+ ],
1382
+ "hashCode": "2019145577",
1383
+ "analysis": ""
1384
+ }
1385
+ ],
1386
+ "hashCode": "-2054096398"
1387
+ }