01. A Lightning web component stores an object in a private field. An internal method changes one property of that object without reassigning the field, and the template must re-render to show the new value.
Which decorator ensures this?
a) @track
b) @api
c) @wire
d) @readonly
02. Which two conditions indicate a need for asynchronous Apex rather than synchronous trigger logic?
(Choose 2 answers)
a) Complex validations on every DML
b) Immediate response required for UI
c) High-volume record processing
d) Long-running callouts
03. A Lightning web component is nested inside an Aura component and must notify the Aura parent when a user selects a record.
Which statement is correct?
a) Aura can only receive events from Aura components.
b) The Lightning web component can dispatch a CustomEvent that the Aura component handles.
c) The Lightning web component must wrap the event inside a platform event.
d) Aura receives events from Lightning web components only if they are application events.
04. A custom controller's save() action calls three helper methods. Each helper validates part of the input and, when validation fails, calls ApexPages.addMessage() with an ERROR-severity message instead of throwing an exception. The DML must run only when none of the helpers reported an error.
Which check should the action perform after calling the helpers?
a) Wrap the DML in a try/catch block that catches the errors the helpers added.
b) Perform the DML only when ApexPages.getMessages() returns null.
c) Return null when ApexPages.hasMessages(ApexPages.Severity.ERROR) is true; otherwise perform the DML.
d) Perform the DML only when ApexPages.currentPage().getParameters() does not contain an error key.
05. An enterprise org's metadata has grown into one large set that every team deploys together. The architect wants each business capability to become a separate module that is built from source control, carries its own version number, can declare dependencies on other modules, and can be upgraded in place in production.
Which packaging approach should the team adopt?
a) Unmanaged packages
b) Unlocked packages
c) Change sets grouped by business capability
d) First-generation managed packages built in a packaging org
06. To stop intermittent UNABLE_TO_LOCK_ROW failures from a few test classes that update the same records, an administrator turned on the org option that disables parallel Apex testing. Full test runs are now much slower. Most test classes create only their own data and never contend for the same rows.
What should the developer do so that those independent test classes still run in parallel?
a) Annotate the independent classes with @isTest(SeeAllData=false).
b) Wrap each test method's logic in Test.startTest() and Test.stopTest().
c) Move the data creation in the independent classes into @TestSetup methods.
d) Annotate the independent classes with @isTest(isParallel=true).
07. Which optimization helps reduce record-locking contention when updating related records?
a) Using multiple triggers per object
b) Ordering DML operations consistently
c) Increasing batch size to 5000
d) Using @future for synchronous operations
08. A developer stores reusable rule definitions as custom metadata type records. Each rule record must reference a parent grouping record of another custom metadata type and the specific object field the rule evaluates, and the full set must deploy between orgs with those references intact.
Which custom metadata feature should the developer use?
a) Custom metadata relationships
b) Protected metadata records
c) List custom settings
d) External ID fields
09. Which two strategies improve isolation of failures during Apex unit tests?
(Choose 2 answers)
a) Write tests that depend on user locale settings
b) Use Test.startTest() and Test.stopTest()
c) Use static variables to share state between tests
d) Use dependency injection for service-layer classes
10. Universal Containers enables advanced currency management. Its corporate currency is USD, and it also sells in EUR. A developer is writing Apex for a reconciliation report that converts EUR amounts on closed opportunities and EUR amounts on a custom Invoice__c object to USD, and the results must match the converted values the platform itself shows on each record.
Which conversion rate should the developer apply to each object?
a) The static CurrencyType rate for both objects, because dated rates are applied only inside reports
b) The dated rate in effect on each record's created date, for both opportunities and Invoice__c
c) Each opportunity's close-date dated rate, and the static CurrencyType rate for Invoice__c
d) Today's dated rate for both objects, so every amount is converted at the current rate