@palerock/exam-qa 1.0.6-patch2 → 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 (83) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/static/css/app.4293d3540537974d843eca825dcda382.css +2 -0
  3. package/dist/static/css/app.4293d3540537974d843eca825dcda382.css.map +1 -0
  4. package/dist/static/js/app.e278f9557d317b4606b0.js +2 -0
  5. package/dist/static/js/app.e278f9557d317b4606b0.js.map +1 -0
  6. package/dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map +1 -1
  7. package/lib-json/Dev1/345/237/272/347/241/200/351/242/230.json +1407 -0
  8. package/lib-json/Dev1/346/250/241/346/213/237/345/215/267A.json +1538 -0
  9. package/lib-json/Dev1/346/250/241/346/213/237/345/215/267B.json +1534 -0
  10. 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 +1587 -0
  11. 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/2212.json +1042 -0
  12. package/lib-json/Dev1/346/265/213/350/257/225_/350/260/203/350/257/225_/351/203/250/347/275/262.json +928 -0
  13. package/lib-json/Dev1/347/224/250/346/210/267/347/225/214/351/235/242.json +1243 -0
  14. package/lib-json/[DEV2]Salesforce/345/237/272/347/241/200.json +375 -0
  15. package/lib-json/[DEV2]/346/200/247/350/203/275.json +728 -0
  16. package/lib-json/[DEV2]/346/250/241/346/213/237/345/215/267A.json +1403 -0
  17. package/lib-json/[DEV2]/346/250/241/346/213/237/345/215/267B.json +1387 -0
  18. package/lib-json/[DEV2]/346/265/213/350/257/225/344/270/216/351/203/250/347/275/262.json +828 -0
  19. package/lib-json/[DEV2]/347/224/250/346/210/267/347/225/214/351/235/2421.json +977 -0
  20. package/lib-json/[DEV2]/347/224/250/346/210/267/347/225/214/351/235/2422.json +667 -0
  21. 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
  22. 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
  23. package/lib-json/[JS]/347/254/254/344/270/200/347/253/240 /345/217/230/351/207/217-/347/261/273/345/236/213-/351/233/206/345/220/210.json" +1048 -0
  24. package/lib-json/[JS]/347/254/254/344/270/203/347/253/240 /346/265/213/350/257/225.json" +356 -0
  25. package/lib-json/[JS]/347/254/254/344/270/211/347/253/240 /346/265/217/350/247/210/345/231/250/345/222/214/344/272/213/344/273/266.json" +851 -0
  26. package/lib-json/[JS]/347/254/254/344/272/214/347/253/240 /345/257/271/350/261/241-/345/207/275/346/225/260-/347/261/273.json" +1787 -0
  27. package/lib-json/[JS]/347/254/254/344/272/224/347/253/240 /345/274/202/346/255/245/347/274/226/347/250/213.json" +547 -0
  28. package/lib-json/[JS]/347/254/254/345/205/255/347/253/240 /346/234/215/345/212/241/345/231/250/347/253/257JavaScript.json" +613 -0
  29. package/lib-json/[JS]/347/254/254/345/233/233/347/253/240 /350/260/203/350/257/225/345/222/214/351/224/231/350/257/257/345/244/204/347/220/206.json" +525 -0
  30. package/lib-json/[/345/222/270/351/261/274]AppBuilder-1.json +977 -0
  31. package/lib-json/[/345/222/270/351/261/274]AppBuilder-2.json +941 -0
  32. package/lib-json/[/345/222/270/351/261/274]AppBuilder-3.json +973 -0
  33. package/lib-json/[/345/222/270/351/261/274]AppBuilder-4.json +981 -0
  34. package/lib-json/[/345/222/270/351/261/274]AppBuilder-5.json +771 -0
  35. package/lib-json/map.json +28 -43
  36. package/package.json +4 -2
  37. package/dist/static/css/app.d3e969a579969be885a3462a1e12e37f.css +0 -2
  38. package/dist/static/css/app.d3e969a579969be885a3462a1e12e37f.css.map +0 -1
  39. package/dist/static/js/app.53370ddfe5eba6a10565.js +0 -2
  40. package/dist/static/js/app.53370ddfe5eba6a10565.js.map +0 -1
  41. package/lib-json/Salesforce-Admin(302)-[Set-10].json +0 -321
  42. package/lib-json/Salesforce-Admin(302)-[Set-1].json +0 -301
  43. package/lib-json/Salesforce-Admin(302)-[Set-2].json +0 -325
  44. package/lib-json/Salesforce-Admin(302)-[Set-3].json +0 -305
  45. package/lib-json/Salesforce-Admin(302)-[Set-4].json +0 -325
  46. package/lib-json/Salesforce-Admin(302)-[Set-5].json +0 -329
  47. package/lib-json/Salesforce-Admin(302)-[Set-6].json +0 -322
  48. package/lib-json/Salesforce-Admin(302)-[Set-7].json +0 -321
  49. package/lib-json/Salesforce-Admin(302)-[Set-8].json +0 -321
  50. package/lib-json/Salesforce-Admin(302)-[Set-9].json +0 -325
  51. package/lib-json/Salesforce-Admin-201-[Set-10].json +0 -158
  52. package/lib-json/Salesforce-Admin-201-[Set-1].json +0 -604
  53. package/lib-json/Salesforce-Admin-201-[Set-2].json +0 -621
  54. package/lib-json/Salesforce-Admin-201-[Set-3].json +0 -650
  55. package/lib-json/Salesforce-Admin-201-[Set-4].json +0 -636
  56. package/lib-json/Salesforce-Admin-201-[Set-5].json +0 -640
  57. package/lib-json/Salesforce-Admin-201-[Set-6].json +0 -126
  58. package/lib-json/Salesforce-Admin-201-[Set-7].json +0 -126
  59. package/lib-json/Salesforce-Admin-201-[Set-8].json +0 -126
  60. package/lib-json/Salesforce-Admin-201-[Set-9].json +0 -126
  61. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-1].json +0 -321
  62. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-2].json +0 -325
  63. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-3].json +0 -321
  64. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-4].json +0 -337
  65. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-5].json +0 -329
  66. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-6].json +0 -325
  67. package/lib-json/Salesforce-Certified-Platform-Developer-1-[Set-7].json +0 -480
  68. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-1].json +0 -305
  69. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-2].json +0 -297
  70. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-3].json +0 -269
  71. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-4].json +0 -309
  72. package/lib-json/Salesforce-Sales-Cloud-Certification(81)-[Set-5].json +0 -515
  73. package/lib-json/app-builder-01.json +0 -1
  74. package/lib-json/app-builder-02.json +0 -1
  75. package/lib-json/app-builder-03.json +0 -1
  76. package/lib-json/app-builder-04.json +0 -1
  77. package/lib-json/app-builder-05.json +0 -1
  78. package/lib-json/app-builder-06.json +0 -1
  79. package/lib-json/app-builder-07.json +0 -1
  80. package/lib-json/app-builder-08.json +0 -1
  81. package/lib-json/app-builder-09.json +0 -1
  82. package/lib-json/app-builder-10.json +0 -1
  83. package/lib-json/app-builder-11.json +0 -311
