AEM Sites Developer Professional study materials
AEM Sites Developer Professional study resources

AEM Sites Developer Professional practice questions

One question at a time. Build your AEM Sites Developer Professional understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1AEM Sites architecture and administration

In a standard AEM 6.5 author and publish deployment, which persistence manager is used by default?

  1. RDBMK
  2. DocMK
  3. TarMK Correct answer.
  4. MongoMK

Explanation

TarMK, the segment node store, is the default persistence manager for both author and publish in a standard AEM 6.x installation. MongoMK is introduced only when a clustered, shared-repository topology is required.

Question 2AEM Sites architecture and administration

Which node type must the node representing a page have in the AEM repository?

  1. nt:file
  2. nt:unstructured
  3. sling:Folder
  4. cq:Page Correct answer.

Explanation

Pages are stored as cq:Page nodes, with the page properties and components held in a cq:PageContent child named jcr:content. The cq:Page node type is what makes the node editable and renderable as a page.

Question 3AEM Sites architecture and administration

Where are editable templates and their associated policies stored by default?

  1. /libs/settings/wcm
  2. /content/dam/templates
  3. /etc/templates
  4. /conf Correct answer.

Explanation

Editable templates, their structure and their policies live under the configuration layer, for example /conf/<project>/settings/wcm. This keeps project configuration separate from product code in /libs.

Question 4AEM Sites architecture and administration

What is the primary role of the AEM Dispatcher in a publish tier?

  1. Running scheduled workflow jobs
  2. Storing binary assets in the data store
  3. Rendering HTL components on the server
  4. Caching and filtering requests Correct answer.

Explanation

The Dispatcher sits in front of the publish instances, caches responses on disk and applies filter rules that block unwanted requests before they reach AEM. It does not render content or execute applications.

Question 5AEM Sites architecture and administration

Which AEM instance is used by content authors to create and edit pages?

  1. The author instance Correct answer.
  2. The publish instance
  3. The Dispatcher
  4. The cold standby

Explanation

Authors work on the author instance, which provides the editing interface, workflows and the replication agents used to push content to publish. Publish instances serve the delivered site.

Question 6AEM Sites architecture and administration

What is the function of a replication agent in AEM?

  1. It pushes content from the author to the publish instances Correct answer.
  2. It indexes content stored in the Oak repository
  3. It compiles and minifies client-side libraries
  4. It creates backups of the segment store

Explanation

A replication agent on author serializes content and transports it to a receiver on the publish instance. The default agent on author targets the publish instance's receiver.

Question 7AEM Sites architecture and administration

Which run mode is automatically applied to a publish instance?

  1. samplecontent
  2. nosamplecontent
  3. publish Correct answer.
  4. author

Explanation

A publish instance is started with the publish run mode, which activates publish-specific configurations and components. Additional run modes such as nosamplecontent are commonly added on top for production.

Question 8AEM Sites architecture and administration

Which AEM tool is used to build, upload and install a content package?

  1. Workflow Console
  2. OSGi Web Console
  3. Package Manager Correct answer.
  4. CRXDE Lite

Explanation

Package Manager builds, uploads and installs content packages, and shows the filters and dependencies of each package. It is the standard way to move content and configuration between instances.

Question 9AEM Sites architecture and administration

An author publishes a page, the publish instance contains the new content, but the public URL still shows the previous version. Which component most likely still serves stale content?

  1. The page template has been locked by another author
  2. The publish instance's segment store is corrupted
  3. The author's replication agent is disabled
  4. The Dispatcher cache still holds the previously cached page Correct answer.

Explanation

The Dispatcher keeps serving a cached document until a flush agent invalidates it, so successful replication alone does not refresh delivery. When publish holds the new content but the URL does not, the cache is examined first.

Question 10AEM Sites architecture and administration

