A developer is creating a custom component that shows a list of pages. For each page, the following items
must be shown:
Title of the page
Description of the page
A button with fixed text “Read more” that must be translatable
All of the above fields must be wrapped in a
The logic for obtaining the list of pages must be reusable for future components.
Which snippet should the developer use to meet these requirements?

A. Option A
B. Option B
C. Option C
D. Option D
A developer creates a custom component. The component dialog includes the following two fields: The component should display the first `X' characters of the text entered in the `text' input where `X' is the number entered in the `charLimit' input. If zero, or no value, is entered in the `charLimit' input then the text should be unaltered. The developer creates the following Sling Model to perform the trancation:


A Null Pointer Exception occurs if NO charLimit values is set in the component dialog. What should the developer do to resolve this issue?
A. Replace the defaultValue="0" attribute of the `charLimit' field in the dialog with min="0".
B. Add the @Default annotation to the `chatLimit' variable in the Sling Model.
C. Replace the defaultValue="0" attribute of the charLimit field in the dialog with defaultValue="{Long}0".
D. Change the defaultInjectionStrategy of the Truncation Sling Model to DefaultInjectionStrategy.REQUIRED.
A custom AEM application contains Bundle A and Bundle B. Bundle A has a dependency to Bundle B via Import-Package.
How can both bundles be deployed most efficiently across all environments?
A. Use the Felix Web Console to upload the bundles in the correct order.
B. Create one content package per bundle and use a package dependency to ensure installation order.
C. Embed both bundles in one content package and use property `installationOrder' in package properties for correct bundle installation order.
D. Embed both bundles in one content package: the dependency via Import-Package is enough to ensure correct installation.
The custom AEM application needs to keep a flat list of all page paths underneath /content/thesite in
memory for a real-time integration with high performance requirements.
The developer has the following intermediate state of the class:

What action should the developer take to meet these requirements? A. Option A

B. Option B
C. Option C
D. Option D
A developer is working on a project locally and needs to install packages manually. The deployments to the localhost must be automated to speed up development. This functionality must be toggled on and off, depending on the needs of the developer.
Which step should the developer take to achieve this?
A. Configure the maven install plugin by defining the target URL, username, and password as maven properties.
B. Run maven with the deploy phase. Maven will install the package on all local AEM instances running without further configuration.
C. Add a maven profile and configure the content package maven plugin within this profile.
D. Write a script that does a PUT call to AEM each time maven builds a new package.
A developer wants to automatically truncate request log files once they exceed 10 MB.
Which OSGi configuration should the developer modify?
A. Apache Sling Customizable Request Data Logger
B. Adobe Granite Log Analysis Service
C. Apache Sling Logging Writer Configuration
D. Apache Sling Logging Configuration
A developer has a component named foobar with the following file:
foobar.html

What is the output when the component is rendered?

A. Option A
B. Option B
C. Option C
D. Option D
Which environment variable in the AEM start script should a developer modify to enable remote debugging?
A. CQ_HOST
B. CQ_JVM_OPTS
C. CQ_PORT
D. CQ_RUNMODE
In which maven build phase is the content package assembled?
A. compile
B. deploy
C. package
D. install
A developer needs to change the label "Sites" in the navigation of AEM author to "Websites".
Which action should the developer take to achieve this?
A. Modify the node /libs/cq/core/content/nav/sites by updating the icr:title property value.
B. Change the code of /libs/granite/ui/components/shell/clientlibs/shell/js/globalnav.js to display the new value.
C. Create a new node /apps/cq/core/content/nav/sites and update the property icr:title.
D. Modify the code of /libs/granite/ui/components/shell/globalnav/overlay/overlay.jsp to display the new value.