@@ -0,0 +1,728 @@
1
+ {
2
+ "title": "性能",
3
+ "category": "Dev2-自由部落侠",
4
+ "questions": [
5
+ {
6
+ "describe": "Universal Containers (UC) calculates commissions on their Opportunities in different ways based on complex rules that vary depending on the line of business of the Opportunity.\nWhenever a new line of business is added to Salesforce at UC, it is likely that a different calculation will need to be added too. When an Opportunity's stage is changed to Closed/Won, its commission should be calculated in real time.\nWhat should a developer use so that different implementations of the commission calculation can be invoked on the stage change?",
7
+ "answerOptions": [
8
+ {
9
+ "describe": "A final class with multiple methods",
10
+ "isRight": false
11
+ },
12
+ {
13
+ "describe": "Apex Describe Schema methods",
14
+ "isRight": false
15
+ },
16
+ {
17
+ "describe": "An Apex class with a custom enum",
18
+ "isRight": true
19
+ },
20
+ {
21
+ "describe": "An Interface and implementing classes.",
22
+ "isRight": false
23
+ }
24
+ ],
25
+ "hashCode": "2019147321",
26
+ "analysis": ""
27
+ },
28
+ {
29
+ "describe": "In an organization that has multi-currency enabled, a developer is tasked with building a Lightning component that displays the top ten Opportunities most recently accessed by the logged in user. The developer must ensure tha Amount and LastModifiedDate field values are displayed according to the user's locale.\nWhat is the most effective approach to ensure values displayed respect the user's locale settings?",
30
+ "answerOptions": [
31
+ {
32
+ "describe": "Use the FORMAT() function in the SOQL query.",
33
+ "isRight": true
34
+ },
35
+ {
36
+ "describe": "Use REGEX expressions to format the values retrieved via SOQL.",
37
+ "isRight": false
38
+ },
39
+ {
40
+ "describe": "Use a wrapper class to format the values retrieved via SOQL.",
41
+ "isRight": false
42
+ },
43
+ {
44
+ "describe": "Use the FOR VIEN clause in the SOQL query.",
45
+ "isRight": false
46
+ }
47
+ ],
48
+ "hashCode": "2019147318",
49
+ "analysis": ""
50
+ },
51
+ {
52
+ "describe": "A company uses Opportunities to track sales to their customers and their org has millions of Opportunities. They want to begin to track revenue over time through a related Revenue object.\nAs part of their initial implementation, they want to perform a one-time seeding of their data by automatically creating and populating Revenue records for Opportunities, based on complex logic.\nThey estimate that roughly 100,000 Opportunities will have Revenue records created and populated.\nWhat is the optimal way to automate this?",
53
+ "answerOptions": [
54
+ {
55
+ "describe": "Use Database.executeBatch() to invoke a Database.Batchable class.",
56
+ "isRight": true
57
+ },
58
+ {
59
+ "describe": "Use System.scheduleJob() to schedule a Database.Scheduleable class.",
60
+ "isRight": false
61
+ },
62
+ {
63
+ "describe": "Use Database.executeBatch() to invoke a Queueable class.",
64
+ "isRight": false
65
+ },
66
+ {
67
+ "describe": "Use System.enqueueJob() to invoke a Queueable class.",
68
+ "isRight": false
69
+ }
70
+ ],
71
+ "hashCode": "2019146639",
72
+ "analysis": ""
73
+ },
74
+ {
75
+ "describe": "A company manages information about their product offerings in custom objects named Catalog and Catalog Item. Catalog Item has a master-detail field to Catalog, and each Catalog may have as many as 100,000 Catalog Items.\nBoth custom objects have a CurrencyIsoCode text field that contains the currency code they should use. If a Catalog's CurrencyIsoCode changes, all of its Catalog Items' CurrencyIsoCodes should be changes as well.\nWhat should a developer use to update the CurrencyIsoCodes on the Catalog Items when the Catalog's CurrencyIsoCode changes?",
76
+ "answerOptions": [
77
+ {
78
+ "describe": "An after insert trigger on Catalog that updates the Catalog Items if the Catalog's CurrencyIsoCode is different",
79
+ "isRight": false
80
+ },
81
+ {
82
+ "describe": "A Database.Schedulable and Database.Batchable class that queries the Catalog object and updates the Catalog Items if the Catalog CurrencyIsoCode is different.",
83
+ "isRight": false
84
+ },
85
+ {
86
+ "describe": "An after insert trigger on Catalog Item that updates the Catalog Items if the Catalog's CurrencyIsoCode is different",
87
+ "isRight": false
88
+ },
89
+ {
90
+ "describe": "A Database.Schedulable and Database.Batchable class that queries the Catalog Item object and updates the Catalog Items if the Catalog CurrencyIsoCode is different.",
91
+ "isRight": true
92
+ }
93
+ ],
94
+ "hashCode": "2019146637",
95
+ "analysis": ""
96
+ },
97
+ {
98
+ "describe": "A developer is creating a page in App Builder that will be used in the Salesforce mobile app.\nWhich two practices should the developer follow to ensure the page operates with optimal performance?\nChoose 2 answers",
99
+ "answerOptions": [
100
+ {
101
+ "describe": "Limit five visible components on the page.",
102
+ "isRight": false
103
+ },
104
+ {
105
+ "describe": "Limit 25 fields on the record detail page.",
106
+ "isRight": true
107
+ },
108
+ {
109
+ "describe": "Limit the number of Tabs and Accordion components.",
110
+ "isRight": false
111
+ },
112
+ {
113
+ "describe": "Analyze the page with Performance Analysis for App Builder.",
114
+ "isRight": true
115
+ }
116
+ ],
117
+ "hashCode": "2019146632",
118
+ "analysis": "https://help.salesforce.com/s/articleView?id=sf.lightning_page_performance.htm&type=5"
119
+ },
120
+ {
121
+ "describe": "There is an Apex controller and a Visualforce page in an org that displays records with a custom filter consisting of a combination of picklist values selected by the user.\nThe page takes too long to display results for some of the input combinations, while for other input choices it throws the exception, \"Maximum view state size limit exceeded\".\nWhat step should the developer take to resolve this issue?",
122
+ "answerOptions": [
123
+ {
124
+ "describe": "Adjust any code that filters by picklist values since they are not indexed.",
125
+ "isRight": false
126
+ },
127
+ {
128
+ "describe": "Split the layout to filter records in one Visualforce page and display the list of records in a second page using the same Apex controller.",
129
+ "isRight": false
130
+ },
131
+ {
132
+ "describe": "Remove instances of the transient keyword from the Apex controller to avoid the view state error.",
133
+ "isRight": false
134
+ },
135
+ {
136
+ "describe": "Use a StandardSetController or SOQL LIMIT In the Apex controller to limit the number of records displayed at a time.",
137
+ "isRight": true
138
+ }
139
+ ],
140
+ "hashCode": "2019146631",
141
+ "analysis": ""
142
+ },
143
+ {
144
+ "describe": "A Salesforce org has more than 50,000 contacts. A new business process requires a calculation that aggregates data from all of these contact records. This calculation needs to run once a day after business hours.\nWhich two steps should a developer take to accomplish this?\nChoose 2 answers",
145
+ "answerOptions": [
146
+ {
147
+ "describe": "Use the @future annotation on the method that performs the aggregate calculation.",
148
+ "isRight": false
149
+ },
150
+ {
151
+ "describe": "Implement the schedulable interface in the class that contains the aggregate calculation method.",
152
+ "isRight": true
153
+ },
154
+ {
155
+ "describe": "Use the @readonly annotation on the method that performs the aggregate calculation.",
156
+ "isRight": true
157
+ },
158
+ {
159
+ "describe": "Implement the Queuable interface In the class that contains the aggregate calculation method.",
160
+ "isRight": false
161
+ }
162
+ ],
163
+ "hashCode": "2019146608",
164
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_annotation_ReadOnly.htm"
165
+ },
166
+ {
167
+ "describe": "A developer created an Opportunity trigger that updates the account rating when an associated opportunity is considered high value. Current criteria for an opportunity to be considered high value is an amount greater than or equal to $1,000,000. However, this criteria value can change over time.\nThere is a new requirement to also display high value opportunities In a Lightning web component.\nWhich two actions should the developer take to prevent the business logic that obtains the high value opportunities from being repeated In more than one place?\nChoose 2 answers",
168
+ "answerOptions": [
169
+ {
170
+ "describe": "Use custom metadata to hold the high value amount.",
171
+ "isRight": true
172
+ },
173
+ {
174
+ "describe": "Call the trigger from the Lightning web component.",
175
+ "isRight": false
176
+ },
177
+ {
178
+ "describe": "Leave the business logic code inside the trigger for efficiency.",
179
+ "isRight": false
180
+ },
181
+ {
182
+ "describe": "Create a helper class that fetches the high value opportunities.",
183
+ "isRight": true
184
+ }
185
+ ],
186
+ "hashCode": "2019146607",
187
+ "analysis": ""
188
+ },
189
+ {
190
+ "describe": "A business currently has a process to manually upload orders from its external Order Management System (OMS) into Salesforce.\nThis is a labor intensive process since accounts must be exported out of Salesforce to get the IDs. The upload file must be updated with the correct account IDs to relate the orders to the corresponding accounts.\nWhich two recommendations should make this process more efficient?\nChoose 2 answers",
191
+ "answerOptions": [
192
+ {
193
+ "describe": "Ensure the data in the file is sorted by the order ID.",
194
+ "isRight": false
195
+ },
196
+ {
197
+ "describe": "Use the upsert wizard in the Data Loader to import the data.",
198
+ "isRight": true
199
+ },
200
+ {
201
+ "describe": "Identify unique fields on Order and Account and set them as External IDs.",
202
+ "isRight": true
203
+ },
204
+ {
205
+ "describe": "Use the insert wizard in the Data Loader to import the data.",
206
+ "isRight": false
207
+ }
208
+ ],
209
+ "hashCode": "2019146602",
210
+ "analysis": ""
211
+ },
212
+ {
213
+ "describe": "Ursa Major Solar has a custom object, serviceJob_c. with an optional Lookup field to Account called Partner_ service. Provider_ c.\nThe TotalJobs_c field on Account tracks the total number of serviceJob_c records to which a partner service provider Account Is related.\nWhat is the most efficient way to ensure that the Total_Jobs_c field is kept up to date?",
214
+ "answerOptions": [
215
+ {
216
+ "describe": "Create a record-triggered flow on service_Job_c.",
217
+ "isRight": true
218
+ },
219
+ {
220
+ "describe": "Change TotalJobs_ c to a roll-up summary field.",
221
+ "isRight": false
222
+ },
223
+ {
224
+ "describe": "Create a schedule -triggered flow on Service_Job__ c.",
225
+ "isRight": false
226
+ },
227
+ {
228
+ "describe": "Create an Apex trigger on service_Job_ c",
229
+ "isRight": false
230
+ }
231
+ ],
232
+ "hashCode": "2019146572",
233
+ "analysis": ""
234
+ },
235
+ {
236
+ "describe": "Which three approaches should a developer implement to obtain the best performance for data retrieval when building a Lightning web component?\nChoose 3 answers",
237
+ "answerOptions": [
238
+ {
239
+ "describe": "Use the Lightning Data Service.",
240
+ "isRight": true
241
+ },
242
+ {
243
+ "describe": "Use layoutTypes: [‘Fu11'] to display a set of fields.",
244
+ "isRight": false
245
+ },
246
+ {
247
+ "describe": "Use (cacheable=true) whenever possible.",
248
+ "isRight": true
249
+ },
250
+ {
251
+ "describe": "Use getRecordUi to obtain metadata.",
252
+ "isRight": false
253
+ },
254
+ {
255
+ "describe": "Use lazy load for occasionally accessed data.",
256
+ "isRight": true
257
+ }
258
+ ],
259
+ "hashCode": "2019146537",
260
+ "analysis": ""
261
+ },
262
+ {
263
+ "describe": "As part of a new integration, a developer is asked to implement a new custom search Functionality that is capable of performing unrestricted queries and can account for all values within a custom picklist field, Type_c, on the Opportunity object. The search feature must also account for NULL values.\nThe organization-wide default for the Opportunity object is set to Public Read-Only, and a new custom index has been created for the Type_ c field. There are more than 5 million Opportunity records within the environment, and a considerable amount of the existing records have NULL values for the picklist.\nWhich technique should the developer implement to maximize performance when querying NULL values?",
264
+ "answerOptions": [
265
+ {
266
+ "describe": "Create a formula field that substitutes NULL values for a string of text, create an index for the formula field, then use the formula within the HERE clause.",
267
+ "isRight": false
268
+ },
269
+ {
270
+ "describe": "Perform two SOQL queries; one to query Opportunities where Type_c !=NULL, and another to query where Type_c = NULL, then join the result set using Apex.",
271
+ "isRight": true
272
+ },
273
+ {
274
+ "describe": "Use a SOSL query to return ALL opportunities that have a value of NULL in any field.",
275
+ "isRight": false
276
+ },
277
+ {
278
+ "describe": "Use the OR operator to combine HERE clauses to strictly search for each value within the picklist, including Type_ c = NULL.",
279
+ "isRight": false
280
+ }
281
+ ],
282
+ "hashCode": "2019146511",
283
+ "analysis": ""
284
+ },
285
+ {
286
+ "describe": "Which two queries are selective SOQL queries and can be used for a large data set of 200,000 Account records?\nChoose 2 answers",
287
+ "answerOptions": [
288
+ {
289
+ "describe": "SELECT Id FROM Account WHERE Name LIKE 'Partner'",
290
+ "isRight": false
291
+ },
292
+ {
293
+ "describe": "SELECT Id FROM Account WHERE Name !=''",
294
+ "isRight": false
295
+ },
296
+ {
297
+ "describe": "SELECT Id FROM Account WHERE Id IN (List of Account Ids)",
298
+ "isRight": true
299
+ },
300
+ {
301
+ "describe": "SELECT Id FROM Account WHERE Name In (List of Name) AND Customer_Number_ c=",
302
+ "isRight": true
303
+ }
304
+ ],
305
+ "hashCode": "2019146509",
306
+ "analysis": ""
307
+ },
308
+ {
309
+ "describe": "A developer implemented a custom data table in a Lightning web component with filter functionality. However, users are submitting support tickets about long load times when the filters are changed. The component uses an Apex method that is called to query for records based on the selected filters.\nWhat should the developer do to improve performance of the component?",
310
+ "answerOptions": [
311
+ {
312
+ "describe": "Use setStorable() in the Apex method to store the response in the client-side cache.",
313
+ "isRight": true
314
+ },
315
+ {
316
+ "describe": "Return all records into a list when the component is created and filter the array in JavaScript.",
317
+ "isRight": false
318
+ },
319
+ {
320
+ "describe": "Use SOSL to query the records on filter change.",
321
+ "isRight": false
322
+ },
323
+ {
324
+ "describe": "Use a selective SOQL query with a custom index.",
325
+ "isRight": false
326
+ }
327
+ ],
328
+ "hashCode": "2019146482",
329
+ "analysis": ""
330
+ },
331
+ {
332
+ "describe": "A developer is asked to look into an issue where a scheduled Apex is running into DML its. Upon investigation, the developer finds that the number of records processed by the scheduled Apex has recently increased to more than 10,000.\nWhat should the developer do to eliminate the limit exception error?",
333
+ "answerOptions": [
334
+ {
335
+ "describe": "Use the @future annotation.",
336
+ "isRight": false
337
+ },
338
+ {
339
+ "describe": "Implement the Batchable interface.",
340
+ "isRight": true
341
+ },
342
+ {
343
+ "describe": "Use platform events.",
344
+ "isRight": false
345
+ },
346
+ {
347
+ "describe": "Implement the Queueable interface.",
348
+ "isRight": false
349
+ }
350
+ ],
351
+ "hashCode": "2019146481",
352
+ "analysis": ""
353
+ },
354
+ {
355
+ "describe": "Users complain that a page is very slow to respond. Upon investigation, the query below is found to perform slowly.\nSELECT Id, Name FROM Contact WHERE CustomField__c = null;\nWhich two actions can a developer take to improve performance? Choose 2 answers",
356
+ "answerOptions": [
357
+ {
358
+ "describe": "Add a LIMIT clause to the query to reduce the number of records returned.",
359
+ "isRight": true
360
+ },
361
+ {
362
+ "describe": "Contact Salesforce customer support to create a custom index to include null values.",
363
+ "isRight": false
364
+ },
365
+ {
366
+ "describe": "Make the CustomField__c field an External ID.",
367
+ "isRight": false
368
+ },
369
+ {
370
+ "describe": "Make the field CustomField__c required because Salesforce field indexes do not include nulls.",
371
+ "isRight": true
372
+ }
373
+ ],
374
+ "hashCode": "2019146444",
375
+ "analysis": ""
376
+ },
377
+ {
378
+ "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\n• Amount, Probability, Stage, or Close Date\n\nWhat is the most efficient way to query such information?",
379
+ "answerOptions": [
380
+ {
381
+ "describe": "[Select Amont, CloseDate, StageName, Probability FROM Opportunity__History WHERE OpportunityId = : oppId];",
382
+ "isRight": false
383
+ },
384
+ {
385
+ "describe": "[Select Amount, CloseDate, StageName, Probability FROM OpportunityHistory WHERE OpportunityId = : oppId] ;",
386
+ "isRight": true
387
+ },
388
+ {
389
+ "describe": "[Select NewWalue, OldValue FROM OpportunityField__History WHERE OpportunityId = : oppId AND Field IN ('StageName', 'Probability', 'Amount', 'CloseDate')];",
390
+ "isRight": false
391
+ },
392
+ {
393
+ "describe": "[Select NewWalue, OldValue FROM OpportunityField__History WHERE OpportunityId = : oppId AND Field IN ('StageName', 'Probability', 'Amount', 'CloseDate')];",
394
+ "isRight": false
395
+ }
396
+ ],
397
+ "hashCode": "2019146419",
398
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_opportunityfieldhistory.htm"
399
+ },
400
+ {
401
+ "describe": "The use of the transient keyword in Visualforce Page Controllers helps with which common performance issue?",
402
+ "answerOptions": [
403
+ {
404
+ "describe": "Improves Query Performance",
405
+ "isRight": false
406
+ },
407
+ {
408
+ "describe": "Improves Page Transfers",
409
+ "isRight": false
410
+ },
411
+ {
412
+ "describe": "Reduces Load Times",
413
+ "isRight": false
414
+ },
415
+ {
416
+ "describe": "Reduces View State",
417
+ "isRight": true
418
+ }
419
+ ],
420
+ "hashCode": "2019146413",
421
+ "analysis": ""
422
+ },
423
+ {
424
+ "describe": "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.\nWhat can a developer do to help alleviate such issues?",
425
+ "answerOptions": [
426
+ {
427
+ "describe": "Use the transient keyword in the Apex code when querying the Account records. ",
428
+ "isRight": false
429
+ },
430
+ {
431
+ "describe": "Upload a third-party data table library as a static resource.",
432
+ "isRight": false
433
+ },
434
+ {
435
+ "describe": "Use JavaScript remoting to query the accounts.",
436
+ "isRight": false
437
+ },
438
+ {
439
+ "describe": "Use the standard Account List controller and implement pagination.",
440
+ "isRight": true
441
+ }
442
+ ],
443
+ "hashCode": "2019145647",
444
+ "analysis": ""
445
+ },
446
+ {
447
+ "describe": "A developer wishes to improve runtime performance of Apex calls by caching results on the client.\nWhat is the best way to implement this?",
448
+ "answerOptions": [
449
+ {
450
+ "describe": "Decorate the server-side method with @AuraEnabled(storable=true).",
451
+ "isRight": false
452
+ },
453
+ {
454
+ "describe": "Decorate the server-side method with @AuraEnabled(cacheable=true).",
455
+ "isRight": true
456
+ },
457
+ {
458
+ "describe": "Call the setStorable( ) method on the action in the JavaScript client-side code.",
459
+ "isRight": false
460
+ },
461
+ {
462
+ "describe": "Set a cookie in the browser for use upon return to the page.",
463
+ "isRight": false
464
+ }
465
+ ],
466
+ "hashCode": "2019145641",
467
+ "analysis": "https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/controllers_server_apex_auraenabled_annotation.htm"
468
+ },
469
+ {
470
+ "describe": "A company recently deployed a Visualforce page with a custom controller that has a data grid of information about Opportunities in the org. \nUsers report that they receive a \"Maximum view state size limit\" error message under certain conditions.\n\nAccording to Visualforce best practice, which three actions should the developer take to reduce the view state?Choose 3 answers",
471
+ "answerOptions": [
472
+ {
473
+ "describe": "Use the transient keyword in the Apex controller for variables that do not maintain state.",
474
+ "isRight": true
475
+ },
476
+ {
477
+ "describe": "Refine any SOQL queries to return only data relevant to the page.",
478
+ "isRight": true
479
+ },
480
+ {
481
+ "describe": "Use the final keyword in the controller for variables that will not change.",
482
+ "isRight": false
483
+ },
484
+ {
485
+ "describe": "Use the private keyword in the controller for variables.",
486
+ "isRight": false
487
+ },
488
+ {
489
+ "describe": "Use filters and pagination to reduce the amount of data.",
490
+ "isRight": true
491
+ }
492
+ ],
493
+ "hashCode": "2019145613",
494
+ "analysis": ""
495
+ },
496
+ {
497
+ "describe": "Customer billing data must be added and updated into Salesforce from a remote system on a weekly basis. Additionally, customer activity information must be extracted from Salesforce and put it into an on-premises data warehouse on a weekly basis.\n\nWhich approach should be used to import data into Salesforce and export data out of Salesforce, taking into consideration that these imports and exports can interfere with end-user operations during business hours and involve large amounts of data?",
498
+ "answerOptions": [
499
+ {
500
+ "describe": "Salesforce Connect to push data to and pull data from the remote systems",
501
+ "isRight": false
502
+ },
503
+ {
504
+ "describe": "Batch Apex, where Salesforce pushes data to and pulls data from the remote systems",
505
+ "isRight": false
506
+ },
507
+ {
508
+ "describe": "Call-in directly from each remote system to Salesforce APIs to push and pull the data",
509
+ "isRight": false
510
+ },
511
+ {
512
+ "describe": "Replication via third-party ETL to push data into Salesforce and pull data out in batches",
513
+ "isRight": true
514
+ }
515
+ ],
516
+ "hashCode": "2019145611",
517
+ "analysis": ""
518
+ },
519
+ {
520
+ "describe": "A company needs to automatically delete sensitive information after seven years. This could delete almost a million records everyday.\nHow can this be achieved?",
521
+ "answerOptions": [
522
+ {
523
+ "describe": "Schedule a batch Apex process to run every day that queries and deletes records older than seven years.",
524
+ "isRight": true
525
+ },
526
+ {
527
+ "describe": "Use aggregate functions to query for records older than seven years, and then delete the AggregateResult objects.",
528
+ "isRight": false
529
+ },
530
+ {
531
+ "describe": "Perform a SOSL statement to find records older than 7 years, and then delete the entire result set.",
532
+ "isRight": false
533
+ },
534
+ {
535
+ "describe": "Schedule an future process to query records older than seven years, and then recursively invoke itself in 1,000 record batches to delete them.",
536
+ "isRight": false
537
+ }
538
+ ],
539
+ "hashCode": "2019145609",
540
+ "analysis": ""
541
+ },
542
+ {
543
+ "describe": "<p>Refer to the markup below:</p><p>&lt;template&gt;</p><p>&nbsp; &nbsp; &lt;!-- …other code … --&gt;</p><p>&nbsp; &nbsp; &lt;lightning-record-form record-id={recordId} object-api-name=&quot;Account&quot; layout-type=&quot;Full&quot;&gt;</p><p>&nbsp; &nbsp; &lt;/lightning-record-form&gt;</p><p>&lt;/template&gt;</p><p><br/></p><p>A Lightning web component displays the Account name and two custom fields out of 275 that exist on the object. The custom fields are correctly declared and populated. However, the developer receives complaints that the component performs slowly.</p><p>What can the developer do to improve the performance?</p><p><br/></p>",
544
+ "answerOptions": [
545
+ {
546
+ "describe": "<p>Replace layout-type=&quot;Full&quot; with layout-type=&quot;Partial&quot;.</p>",
547
+ "isRight": false
548
+ },
549
+ {
550
+ "describe": "<p>Add cache=&quot;true&quot; to the component.</p>",
551
+ "isRight": false
552
+ },
553
+ {
554
+ "describe": "<p>Add density=&quot;compact&quot; to the component.</p>",
555
+ "isRight": false
556
+ },
557
+ {
558
+ "describe": "<p>Replace layout-type=&quot;Full&quot; with fields-{fields}.</p>",
559
+ "isRight": true
560
+ }
561
+ ],
562
+ "hashCode": "2019145546",
563
+ "analysis": ""
564
+ },
565
+ {
566
+ "describe": "<p>As part of a custom interface, a developer team creates various new Lightning web components. Each of the components handles errors using toast messages. When the development is complete, all the components are added to the same Lightning page.\nDuring acceptance testing, users complain about the long chain of toast messages that display when errors occur loading the components.\nWhich two techniques should the developer implement to improve the user experience?\nChoose 2 answers</p>",
567
+ "answerOptions": [
568
+ {
569
+ "describe": "<p>Use a &lt;template&gt; tag to display in-place error messages.</p>",
570
+ "isRight": true
571
+ },
572
+ {
573
+ "describe": "<p>Use a Lightning web component to aggregate and display all errors.</p>",
574
+ "isRight": false
575
+ },
576
+ {
577
+ "describe": "<p>Use the window.alert() method to display the error messages.</p>",
578
+ "isRight": false
579
+ },
580
+ {
581
+ "describe": "<p>Use public properties on each component to display the error messages.</p>",
582
+ "isRight": true
583
+ }
584
+ ],
585
+ "hashCode": "2019145522",
586
+ "analysis": ""
587
+ },
588
+ {
589
+ "describe": "<p>Consider the following code snippet:</p><p><br/></p><p>public static List&lt;Account&gt; getAccounts (Date thisDate, Id goldenRT) {</p><p>List&lt;Account&gt; accountList = [select Id,Name, Industry FROM Account WHERE CreatedDate = :thisDate OR RecordTypeId = :goldenRT];&nbsp;</p><p>return accountList;</p><p>}</p><p><br/></p><p>The Apex method is executed in an environment with a large data volume count for Accounts, and the query Is performing poorly.</p><p>Which technique should the developer implement to ensure the query performs optimally, while preserving the entire result set?</p><p><br/></p>",
590
+ "answerOptions": [
591
+ {
592
+ "describe": "<p>Annotate the method with the @Future annotation.</p>",
593
+ "isRight": false
594
+ },
595
+ {
596
+ "describe": "<p>Create a formula field to combine the createdDate and RecordType value, then filter based on the formula.</p>",
597
+ "isRight": false
598
+ },
599
+ {
600
+ "describe": "<p>Use the Database. queryLocator method to retrieve the accounts.</p>",
601
+ "isRight": false
602
+ },
603
+ {
604
+ "describe": "<p>Break down the query into two individual queries and join the two result sets.</p>",
605
+ "isRight": true
606
+ }
607
+ ],
608
+ "hashCode": "2019145521",
609
+ "analysis": ""
610
+ },
611
+ {
612
+ "describe": "<p><br/></p><p>Consider the following code snippet:</p><p><br/></p><p>trigger opportunitytrigger = an opportunity (before insert , before update) {</p><p>for (opportunity opp : trigger .new) {</p><p>opportunityHandler.setPricingstructure (Opp)</p><p>&nbsp; }</p><p>}</p><p><br/></p><p>public class OpportunityHandler {</p><p>public static void setPricingStructure ( opportunity thisOpp) {</p><p>pricing_structure_c ps = [select Type_c FROM Pricing_structure_c WHERE industry_c = :this Opp.Account_ Industry_ c];</p><p>thisOpp.pricing_ structure_c = ps.Type_c;</p><p>update thisOpp;</p><p><br/></p><p>Which two best practices should the developer implement to optimize this code?</p><p>Choose 2 answers</p><p><br/></p>",
613
+ "answerOptions": [
614
+ {
615
+ "describe": "<p>Use a collection for the DML statement.</p>",
616
+ "isRight": false
617
+ },
618
+ {
619
+ "describe": "<p>Query the Pricing_structure_ c records outside of the loop.</p>",
620
+ "isRight": true
621
+ },
622
+ {
623
+ "describe": "<p>Change the trigger context to after update, after insert.</p>",
624
+ "isRight": false
625
+ },
626
+ {
627
+ "describe": "<p>Remove the DML statement.</p>",
628
+ "isRight": true
629
+ }
630
+ ],
631
+ "hashCode": "2019145515",
632
+ "analysis": ""
633
+ },
634
+ {
635
+ "describe": "<p>Consider the following Apex method that uses the opportunity object.</p><p><br/></p><p>public class opportunityController{|</p><p>@AuraEnabled</p><p>public static List&lt;opportunity&gt;&nbsp; searchoppByCaseId&lt;string caseId) {</p><p>List&lt;opportunity&gt; oppList = [select Id FROM opportunity where External_Case_ c = : caseId];</p><p>return oppList;</p><p>}</p><p>}</p><p><br/></p><p>In a previous data audit, it was determined that close to 5 million Opportunity records are stored within the Salesforce environment. The organization-wide defaults for the object are set to Public Read-Only and most opportunities are related to an external case.</p><p>The method is called from a Lightning web component. Some end users do not provide a caseId value and experience low performance while running the query.</p><p>Which two techniques should the developer implement to avoid low performance queries from executing?</p><p>Choose 2 answers</p><p><br/></p>",
636
+ "answerOptions": [
637
+ {
638
+ "describe": "<p>Implement a LIMIT clause within the SOQL query to restrict the result set.</p>",
639
+ "isRight": true
640
+ },
641
+ {
642
+ "describe": "<p>Ensure the user provided input is not null before executing the SOQL query.</p>",
643
+ "isRight": true
644
+ },
645
+ {
646
+ "describe": "<p>Implement the with sharing keyword on the Apex class.</p>",
647
+ "isRight": false
648
+ },
649
+ {
650
+ "describe": "<p>Use SOSL instead of SOQL queries to perform text based searches.</p>",
651
+ "isRight": false
652
+ }
653
+ ],
654
+ "hashCode": "2019145484",
655
+ "analysis": ""
656
+ },
657
+ {
658
+ "describe": "<p>The following code segment is called from a trigger handler class from the Opportunity trigger:</p><p><br/></p><p>for (opportunity opp: Trigger.new){</p><p>if (opp . amount &gt;= 1000000)</p><p>Account acct = [SELECT Id, status FROM Account WHERE id = :opp .accountId LIMIT 1);</p><p>acct.status. = &#39;High Potential&#39;;</p><p>Update. Act;</p><p>}</p><p>}</p><p><br/></p><p>Which two changes should improve this code and make it more efficient?</p><p>Choose 2 answers</p><p><br/></p>",
659
+ "answerOptions": [
660
+ {
661
+ "describe": "<p>The method must be annotated with the @InvocableMethod annotation.</p>",
662
+ "isRight": true
663
+ },
664
+ {
665
+ "describe": "<p>Move the SOQL to fetch the account record outside of the tor loop.</p>",
666
+ "isRight": true
667
+ },
668
+ {
669
+ "describe": "<p>System.LimitException: Too many SOQL Queries on Account</p>",
670
+ "isRight": false
671
+ },
672
+ {
673
+ "describe": "<p>Use Trigger.old instead of Trigger .new.</p>",
674
+ "isRight": false
675
+ }
676
+ ],
677
+ "hashCode": "2019145460",
678
+ "analysis": ""
679
+ },
680
+ {
681
+ "describe": "<p>A Visualforce page loads slowly due to the large amount of data it displays.\nWhich strategy can a developer use to improve the performance?</p>",
682
+ "answerOptions": [
683
+ {
684
+ "describe": "<p>Use the transient keyword for the List variables used in the custom controller.</p>",
685
+ "isRight": false
686
+ },
687
+ {
688
+ "describe": "Use Javascript to move data processing to the browser instead of the controller.",
689
+ "isRight": false
690
+ },
691
+ {
692
+ "describe": "<p>Use an &lt;apex:actionPoller&gt; in the page to load all of the data asynchronously.</p>",
693
+ "isRight": false
694
+ },
695
+ {
696
+ "describe": "Use lazy loading to load the data on demand, instead of in the controller's constructor.",
697
+ "isRight": true
698
+ }
699
+ ],
700
+ "hashCode": "2019145423",
701
+ "analysis": "<p>https://developer.salesforce.com/docs/atlas.en-us.salesforce_visualforce_best_practices.meta/salesforce_visualforce_best_practices/pages_best_practices_perf_design_lazy_loading.htm</p>"
702
+ },
703
+ {
704
+ "describe": "<p>Given a list of Opportunity records named opportunityList, which code snippet is best for querying all Contacts of the Opportunity&#39;s Account?</p>",
705
+ "answerOptions": [
706
+ {
707
+ "describe": "<p>List &lt;Contact&gt; contactList = new List &lt;Contact&gt;();</p><p>Set &lt;Id&gt; accountIds = new Set &lt;Id&gt; ();</p><p>for (opportunity o : opportunityList){</p><p>&nbsp; &nbsp; &nbsp; accountIds.add(o.AccountId);</p><p>}</p><p><br/></p><p>for(Account a : [SELECT Id, (SELECT Id FROM Contacts) FROM Account WHERE Id&nbsp; &nbsp;IN :accountIds]) {</p><p>&nbsp; &nbsp; &nbsp; contactList.addAll (a.Contacts) ;</p><p>}</p><p><br/></p>",
708
+ "isRight": true
709
+ },
710
+ {
711
+ "describe": "<p>List &lt;Contact&gt; contactList = new List &lt;Contact&gt;();</p><p>for ( Contact c : [SELECT Id FROM Contact WHERE AccountId IN : opportunityList.Accountld]){</p><p>&nbsp; &nbsp; &nbsp; contactList.add (c) ;</p><p>}</p><p><br/></p>",
712
+ "isRight": false
713
+ },
714
+ {
715
+ "describe": "<p>List&lt;Contact&gt; contactList = new List&lt;Contact&gt;();</p><p>for (opportunity o : opportunityList){</p><p>&nbsp; &nbsp; &nbsp; Account a = [SELECT Id, (SELECT Id FROM Contacts) FROM Account WHERE Id = : o.AccountId];</p><p>&nbsp; &nbsp; &nbsp; contactList.addAll (a.Contacts) ;</p><p>}</p><p><br/></p>",
716
+ "isRight": false
717
+ },
718
+ {
719
+ "describe": "<p>List&lt;Contact&gt; contactList = new List&lt;Contact&gt;();</p><p>Set&lt;Id&gt; accountIds = new Set&lt;Id&gt;() ;</p><p>for (Opportunity o : opportunityList){</p><p>&nbsp; &nbsp; &nbsp; contactIds.add (o.Contacts) ;</p><p>}</p><p><br/></p><p>for (Contact c : [SELECT Id FROM Contact WHERE Id IN :contactIds]){</p><p>&nbsp; &nbsp; &nbsp; &nbsp; contactList.add (c) ;</p><p>}</p><p><br/></p>",
720
+ "isRight": false
721
+ }
722
+ ],
723
+ "hashCode": "2019145421",
724
+ "analysis": ""
725
+ }
726
+ ],
727
+ "hashCode": "-1917411510"
728
+ }