@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,260 @@
1
+ {
2
+ "title": "逻辑、流程自动化和集成2",
3
+ "category": "Dev2-自由部落侠",
4
+ "questions": [
5
+ {
6
+ "describe": "<p>A developer created a Lightning web component for the Account record page that displays the five recently contacted Contacts for an Account. The Apex method, getRecentContacts, returns a list of Contacts and will be wired to a property in the component.</p><p><br/></p><p>01:</p><p>02:&nbsp; &nbsp; public class ContactFetcher&nbsp; {</p><p>03:</p><p>04:&nbsp; &nbsp; &nbsp; &nbsp; static List&lt;Contact&gt; getRecentContacts(Id accountId) {</p><p>05:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List&lt;Contact&gt; contacts = getFiveMostRecent(accountId) ;</p><p>06:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return contacts;</p><p>07:&nbsp; &nbsp; &nbsp; &nbsp; }</p><p>08:</p><p>09:&nbsp; &nbsp; &nbsp; &nbsp; private static List&lt;Contact&gt; getFiveMostRecent(Id accountId) {</p><p>10:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ...impletation...</p><p>11:&nbsp; &nbsp; &nbsp; &nbsp;}</p><p>12:&nbsp; &nbsp; }</p><p><br/></p><p>Which two lines must change in the above code to make the Apex method able to be wired? Choose 2 answers</p><p><br/></p>",
7
+ "answerOptions": [
8
+ {
9
+ "describe": "<p>Add public to line 04.</p>",
10
+ "isRight": true
11
+ },
12
+ {
13
+ "describe": "<p>Add @AuraEnabled(cacheable=true) to line 03.</p>",
14
+ "isRight": true
15
+ },
16
+ {
17
+ "describe": "<p>Remove private from line 09.</p>",
18
+ "isRight": false
19
+ },
20
+ {
21
+ "describe": "<p>Add @AuraEnabled(cacheable=true) to line 08.</p>",
22
+ "isRight": false
23
+ }
24
+ ],
25
+ "hashCode": "2019145547",
26
+ "analysis": ""
27
+ },
28
+ {
29
+ "describe": "<p>The Account object has a field, Audit_Code__c, that is used to specify what type of auditing the Account needs and a Lookup to User, Auditor__c, that is the assigned auditor.</p><p>When an Account is initially created, the user specifies the Audit_Code__c. Each User in the org has a unique text field, Audit_Code__c, that is used to automatically assign the correct user to the Account&#39;s Auditor__c field.</p><p><br/></p><p>trigger AccountTrigger on Account(before insert) {</p><p>&nbsp; &nbsp; AuditAssigner.setAuditor(Trigger.new);</p><p>}</p><p><br/></p><p>public class AuditAssigner{</p><p>&nbsp; &nbsp; public static void setAuditor(List&lt;Account&gt; accounts) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; for(User u : [SELECT Id, Audit_Code__c FROM User]) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for(Account a : accounts) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(u.Audit_Code__c == a.Audit_Code__c) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a.Auditor__c = u.Id;</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p><p>&nbsp; &nbsp; &nbsp; &nbsp; }</p><p>&nbsp; &nbsp; &nbsp;}</p><p>}</p><p>What should be changed to most optimize the code&#39;s efficiency? Choose 2 answers</p><p><br/></p>",
30
+ "answerOptions": [
31
+ {
32
+ "describe": "<p>Build a Map&lt;String, List&lt;Account&gt;&gt; of audit code to accounts.</p>",
33
+ "isRight": true
34
+ },
35
+ {
36
+ "describe": "<p>Add an initial SOQL query to get all distinct audit codes.</p>",
37
+ "isRight": false
38
+ },
39
+ {
40
+ "describe": "<p>Build a Map&lt;Id, List&lt;String&gt;&gt; of Account Id to audit codes.</p>",
41
+ "isRight": false
42
+ },
43
+ {
44
+ "describe": "<p>Add a WHERE clause to the SOQL query to filter on audit codes.</p>",
45
+ "isRight": true
46
+ }
47
+ ],
48
+ "hashCode": "2019145545",
49
+ "analysis": ""
50
+ },
51
+ {
52
+ "describe": "<p>Given the following code:</p><p><br/></p><p>for ( Contact c : SELECT Id, LastNaze FROM Contact WHERE CreatedDate = TODAY] )</p><p>{</p><p>Account a = [SELECT Id,Name FROM Account WHERE CreatedDate = TODAY LIMIT 5];</p><p>c.AccountId = a.Id;</p><p>update c;</p><p>}</p><p><br/></p><p>Assuming there were 10 Contacts and five Accounts created today, what is the expected result?</p><p><br/></p>",
53
+ "answerOptions": [
54
+ {
55
+ "describe": "<p>System.QueryException: List has more than one row for Assignment on Account</p>",
56
+ "isRight": true
57
+ },
58
+ {
59
+ "describe": "<p>System.LimitException: Too many SOQL Queries on Contact</p>",
60
+ "isRight": false
61
+ },
62
+ {
63
+ "describe": "<p>System.QueryException: Too many DML Statement errors on Contact</p>",
64
+ "isRight": false
65
+ },
66
+ {
67
+ "describe": "<p>System.LimitException: Too many SOQL Queries on Account</p>",
68
+ "isRight": false
69
+ }
70
+ ],
71
+ "hashCode": "2019145519",
72
+ "analysis": ""
73
+ },
74
+ {
75
+ "describe": "<p>A developer created an Apex class that updates an Account based on input from a Lightning web component that is used to register an Account.The update to the Account should only be made if it has not already been registered.</p><p><br/></p><p>Account = [SELECT Id,Is_Registered_c FROM Account WHERE Id= : accountId]:</p><p>if (!account.Is_Registered_c){</p><p>Account.Is_Registered_c = true</p><p>//...set other account fields...&nbsp;&nbsp;</p><p>update account;</p><p>}</p><p><br/></p><p>What should the developer do to ensure that users do not overwrite each other&#39;s updates to the same Account if they make updates at the same time?</p><p><br/></p>",
76
+ "answerOptions": [
77
+ {
78
+ "describe": "<p>Use Database. update (account, false)</p>",
79
+ "isRight": false
80
+ },
81
+ {
82
+ "describe": "<p>Add a try/catch block around the update.</p>",
83
+ "isRight": false
84
+ },
85
+ {
86
+ "describe": "<p>Use upsert instead of update.</p>",
87
+ "isRight": false
88
+ },
89
+ {
90
+ "describe": "<p>Use FOR UPDATE in a SOQL query.</p>",
91
+ "isRight": true
92
+ }
93
+ ],
94
+ "hashCode": "2019145490",
95
+ "analysis": ""
96
+ },
97
+ {
98
+ "describe": "<p>Refer to the code below:</p><p><br/></p><p>List&lt;opportunity&gt; opportunities = [ELECT Id, Amount from opportunity ];</p><p>tor (opportunity opp: opportunities) {</p><p>// perform operation here</p><p>}</p><p><br/></p><p>When the code runs, it results in a System Limit Exception with the error message: Apex heap size too large.</p><p>What should be done to fox this error?</p><p><br/></p>",
99
+ "answerOptions": [
100
+ {
101
+ "describe": "<p>Use a SOQL for loop to process the data.</p>",
102
+ "isRight": true
103
+ },
104
+ {
105
+ "describe": "<p>Convert the List into a set.</p>",
106
+ "isRight": false
107
+ },
108
+ {
109
+ "describe": "<p>Use Limits.getLimitHeapSize().</p>",
110
+ "isRight": false
111
+ },
112
+ {
113
+ "describe": "<p>Use a try/catch block to catch the error.</p>",
114
+ "isRight": false
115
+ }
116
+ ],
117
+ "hashCode": "2019145488",
118
+ "analysis": ""
119
+ },
120
+ {
121
+ "describe": "<p>A company wants to run different logic based on an Opportunity&#39;s record type.\nWhich code segment handles this request and follows best practices?</p>",
122
+ "answerOptions": [
123
+ {
124
+ "describe": "<p>RecordType recType_New = [SELECT Id, Name FROM RecordType WHERE SObjectType = &#39;Opportunity&#39; AND IsActive = TRUE and Name = &#39;New&#39; LIMIT 1];</p><p>RecordType recType_Renewal = [SELECT Id, Name FROM RecordType WHERE SObjectType = &#39;Opportunity&#39; AND IsActive = TRUE and Name = &#39;Renewal&#39; LIMIT 1];</p><p>for( Opportunity o: Trigger.new) {</p><p>&nbsp; &nbsp; &nbsp;if(o.RecordTypeId == recType_New) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //do some logic Record Type 1",
125
+ "isRight": false
126
+ },
127
+ {
128
+ "describe": "<p>Id recType_New = Schema.SObjectType.Opportunity.getRecordTypeInfosByName().get(&#39;New&#39;).getRecordTypeId();</p><p>RecordType recType_Renewal = Schema.SObjectType.Opportunity.getRecordTypeInfosByName().get(&#39;Renewal&#39;).getRecordTypeId();</p><p>for( Opportunity o: Trigger.new) {</p><p>&nbsp; &nbsp; &nbsp;if(o.RecordTypeId == recType_New) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //do some logic Record Type 1</p><p>&nbsp; &nbsp; &nbsp;}</p><p>&nbsp; &nbsp; &nbsp;else if(o.RecordTypeI",
129
+ "isRight": true
130
+ },
131
+ {
132
+ "describe": "<p>for( Opportunity o: Trigger.new) {</p><p>&nbsp; &nbsp; &nbsp;if(o.RecordTypeId == &#39;012500000009WAr&#39;) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //do some logic Record Type 1</p><p>&nbsp; &nbsp; &nbsp;}</p><p>&nbsp; &nbsp; &nbsp;else if(o.RecordTypeId == &#39;012500000009WBe&#39;) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //do some logic for Record Type 2</p><p>&nbsp; &nbsp; &nbsp;}</p><p>}</p><p><br/></p>",
133
+ "isRight": false
134
+ },
135
+ {
136
+ "describe": "<p>List&lt;RecordType&gt; recTypes = [SELECT Id, Name FROM RecordType WHERE SObjectType = &#39;Opportunity&#39; AND IsActive = True];</p><p>Map&lt;String, Id&gt; recTypeMap = new Map&lt;String, Id&gt;();</p><p>for( RecordType rt: recTypes) {</p><p>&nbsp; &nbsp; recTypeMap.put(rt.Name, rt.Id);</p><p>}</p><p>for( Opportunity o: Trigger.new) {</p><p>&nbsp; &nbsp; &nbsp;if(o.RecordTypeId == recTypeMap.get(&#39;New&#39;)) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //do some logic Record Type 1</p><p>",
137
+ "isRight": false
138
+ }
139
+ ],
140
+ "hashCode": "2019145430",
141
+ "analysis": ""
142
+ },
143
+ {
144
+ "describe": "<p>Line&nbsp; 1&nbsp; trigger ContactTrigger on Contact (before insert, before update)&nbsp;</p><p>Line&nbsp; 2&nbsp; {</p><p>Line&nbsp; 3&nbsp; &nbsp; &nbsp; &nbsp; Map&lt;Id, Account&gt; accountMap = new Map&lt;Id, Account&gt;();</p><p>Line&nbsp; 4&nbsp; &nbsp; &nbsp; &nbsp; for(Contact c : Trigger.new)</p><p>Line&nbsp; 5&nbsp; &nbsp; &nbsp; &nbsp; {</p><p>Line&nbsp; 6&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Account a = [SELECT Id, Name, BillingCountry FROM Account WHERE Id := c.AccountId];</p><p>Line&nbsp; 7&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; accountMap.put(a.Id, a);</p><p>Line&nbsp; 8&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p><p>line&nbsp; &nbsp;9</p><p>Line 10&nbsp; &nbsp; &nbsp; &nbsp; //Do stuff with accountMap</p><p>Line 11&nbsp; &nbsp; &nbsp; &nbsp; for(Contact c : Trigger.new)</p><p>Line 12&nbsp; &nbsp; &nbsp; &nbsp; {</p><p>Line 13&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Account a = accountMap.get(c.AccountId);</p><p>Line 14&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(a != null)&nbsp;</p><p>Line 15&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</p><p>Line 16&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;c.BillingCountry = a.BillingCountry;</p><p>Line 17&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p><p>Line 18&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</p><p>Line 19</p><p>Line 20&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; update Trigger.new;</p><p>Line 21&nbsp; }</p><p>Refer to the code segment above</p><p>When following best practices for writing Apex triggers, which two lines are wrong or cause for concern?Choose 2 answers</p><p><br/></p>",
145
+ "answerOptions": [
146
+ {
147
+ "describe": "<p>Line 6</p>",
148
+ "isRight": true
149
+ },
150
+ {
151
+ "describe": "<p>Line 11</p>",
152
+ "isRight": false
153
+ },
154
+ {
155
+ "describe": "<p>Line 16</p>",
156
+ "isRight": false
157
+ },
158
+ {
159
+ "describe": "<p>Line 20</p>",
160
+ "isRight": true
161
+ }
162
+ ],
163
+ "hashCode": "2019145428",
164
+ "analysis": ""
165
+ },
166
+ {
167
+ "describe": "<p>Refer to the code snippet below:</p><p><br/></p><p>public static void updateCreditMemo(String customerId, Decimal newAmount) {</p><p>&nbsp; &nbsp; &nbsp;List&lt;Credit_Memo__c&gt; toUpdate = new List&lt;Credit_Memo__c&gt;( ) ;</p><p>&nbsp; &nbsp; &nbsp;for (Credit_Memo__c creditMemo : [Select Id, Name, Amount__c FROM Credit_Memo__c WHERE Customer_Id__c = : customerId LIMIT 50]) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;creditMemo.Amount__c = newAmount;</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;toUpdate.add(creditMemo) ;</p><p>&nbsp; &nbsp; &nbsp; }</p><p>Database.update(toUpdate, false);</p><p>}</p><p><br/></p><p>A custom object called Credit_Memo__c exists in a Salesforce environment. As part of a new feature development that retrieves and manipulates this type of record, the developer needs to ensure race conditions are prevented when a set of records are modified within an Apex transaction.</p><p><br/></p><p>In the preceding Apex code, how can the developer alter the query statement to use SOQL features to prevent race conditions within a transaction?</p><p><br/></p>",
168
+ "answerOptions": [
169
+ {
170
+ "describe": "<p>[Select Id, Name, Amount__c FROM Credit_Memo__c WHERE Customer_Id__c = :customerId LIMIT 50 FOR UPDATE]</p>",
171
+ "isRight": true
172
+ },
173
+ {
174
+ "describe": "<p>[Select Id, Name, Amount__c FROM Credit_Memo__c WHERE Customer_Id__c = :customerId FOR REFERENCE LIMIT 50]</p>",
175
+ "isRight": false
176
+ },
177
+ {
178
+ "describe": "<p>[Select Id, Name, Amount__c FROM Credit_Memo__c WHERE Customer_Id__c = :customerId LIMIT 50 FOR PREFERENCE]</p>",
179
+ "isRight": false
180
+ },
181
+ {
182
+ "describe": "<p>The executeBatch must fall within test.startTest() and test.stopTest().</p>",
183
+ "isRight": false
184
+ }
185
+ ],
186
+ "hashCode": "2019145425",
187
+ "analysis": "<p>https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_for_update.htm</p>"
188
+ },
189
+ {
190
+ "describe": "<p>Refer to the code snippet below:</p><p>01&nbsp; public void createChildRecord(String externalIdenifier) {</p><p>02&nbsp; &nbsp; &nbsp; Account parentAccount;</p><p>03</p><p>04&nbsp; &nbsp; &nbsp; Contact newContact = new contact();</p><p>05&nbsp; &nbsp; &nbsp; newContact.Account = parentAccount;</p><p>06</p><p>07&nbsp; &nbsp; &nbsp; &nbsp;insert(newContact);</p><p>08&nbsp; }</p><p>As part of an integration development effort, a developer is tasked to create an Apex method that solely relies on the use of foreign&nbsp;</p><p>identifiers in order to relate new contact records to existing Accounts in Salesforce. The account object contains a field marked as&nbsp;</p><p>an external ID, the API Name of this field is Legacy_Id__c.</p><p>What is the most efficient way to instantiate the parentAccount variable on line 02 to ensure the newly created contact is properly&nbsp;</p><p>related to the Account?</p><p><br/></p>",
191
+ "answerOptions": [
192
+ {
193
+ "describe": "<p>Account parentAccount = [SELECT Id FROM Account WHERE Legacy_Id__c =:externalIdentifier].Id;</p>",
194
+ "isRight": false
195
+ },
196
+ {
197
+ "describe": "<p>Account parentAccount = new Account (Legacy_Id__c =externalIdentifier);</p>",
198
+ "isRight": false
199
+ },
200
+ {
201
+ "describe": "<p>Account parentAccount = [SELECT Id FROM Account WHERE Legacy_Id__c =:externalIdentifier];</p>",
202
+ "isRight": true
203
+ },
204
+ {
205
+ "describe": "<p>Account parentAccount = new Account();</p><p>parentAccount.Id =externalIdentifier;</p><p><br/></p>",
206
+ "isRight": false
207
+ }
208
+ ],
209
+ "hashCode": "2019145424",
210
+ "analysis": ""
211
+ },
212
+ {
213
+ "describe": "<p>trigger AssignOwnerByRegion on Account(before insert, before update)</p><p>{</p><p>&nbsp; &nbsp;List&lt;Account&gt; accountList = new List&lt;Account&gt;();</p><p>&nbsp; &nbsp;for(Account anAccount : trigger.new )</p><p>&nbsp; &nbsp;{</p><p>&nbsp; &nbsp; &nbsp; Region__c theRegion = [SELECT Id, Name, Region_Manager__c FROM Region__c WHERE Name= :anAccount.Region_Name__c];</p><p>&nbsp; &nbsp; &nbsp; anAccount.OwnerId = theRegion.Region_Manager__c;</p><p>&nbsp; &nbsp; &nbsp; accountList.add(anAccount);</p><p>&nbsp; &nbsp;}</p><p>&nbsp; &nbsp;update accountList;</p><p>}</p><p><br/></p><p>Consider the above trigger intended to assign the Account to the manager of the Account&#39;s region.</p><p>Which two changes should a developer make in this trigger to adhere to best practices? Choose 2 answers</p><p><br/></p>",
214
+ "answerOptions": [
215
+ {
216
+ "describe": "<p>Remove the last line updating accountList as it is not needed.</p>",
217
+ "isRight": true
218
+ },
219
+ {
220
+ "describe": "<p>Move the Region__c query to outside the loop.</p>",
221
+ "isRight": true
222
+ },
223
+ {
224
+ "describe": "<p>Use a Map accountMap instead of List accountList.</p>",
225
+ "isRight": false
226
+ },
227
+ {
228
+ "describe": "<p>Use a Map to cache the results of the Region__c query by Id.</p>",
229
+ "isRight": false
230
+ }
231
+ ],
232
+ "hashCode": "2019145392",
233
+ "analysis": ""
234
+ },
235
+ {
236
+ "describe": "<p>A company has code to update a Request and Request Lines and make a callout to their external ERP system&#39;s REST endpoint with the updated records.</p><p><br/></p><p>public void updateAndMakeCallout(Map&lt;Id, Request__c&gt; reqs,</p><p>Map&lt;Id, Request_Line__c&gt; reqLines) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Savepoint sp = Database.setSavepoint( );</p><p><br/></p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;try {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;insert reqs.values( );</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;insert reqLines.values( );</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;HttpResponse response = CalloutUtil.makeRestCallout(reqs.keySet( ), reqLines.keySet( ));</p><p>&nbsp; &nbsp; &nbsp; &nbsp;} catch (Exception e) {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Database.rollback (sp) ;</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System.debug(e) ;</p><p>&nbsp; &nbsp; &nbsp; &nbsp;}</p><p>}</p><p><br/></p><p>The CalloutUtil.makeRestCallout fails with a &#39;You have uncommitted work pending. Please commit or rollback before calling out&#39; error.</p><p><br/></p><p>What should be done to address the problem?</p><p><br/></p>",
237
+ "answerOptions": [
238
+ {
239
+ "describe": "<p>Remove the Database.setSavepoint and Database.rollback.</p>",
240
+ "isRight": false
241
+ },
242
+ {
243
+ "describe": "<p>Change the CalloutUtil.makeRestCallout to an @future method.</p>",
244
+ "isRight": true
245
+ },
246
+ {
247
+ "describe": "<p>Change the CalloutUtil.makeRestCallout to an @InvocableMethod method.</p>",
248
+ "isRight": false
249
+ },
250
+ {
251
+ "describe": "<p>Move the CalloutUtil.makeRestCallout method call below the catch block.</p>",
252
+ "isRight": false
253
+ }
254
+ ],
255
+ "hashCode": "2019145391",
256
+ "analysis": ""
257
+ }
258
+ ],
259
+ "hashCode": "443919539"
260
+ }
package/lib-json/map.json CHANGED
@@ -6,6 +6,15 @@
6
6
  "Dev1流程自动化与逻辑2.json",