What is the purpose of the /etc/map configuration in AEM?

  1. Mapping incoming URLs to repository content paths Correct answer.
  2. Defining run modes for OSGi components
  3. Throttling the replication queue on author
  4. Storing user group membership for the site

Explanation

Sling evaluates the mapping rules under /etc/map to rewrite incoming request URLs into repository paths, which enables short or branded URLs. Mapping happens before resource resolution.

Question 11AEM Sites architecture and administration

In Multi Site Manager, what does a rollout configuration define?

  1. Which properties are pushed from the blueprint to live copies and when Correct answer.
  2. Which users may edit the blueprint page
  3. How often translation jobs are scheduled
  4. Which replication agents activate the live copies

Explanation

A rollout configuration lists the trigger (such as on modification or on activation) and the properties and components that are propagated from the blueprint. This governs how much of a live copy stays synchronized.

Question 12AEM Sites architecture and administration

Where are the policies used by an editable template stored?

  1. In the cq:PageContent node of each page
  2. Under /conf/<project>/settings/wcm/policies Correct answer.
  3. In /content/dam next to the template
  4. Inside the template's jcr:content node

Explanation

Policies, which are named sets of component properties, are stored separately under the project's policy path and referenced from the template structure. This allows one policy to be reused across multiple templates.

Question 13AEM Sites architecture and administration

A customer needs several country sites that share a common base but may override content independently per country. Which AEM capability is designed for this?

  1. Language copy combined with a translation workflow
  2. Live copies created with Multi Site Manager Correct answer.
  3. Version purging configured on each site
  4. Nightly content packages exported between sites

Explanation

Multi Site Manager creates live copies that inherit from a blueprint while allowing local overrides, which matches the multi-country requirement. Language copies translate one site's content but do not provide per-site inheritance and override.

Question 14AEM Sites architecture and administration

Which Oak index construct is needed to serve queries that filter efficiently on a custom property?

  1. The counter index used for ordered child nodes
  2. The reference index maintained for mix:referenceable nodes
  3. A property index defined under oak:index Correct answer.
  4. The nodetype index, which covers all property filters

Explanation

A property index declares the property and its type so Oak can answer equality and range filters without walking the tree. Without such an index the query logs a traversal warning and scales poorly.

Question 15AEM Sites architecture and administration

What does the Version Manager's purge configuration control?

  1. How the segment store is compacted
  2. How often client libraries are rebuilt
  3. How many versions are kept and for how long Correct answer.
  4. Which workflow instances are removed on completion

Explanation

Purge settings define the maximum number of versions and the maximum version age retained per node, so old versions are removed automatically. This keeps the repository from growing without limit.

Question 16AEM Sites architecture and administration

A workflow must start automatically whenever a page under /content/mysite is modified. Which feature provides this?

  1. Workflow launchers Correct answer.
  2. Editable template policies
  3. Dispatcher flush rules
  4. OSGi configuration factories

Explanation

A workflow launcher listens for node events matching a path and node type and starts a workflow instance automatically. It can be conditioned on event type and further filtered by a condition.

Question 17AEM Sites architecture and administration

A background service must read repository content regardless of which user triggered it. Which approach follows AEM security best practice?

  1. Reuse the replication agent's session
  2. Use a ResourceResolver from a mapped service user Correct answer.
  3. Log in as the anonymous user for the read
  4. Use the administrative session that is created for the request

Explanation

A service user mapped through the Service User Mapper gives the service exactly the permissions it needs without relying on an administrative session. The session bound to a request carries the requesting user's permissions.

Question 18AEM Sites architecture and administration

An author cannot see the Publish button on a page while colleagues can. What is the most likely cause?

  1. The page node is missing its cq:template property
  2. The author's group lacks replication privileges on the page path Correct answer.
  3. The replication agent queue on author is blocked
  4. The Dispatcher cache still holds an older copy of the page

Explanation

Activation is governed by ACL privileges on the content path, so a group without the replicate privilege does not get the Publish action. The UI reflects the effective permissions of the signed-in user.

Question 19AEM Sites architecture and administration

Where are binary assets uploaded to /content/dam stored by default in a TarMK-based instance?

  1. In a MongoDB GridFS bucket referenced by the asset node
  2. In the file data store on the filesystem Correct answer.
  3. Inline as base64 inside the asset's node properties
  4. In the /etc/dam folder inside the repository

Explanation

With the default file data store, binaries are written to the filesystem under the repository's datastore directory and the asset node holds a reference to that record. The repository keeps metadata, not the bytes.

Question 20AEM Sites architecture and administration

Which client library property controls whether one category's JavaScript is loaded before another category?

  1. channels
  2. categories
  3. dependencies Correct answer.
  4. embed

Explanation

The dependencies property lists categories that must be loaded before the library's own category, which determines script and stylesheet ordering. Ordering is resolved across the dependency graph at render time.

Question 21AEM Sites architecture and administration

Which statement about compaction of the TarMK segment store is correct?

  1. It is available only when the repository uses MongoMK persistence
  2. It runs only while the instance is shut down, as part of offline maintenance
  3. It reclaims disk space by dropping segments that contain no live revisions Correct answer.
  4. It deletes the repository and rebuilds it from installed content packages

Explanation

Compaction rewrites the segment store and discards segments whose revisions are all obsolete, reducing disk usage. Online compaction runs while AEM is running, while offline compaction requires a shutdown.

Question 22AEM Sites architecture and administration

Which statement describes reverse replication correctly?

  1. Content created on publish is sent to author by an agent, then re-distributed Correct answer.
  2. It resolves conflicts automatically by preferring the publish version
  3. It uses the activation agent on publish, just in the opposite direction
  4. It requires MongoMK, because TarMK cannot hold reverse-replicated content

Explanation

A reverse replication agent on publish queues content created there, such as form submissions or community content, and author pulls it into its inbox. Author can then activate the content onward to the other publish instances.

Question 23AEM Sites architecture and administration

Which part of a Dispatcher farm configuration determines which URL paths may be cached?

  1. The /statfileslevel property, which sets invalidation depth
  2. The /renders section, which maps content types to renderers
  3. The /filter section, which lists allowed and denied URL patterns
  4. The /cache /rules section of the farm Correct answer.

Explanation

Allow and deny rules inside the cache section decide which request paths the Dispatcher is permitted to store. Filter rules separately control which requests are allowed through to the publish instances.

Question 24AEM Sites architecture and administration

An Oak query logs a traversal warning. What does this indicate?

  1. The query was answered by a Lucene index and is therefore fast
  2. The index is being rebuilt asynchronously in the background
  3. No index matched the query, so the repository was scanned node by node Correct answer.
  4. The query returned no results because of a permission filter

Explanation

A traversal warning means Oak could not find a suitable index and fell back to walking the tree, which is expensive on large repositories. The usual remedy is to add or adjust an index for the queried properties.

Question 25AEM Sites architecture and administration

Which statement about combined run modes in AEM is correct?

  1. Run modes must be a single word with no separators
  2. Run-mode configuration is stored in /etc/runmodes rather than in config folders
  3. An instance can run only one run mode at a time, which makes combined run mode folders unnecessary
  4. A folder named config.author.dev applies only when both author and dev run modes are active Correct answer.

Explanation

Run modes can be combined, and a configuration folder named with several run modes applies only when all of them are active on the instance. Such run-mode-specific folders also take precedence over the plain config folder for the same PID.

Question 26AEM Sites architecture and administration

In a standard AEM project, where should custom application code such as components, HTL scripts and OSGi bundle configurations be deployed?

  1. Under /etc
  2. Under /content
  3. Under /apps Correct answer.
  4. Under /var

Explanation

AEM reserves /apps for project and application code, including components, templates and configuration nodes. Content authored by business users belongs in /content, while /libs holds product code that should not be modified directly.