7
7
  "Dev1测试_调试_部署.json",
8
8
  "Dev1用户界面.json",
9
+ "[DEV2]Salesforce基础.json",
10
+ "[DEV2]性能.json",
11
+ "[DEV2]模拟卷A.json",
12
+ "[DEV2]模拟卷B.json",
13
+ "[DEV2]测试与部署.json",
14
+ "[DEV2]用户界面1.json",
15
+ "[DEV2]用户界面2.json",
16
+ "[DEV2]逻辑、流程自动化和集成1.json",
17
+ "[DEV2]逻辑、流程自动化和集成2.json",
9
18
  "[JS]第一章 变量-类型-集合.json",
10
19
  "[JS]第七章 测试.json",
11
20
  "[JS]第三章 浏览器和事件.json",
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@palerock/exam-qa",
3
- "version": "1.0.6-patch19",
3
+ "version": "1.0.6-patch20",
4
4
  "description": "A Vue.js project",
5
5
  "author": "ryan <1184518756@qq.com>",
6
6
  "scripts": {
7
7
  "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
8
8
  "start": "npm run dev",
9
9
  "build": "node build/build.js",
10
+ "gen-map": "node gen-map.js",
10
11
  "publish-pacakge": "npm run build && node gen-map.js && npm publish --access public --tag latest",
11
12
  "publish-pacakge-no-map": "npm run build && npm publish --access public --tag latest"
12
13
  },