Question 27AEM Sites architecture and administration

Which built-in AEM tool provides a browser-based interface for browsing and editing nodes directly in the JCR repository?

  1. CRXDE Lite Correct answer.
  2. Workflow Console
  3. Web Console
  4. Package Manager

Explanation

CRXDE Lite is the browser-based repository explorer shipped with AEM, allowing developers to view and edit nodes and properties. Package Manager handles content packages, the Web Console exposes OSGi state, and the Workflow Console manages workflow instances.

Question 28AEM Sites architecture and administration

Which node type represents a page in the AEM content repository?

  1. cq:Component
  2. nt:file
  3. cq:Page Correct answer.
  4. sling:Folder

Explanation

A page is stored as a cq:Page node whose jcr:content child holds the page content, commonly typed cq:PageContent. Components are defined with cq:Component, while nt:file and sling:Folder describe other repository structures.

Question 29AEM Sites architecture and administration

Where are editable templates stored by default in an AEM repository?

  1. /content/dam/templates
  2. /apps/<site>/templates
  3. /libs/wcm/core/templates
  4. /conf/<site>/settings/wcm/templates Correct answer.

Explanation

Editable templates live under the site's configuration branch at /conf/<site>/settings/wcm/templates, which lets them be edited at runtime and associated with policies. Static templates, by contrast, are code artifacts stored under /apps.

Question 30AEM Sites architecture and administration

Which Oak node store is required when several AEM publish instances must share a single repository?

  1. DocumentNodeStore backed by MongoDB Correct answer.
  2. MemoryNodeStore
  3. SegmentNodeStore (TarMK)
  4. CompositeNodeStore with read-only mounts

Explanation

A shared repository across multiple AEM instances requires a DocumentNodeStore, typically backed by MongoDB, because it coordinates concurrent access through a cluster journal. TarMK is a file-based store intended for a single active writer per repository.

Question 31AEM Sites architecture and administration

A servlet is registered with @SlingServletResourceTypes(resourceTypes = "mysite/components/page", extensions = "json"). Which request will it handle?

  1. A request for a resource whose sling:resourceType is mysite/components/page with the json extension Correct answer.
  2. Any request ending in .json received by the publish instance
  3. Requests to any servlet path registered beneath /bin
  4. Only requests addressed directly to the path /mysite/components/page.json

Explanation

Sling resolves servlets by matching the resource type of the requested resource together with the request extension and selectors. The servlet therefore handles requests for resources typed mysite/components/page with a .json extension, wherever those resources are located.

Question 32AEM Sites architecture and administration

What does the statfileslevel property in a Dispatcher farm configuration control?

  1. The number of cached versions kept for each URL
  2. The list of URL patterns the Dispatcher is allowed to cache
  3. The time-to-live applied to cached responses before they are refetched
  4. The directory depth at which stat files are created, which determines how widely cached content is invalidated Correct answer.

Explanation

Stat files record the last modification at a given folder depth, and the level setting decides how deep those marker files are placed. A higher level narrows invalidation to the affected subtree, while a lower level invalidates broader sections of the cache.

Question 33AEM Sites architecture and administration

How does a language copy differ from a live copy in AEM?

  1. A language copy stores its relationship in /etc/map
  2. A live copy is read-only and cannot be edited on the target
  3. A language copy is automatically updated whenever the source page changes
  4. A language copy is an independent copy with no ongoing inheritance, while a live copy maintains a live relationship with its source Correct answer.

Explanation

Creating a language copy produces standalone pages that translators and authors can edit without affecting the source. A live copy keeps a live relationship with a blueprint, so rollout configurations can propagate changes and local overrides are tracked.

Question 34AEM Sites architecture and administration

An OSGi configuration must be active only on author instances. Where should the configuration file be placed in the project package?

  1. config.publish
  2. config.author.publish
  3. config
  4. config.author Correct answer.

Explanation

Sling applies configuration folders whose run mode suffix matches the instance's active run modes. Naming the folder config.author restricts the configuration to author instances, while a plain config folder applies to every instance.

Question 35AEM Sites architecture and administration

Which approach correctly gives a background OSGi component repository access without running as admin?

  1. Obtain an admin session inside the component at runtime
  2. Store admin credentials in an OSGi configuration property
  3. Create a service user mapped to the bundle and grant it only the required ACLs Correct answer.
  4. Reuse the invoking user's session by disabling service authentication

Explanation

AEM security practice is to map a dedicated service user to the bundle, usually through a repo-init script in the package, and grant that user the minimum permissions needed. The component then obtains a resource resolver through the service user mapping instead of elevating to admin.

Question 36AEM Sites architecture and administration

Which workflow is started by default when a new asset is uploaded into the DAM?

  1. Activate Asset
  2. DAM Metadata Writeback
  3. DAM Update Asset Correct answer.
  4. Asset Review

Explanation

Uploading an asset triggers the DAM Update Asset workflow, which extracts metadata, generates renditions and runs related processing steps. Metadata writeback is one step inside that workflow rather than the workflow that starts the upload processing.

Question 37AEM Sites architecture and administration

A component exists at the same relative path under both /apps and /libs. How does AEM resolve it at request time?

  1. An error is raised until one of the two is removed
  2. The version with the most recent modification date is used
  3. The /libs version always takes precedence
  4. The /apps version takes precedence, and /libs is used only when no /apps version exists Correct answer.

Explanation

Sling's resource resolver searches /apps before /libs, so a node placed under /apps overlays the product version at the same path. The /libs node remains as the fallback and as the upgrade-safe source of the original definition.

Question 38AEM Sites architecture and administration

Which statement about a TarMK cold standby instance is correct?

  1. It allows two AEM instances to write to the same segment store at the same time
  2. It load-balances author requests across the primary and the standby
  3. It requires MongoDB to coordinate writes between the instances
  4. It is a passive copy of the segment store kept in sync for failover and does not serve traffic while the primary is active Correct answer.

Explanation

Cold standby continuously copies the segment store to a secondary instance so it can take over if the primary fails. Only the primary is active, so there is no concurrent writing and no request distribution between the two instances.

Question 39AEM Sites architecture and administration

A team wants a new component that reuses the logic of an existing component but supplies its own dialog and HTL script. Which mechanism is intended for this?

  1. Setting sling:resourceSuperType to the original component Correct answer.
  2. Deleting the original component from /libs
  3. Setting sling:resourceType to the original component
  4. Adding a cq:template child to the new component

Explanation

sling:resourceSuperType establishes component inheritance, so the new component inherits scripts and behavior it does not define itself while overriding what it does define. sling:resourceType, by contrast, points a content resource at the component used to render it.

Question 40AEM Sites architecture and administration

Which statement about the Dispatcher and authenticated requests is correct?

  1. Requests carrying authentication information bypass the cache by default and are forwarded to the publish instance Correct answer.
  2. Authenticated responses are cached separately for each user and served from disk
  3. The author instance should be placed behind a caching Dispatcher to improve editor performance
  4. POST requests are cached because Dispatcher keys on the URL only

Explanation

The Dispatcher caches anonymous GET responses; requests that carry authentication headers or session cookies are passed through to the publish instance so personalized content is not shared. This is why protected areas rely on publish-side authentication rather than cached pages.

Question 41Templates and component development

In an HTL script, which block statement instantiates a Java or JavaScript use class and binds it to a variable that the rest of the template can call?

  1. data-sly-include
  2. data-sly-resource
  3. data-sly-call
  4. data-sly-use Correct answer.

Explanation

data-sly-use adapts the current resource (or another object) to a use class and exposes the public members of that class under the variable name given in the attribute. The variable can then be referenced in expressions for the remainder of the script.