@@ -1,321 +0,0 @@
1
- {
2
- "title": "Salesforce-Admin(302)-[Set-10]",
3
- "category": "Salesforce Admin",
4
- "questions": [
5
- {
6
- "describe": "Which Salesforce feature should be used to disable access to all objects in a custom application?",
7
- "answerOptions": [
8
- {
9
- "isRight": true,
10
- "describe": "Profiles"
11
- },
12
- {
13
- "isRight": false,
14
- "describe": "Sharing"
15
- },
16
- {
17
- "isRight": false,
18
- "describe": "Web tabs"
19
- },
20
- {
21
- "isRight": false,
22
- "describe": "Page layouts"
23
- }
24
- ]
25
- },
26
- {
27
- "describe": "Which statement about multi‐day and all‐day events is TRUE",
28
- "answerOptions": [
29
- {
30
- "isRight": false,
31
- "describe": "All‐Day Events have a start and end time"
32
- },
33
- {
34
- "isRight": false,
35
- "describe": "Multi‐Day Event cannot be set as All‐Day Event"
36
- },
37
- {
38
- "isRight": false,
39
- "describe": "All‐Day Events have a check box for flagging as Multi‐Day Events"
40
- },
41
- {
42
- "isRight": true,
43
- "describe": "Multi‐Day Events have a start and end time"
44
- }
45
- ]
46
- },
47
- {
48
- "describe": "If the organization‐wide default on accounts is set to public read/write, what can be used to limit access to these records?",
49
- "answerOptions": [
50
- {
51
- "isRight": true,
52
- "describe": "Profile"
53
- },
54
- {
55
- "isRight": false,
56
- "describe": "List views"
57
- },
58
- {
59
- "isRight": false,
60
- "describe": "Public groups"
61
- },
62
- {
63
- "isRight": false,
64
- "describe": "Role hierarchy"
65
- }
66
- ]
67
- },
68
- {
69
- "describe": "Currencies are defined at which level?\n*Choose 3 answers*",
70
- "answerOptions": [
71
- {
72
- "isRight": false,
73
- "describe": "Record type"
74
- },
75
- {
76
- "isRight": true,
77
- "describe": "Organization profile"
78
- },
79
- {
80
- "isRight": true,
81
- "describe": "Opportunity (record)"
82
- },
83
- {
84
- "isRight": true,
85
- "describe": "User record (personal setup)"
86
- }
87
- ]
88
- },
89
- {
90
- "describe": "When a user with pending approval requests leaves an organization, what can administrator do with the pending requests?\n*Choose 2 answers*",
91
- "answerOptions": [
92
- {
93
- "isRight": false,
94
- "describe": "Mass approve pending requests"
95
- },
96
- {
97
- "isRight": true,
98
- "describe": "Mass remove pending requests"
99
- },
100
- {
101
- "isRight": true,
102
- "describe": "Mass transfer pending requests"
103
- },
104
- {
105
- "isRight": false,
106
- "describe": "Change the approval process routing steps"
107
- }
108
- ]
109
- },
110
- {
111
- "describe": "If a record has been manually shared with read/write access, the user will be able to do which of the following?",
112
- "answerOptions": [
113
- {
114
- "isRight": true,
115
- "describe": "Edit the record"
116
- },
117
- {
118
- "isRight": false,
119
- "describe": "Delete the record"
120
- },
121
- {
122
- "isRight": false,
123
- "describe": "Change the owner of the record"
124
- },
125
- {
126
- "isRight": false,
127
- "describe": "Share the record to another user with full access"
128
- }
129
- ]
130
- },
131
- {
132
- "describe": "Which item cannot be stored in a folder?",
133
- "answerOptions": [
134
- {
135
- "isRight": true,
136
- "describe": "Emails"
137
- },
138
- {
139
- "isRight": false,
140
- "describe": "Reports"
141
- },
142
- {
143
- "isRight": false,
144
- "describe": "Documents"
145
- },
146
- {
147
- "isRight": false,
148
- "describe": "Dashboards"
149
- }
150
- ]
151
- },
152
- {
153
- "describe": "If a record that matches the criteria of a workflow rule is created on July 1 and the close date is July 30, the time‐dependent action is scheduled for July 23. However, what happens if the opportunity is edited before July 23 and no longer meets the criteria?",
154
- "answerOptions": [
155
- {
156
- "isRight": false,
157
- "describe": "The time‐dependent action is put on hold"
158
- },
159
- {
160
- "isRight": false,
161
- "describe": "The time‐dependent action is sent on July 23"
162
- },
163
- {
164
- "isRight": false,
165
- "describe": "The time‐dependent action is sent on July 30"
166
- },
167
- {
168
- "isRight": true,
169
- "describe": "The time‐dependent action is automatically removed from the queue"
170
- }
171
- ]
172
- },
173
- {
174
- "describe": "Which UI component allows easy access to recent tags?",
175
- "answerOptions": [
176
- {
177
- "isRight": false,
178
- "describe": "Tag Browser"
179
- },
180
- {
181
- "isRight": false,
182
- "describe": "Edit Tags link"
183
- },
184
- {
185
- "isRight": false,
186
- "describe": "Tag links in the header"
187
- },
188
- {
189
- "isRight": true,
190
- "describe": "Sidebar Tag widget"
191
- }
192
- ]
193
- },
194
- {
195
- "describe": "Which statement is TRUE regarding record types?\n*Choose 2 answers*",
196
- "answerOptions": [
197
- {
198
- "isRight": true,
199
- "describe": "Record types can be hidden from users"
200
- },
201
- {
202
- "isRight": false,
203
- "describe": "Record types are controlled by the page layout"
204
- },
205
- {
206
- "isRight": false,
207
- "describe": "Record types can only be assigned to one profile at a time"
208
- },
209
- {
210
- "isRight": true,
211
- "describe": "Record types can be used to define different picklist values for different types of users"
212
- }
213
- ]
214
- },
215
- {
216
- "describe": "Charting is a report option that can be used on",
217
- "answerOptions": [
218
- {
219
- "isRight": false,
220
- "describe": "All reports"
221
- },
222
- {
223
- "isRight": false,
224
- "describe": "Dashboards and summary reports only"
225
- },
226
- {
227
- "isRight": false,
228
- "describe": "Matrix and custom report types only"
229
- },
230
- {
231
- "isRight": true,
232
- "describe": "Dashboards, summary and matrix reports"
233
- }
234
- ]
235
- },
236
- {
237
- "describe": "Once category browsing has been enabled for an organization which permission is needed to add a category to a solution record?",
238
- "answerOptions": [
239
- {
240
- "isRight": true,
241
- "describe": "Edit on solutions"
242
- },
243
- {
244
- "isRight": false,
245
- "describe": "Read on solution"
246
- },
247
- {
248
- "isRight": false,
249
- "describe": "Delete on solutions"
250
- },
251
- {
252
- "isRight": false,
253
- "describe": "Create on solution"
254
- }
255
- ]
256
- },
257
- {
258
- "describe": "Which function is available with standard fields?\n*Choose 2 answers*",
259
- "answerOptions": [
260
- {
261
- "isRight": true,
262
- "describe": "Adding context‐sensitive help"
263
- },
264
- {
265
- "isRight": false,
266
- "describe": "Deleting fields"
267
- },
268
- {
269
- "isRight": true,
270
- "describe": "Adding or removing non‐required fields from a page layout"
271
- },
272
- {
273
- "isRight": false,
274
- "describe": "Changing field labels"
275
- }
276
- ]
277
- },
278
- {
279
- "describe": "Lead assignment rules are used to\n*Choose 2 answers*",
280
- "answerOptions": [
281
- {
282
- "isRight": true,
283
- "describe": "Assign leads to lead queues"
284
- },
285
- {
286
- "isRight": true,
287
- "describe": "Assign leads to individuals that are users In Salesforce"
288
- },
289
- {
290
- "isRight": false,
291
- "describe": "Convert new leads to accounts and give assignments to appropriate users"
292
- },
293
- {
294
- "isRight": false,
295
- "describe": "Re‐assign leads if they have been neglected and reassign to individuals in Salesforce"
296
- }
297
- ]
298
- },
299
- {
300
- "describe": "Email templates (text, HTML with letterhead, and Custom HTML) may include which of the following?\n* Choose 3 answers*",
301
- "answerOptions": [
302
- {
303
- "isRight": true,
304
- "describe": "Text"
305
- },
306
- {
307
- "isRight": true,
308
- "describe": "Merge fields"
309
- },
310
- {
311
- "isRight": true,
312
- "describe": "Attached files"
313
- },
314
- {
315
- "isRight": false,
316
- "describe": "Macros"
317
- }
318
- ]
319
- }
320
- ]
321
- }