Question 42Templates and component development

In Sling Models, which attribute of the @Model annotation declares the classes the model can be adapted from?

  1. adaptables Correct answer.
  2. defaultInjectionStrategy
  3. adapters
  4. resourceType

Explanation

adaptables lists the adaptable types, such as Resource.class and SlingHttpServletRequest.class, from which Sling can create the model instance and for which it registers an adapter factory.

Question 43Templates and component development

Which property on a cq:ClientLibraryFolder node defines the name by which the library is referenced from components and from other client libraries?

  1. allowProxy
  2. categories Correct answer.
  3. sling:resourceType
  4. dependencies

Explanation

The categories property holds one or more category names. Components reference the library through those names, for example in a client library call, and other libraries reference them in dependencies and embed.

Question 44Templates and component development

Which node under a component contains the merged dialog that Sling Resource Merger produces from the component and its super types at runtime?

  1. cq:editConfig
  2. _cq_dialog Correct answer.
  3. cq:template
  4. cq:dialog

Explanation

Sling Resource Merger synthesizes _cq_dialog by merging the cq:dialog node of the component with those of all its super types. The editor reads the merged node, while developers and authors work on the cq:dialog nodes.

Question 45Templates and component development

In an editable template, which child node stores the content that is copied into each new page created from the template?

  1. policies
  2. structure
  3. cq:template
  4. initial Correct answer.

Explanation

The initial node under the template's jcr:content holds the initial content that is copied into the layout container of a newly created page. The structure node, in contrast, holds the layout that is shared by all pages and locked for authors.

Question 46Templates and component development

Which HTL feature selects the appropriate escaping (HTML text, attribute, URI, style, script) for an expression automatically?

  1. The data-sly-attribute statement
  2. Automatic context-aware escaping Correct answer.
  3. data-sly-text
  4. The @ i18n option

Explanation

HTL analyses the syntactic position of each expression and applies the matching escaping, such as HTML, attribute, URI or script context, without the developer writing escape calls.

Question 47Templates and component development

Which Sling Models annotation reads a property from the adaptable resource's value map into a model field?

  1. @ChildResource
  2. @OSGiService
  3. @ValueMapValue Correct answer.
  4. @SlingObject

Explanation

@ValueMapValue injects the value of the named property from the resource's ValueMap. The property name defaults to the field name and can be overridden with the name attribute.

Question 48Templates and component development

What is the recommended way to customize the markup or dialog of a Core Component?

  1. Copy the Core Component node to /apps at the same path
  2. Create a proxy component whose sling:resourceSuperType is the Core Component Correct answer.
  3. Set cq:isContainer on the page component
  4. Edit the component directly under /libs

Explanation

Core Components are extended by creating a proxy component in /apps with sling:resourceSuperType pointing at the core component, then overriding HTL, dialog or policies in the proxy. The /libs tree must never be modified.

Question 49Templates and component development

Several HTL scripts must render the same navigation markup, and the markup takes parameters. Which pair of statements supports this?

  1. data-sly-use and data-sly-unwrap
  2. data-sly-repeat and data-sly-list
  3. data-sly-include and data-sly-resource
  4. data-sly-template and data-sly-call Correct answer.

Explanation

data-sly-template declares a reusable block together with its parameter names, and data-sly-call invokes that block and passes values for those parameters, which avoids duplicating markup across scripts.

Question 50Templates and component development

A Sling Model is annotated @Model(adaptables = Resource.class) and has no other configuration. Which HTL statement creates an instance of it?

  1. ${'com.acme.MyModel' @ i18n}
  2. data-sly-use.model="com.acme.MyModel" Correct answer.
  3. data-sly-resource="com.acme.MyModel"
  4. data-sly-template.model="com.acme.MyModel"

Explanation

data-sly-use with a fully qualified class name asks Sling Models to adapt the current resource to that class. This succeeds because Resource is listed in the adaptables attribute.