AEM Sites Architect Master study materials
AEM Sites Architect Master study resources

AEM Sites Architect Master practice questions

One question at a time. Build your AEM Sites Architect Master 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 1Solution architecture and requirements analysis

In AEM, which construct is the primary unit for packaging and deploying application code, configurations, and content together?

  1. A content package built with the Package Manager or FileVault Correct answer.
  2. A dispatcher farm definition
  3. A client library folder
  4. A workflow model

Explanation

A content package (zip with a FileVault filter and metadata) is AEM's standard deployment artifact for code, config, and content. It can be installed via Package Manager, the package install service, or the HTTP API.

Question 2Solution architecture and requirements analysis

An architect must ensure a new component's editable fields appear in the component dialog for authors. Which AEM concept defines those authoring fields?

  1. The component's cq:dialog node Correct answer.
  2. The component's design dialog
  3. The component's sling:resourceSuperType property
  4. The component's HTL script

Explanation

The cq:dialog node holds the Touch UI dialog definition that renders authoring fields. HTL scripts render output, and resourceSuperType controls inheritance rather than authoring UI.

Question 3Solution architecture and requirements analysis

What is the purpose of the editable template feature in AEM Sites?

  1. To store binary assets in the DAM
  2. To define dispatcher cache rules for page delivery
  3. To let authors create and configure page templates in the UI without code deployments Correct answer.
  4. To compile HTL scripts at build time

Explanation

Editable templates separate structure from content and let template authors build templates in the UI, backed by policies and allowed components. They reduce the need for developer-driven template changes.

Question 4Solution architecture and requirements analysis

Which AEM capability allows multiple sites to share components and page structure while each site customizes styling and content?

  1. Single-site inheritance with a global design dialog
  2. Scheduled workflow purging
  3. Multi-site management with language copies and live copies Correct answer.
  4. Component export/import via XML

Explanation

MSM uses blueprints, live copies, and language copies so shared structure can be rolled out and then localized per site. This supports reuse across brands and locales.

Question 5Solution architecture and requirements analysis

An author reports that a page renders but the new dialog fields do not appear. Which architectural layer should the architect inspect first?

  1. The OSGi bundle start level
  2. The dispatcher cache invalidation rules
  3. The component definition and its cq:dialog under the correct resource type Correct answer.
  4. The replication agent queue

Explanation

If rendering works but authoring fields are missing, the dialog definition or resource type mapping is the likely cause. Verifying the component's cq:dialog and resource type isolates authoring-layer issues from delivery-layer issues.

Question 6Solution architecture and requirements analysis

Which statement best describes the role of the Sling Model in an AEM component?

  1. It schedules periodic content replication
  2. It defines the dispatcher cache TTL
  3. It stores the component's dialog definition
  4. It maps resource properties to a Java/POJO model used by the HTL script Correct answer.

Explanation

Sling Models adapt resources (or requests) to typed Java objects, which HTL can consume via data-sly-use. This keeps business logic out of the template.

Question 7Solution architecture and requirements analysis

What is the primary function of the AEM Dispatcher in a standard architecture?

  1. Compiling client-side JavaScript
  2. Caching and filtering requests in front of the publish tier Correct answer.
  3. Storing version history of pages
  4. Authoring content and managing workflows

Explanation

The Dispatcher is a caching and security layer that sits in front of publish instances, serving cached content and filtering requests. It improves performance and reduces load on publish.

Question 8Solution architecture and requirements analysis

Which AEM environment is typically used for final validation before production and mirrors production configuration?

  1. Sandbox
  2. Stage Correct answer.
  3. Local
  4. Development

Explanation

A stage environment mirrors production closely and is used for final acceptance and performance validation. Development and local environments are for building and unit testing.

Question 9Solution architecture and requirements analysis

A client wants authors to reuse a shared header across many pages but allow per-page overrides. Which AEM feature best supports this requirement?

  1. A single global client library
  2. Static HTL includes of a header script
  3. Experience Fragments referenced by components Correct answer.
  4. Dispatcher cache TTL tuning

Explanation

Experience Fragments are reusable content units that can be referenced and, where allowed, overridden per page. This supports shared structure with local variation.

Question 10Solution architecture and requirements analysis

An architect needs to design a solution where content changes on author must go live only after editorial approval. Which combination is most appropriate?

  1. Workflow with approval step and activation via replication Correct answer.
  2. Scheduled content package installation
  3. Direct author-to-publish replication with no workflow
  4. Dispatcher cache purge on save

Explanation

An approval workflow gates activation until editorial sign-off, after which replication publishes the content. This enforces governance before content goes live.

Question 11Solution architecture and requirements analysis

Which approach best supports a multi-brand solution where each brand has distinct components but shares a common base?

  1. Duplicating all components per brand
  2. A single component with many hidden dialog fields
  3. A shared base component with brand-specific proxy components via sling:resourceSuperType Correct answer.
  4. Using only client-side rendering per brand

Explanation

Proxy components that inherit via sling:resourceSuperType let brands extend shared behavior while customizing dialogs and rendering. This avoids duplication and drift.

Question 12Solution architecture and requirements analysis

What is the main architectural benefit of using editable templates with policies?

  1. Built-in CDN configuration
  2. Automatic translation of page content
  3. Centralized control over allowed components and design settings per template Correct answer.
  4. Automatic replication of assets

Explanation

Policies attached to editable templates govern allowed components and design properties, giving governance without code changes. This standardizes authoring across templates.

Question 13Solution architecture and requirements analysis

A solution requires different content per geographic region with shared structure and localized overrides. Which MSM construct is most appropriate?

  1. A single site with a region dropdown
  2. Client-side geolocation rendering
  3. Independent site copies with no relationship
  4. Live copies from a blueprint with rollout configurations Correct answer.

Explanation

MSM live copies inherit from a blueprint and support rollout configurations to push shared changes while allowing local overrides. This fits regional localization with shared structure.

Question 14Solution architecture and requirements analysis

Which AEM feature is best suited to expose content to a mobile app as structured JSON without server-side page rendering?

  1. Dispatcher cache rules
  2. Content Services via Sling Model Exporter Correct answer.
  3. Editable templates
  4. Workflow launchers

Explanation

Sling Model Exporter (Content Services) serializes models to JSON for headless consumption. This decouples content delivery from page rendering.

Question 15Solution architecture and requirements analysis

An architect must decide between a traditional page-based site and a headless approach. Which requirement most strongly favors headless?

  1. Content must be delivered to multiple front-end channels via APIs Correct answer.
  2. The design uses editable templates with policies
  3. Authors need in-context editing of page layout
  4. The site relies heavily on server-side HTL rendering

Explanation

Headless shines when the same content must serve many channels (web, app, kiosk) through APIs. Page-based authoring is better when in-context layout editing is central.

Question 16Solution architecture and requirements analysis

Which configuration mechanism allows environment-specific OSGi settings without rebuilding code?

  1. Dispatcher farm files
  2. OSGi configurations via run modes and config files Correct answer.
  3. Client library categories
  4. Hard-coded values in HTL scripts

Explanation

Run modes and OSGi config files (or the config API) let the same code run with environment-specific settings. This avoids rebuilds per environment.

Question 17Solution architecture and requirements analysis

A client requires that only approved users can publish content to production. Which AEM mechanism enforces this?

  1. Scheduled package installation
  2. Dispatcher cache invalidation
  3. ACLs and workflow-based activation permissions Correct answer.
  4. Client library minification

Explanation

ACLs restrict who can replicate, and workflows can gate activation to approved roles. Together they enforce publish governance.

Question 18Solution architecture and requirements analysis

Which statement best describes how the Dispatcher should handle authenticated vs. anonymous requests in a secure design?

  1. Never cache any response
  2. Cache anonymous content and bypass caching for authenticated/personalized responses Correct answer.
  3. Cache all responses regardless of authentication
  4. Cache only POST requests

Explanation

Personalized or authenticated responses should generally bypass the cache to avoid leaking user-specific data. Anonymous, shared content is safe to cache.

Question 19Solution architecture and requirements analysis

An architect needs to integrate AEM with an external commerce system for product data. Which pattern best decouples the systems?

  1. Direct database queries from HTL scripts
  2. Hard-coding product data in components
  3. A service layer that fetches and caches external data via OSGi services Correct answer.
  4. Manual content entry per product

Explanation

An OSGi service layer abstracts external calls, adds caching, and isolates failure handling from templates. This decouples AEM from the external system.

Question 20Solution architecture and requirements analysis

Which AEM capability helps ensure consistent styling across sites by managing CSS and JavaScript dependencies?

  1. Client libraries with dependency categories Correct answer.
  2. Workflow models
  3. Editable templates
  4. Replication agents

Explanation

Client libraries declare dependencies and categories so CSS/JS load in the correct order and can be shared across sites. This centralizes front-end asset management.

Question 21Solution architecture and requirements analysis

A solution needs to support both AEM Sites pages and a React SPA consuming the same content. Which architectural approach best satisfies this?

  1. Render pages only client-side with no AEM content model
  2. Author content in AEM and expose it via Content Services while also rendering pages with HTL Correct answer.
  3. Store content only in the SPA codebase
  4. Maintain two separate content repositories

Explanation

A single content model in AEM can serve both HTL pages and JSON via Content Services, avoiding duplication. This hybrid approach maximizes reuse.

Question 22Solution architecture and requirements analysis

An architect must design for high availability across publish instances. Which combination is most appropriate?

  1. Load-balanced publish instances with a shared Dispatcher tier and shared repository persistence strategy Correct answer.
  2. A single publish instance with a large cache
  3. Author-only deployment with no publish tier
  4. Manual failover with no load balancing

Explanation

High availability requires multiple publish instances behind load balancing with a resilient persistence strategy. The Dispatcher tier fronts them for caching and routing.

Question 23Solution architecture and requirements analysis

A client wants to migrate from a legacy CMS with thousands of pages. Which requirement-analysis artifact is most important before design begins?

  1. A finalized dispatcher configuration
  2. A content inventory and mapping of legacy structures to AEM templates and components Correct answer.
  3. A completed client library build
  4. A production replication agent setup

Explanation

A content inventory and mapping clarifies scope, structure, and template/component needs before architecture. Without it, migration design lacks a factual basis.

Question 24Solution architecture and requirements analysis

An architect is evaluating whether to use a single AEM instance for both author and publish in a small deployment. Which is the strongest reason to separate them?

  1. Author instances cannot run workflows
  2. A single instance cannot store content
  3. Separation isolates authoring from public delivery and supports security and scaling independently Correct answer.
  4. Publish instances cannot render HTL

Explanation

Separating author and publish isolates the authoring environment from public traffic and lets each tier scale and be secured independently. It is a foundational AEM architecture principle.

Question 25Solution architecture and requirements analysis

A solution requires personalized content per user segment while keeping performance high. Which design is most appropriate?

  1. Cache fully personalized pages per user at the Dispatcher
  2. Cache shared content at the Dispatcher and resolve personalization at the edge or client with targeted APIs Correct answer.
  3. Serve all users the same uncached page
  4. Disable caching entirely for all users

Explanation

Caching shared content and resolving segment-level personalization separately preserves performance and avoids per-user cache explosion. This balances personalization with scalability.

Question 26Solution architecture and requirements analysis

In requirements analysis for an AEM solution, what is the primary purpose of a non-functional requirements (NFR) section?

  1. To capture performance, scalability, security, and availability expectations that shape the technical design Correct answer.
  2. To list the individual page components the authors will drag onto templates
  3. To define the color palette and typography for the brand
  4. To record the marketing copy that will appear on the home page

Explanation

Non-functional requirements describe quality attributes and constraints such as performance targets, security posture, availability, and scalability rather than specific features. These drive architectural decisions like caching tiers, topology, and integration patterns. Functional items such as components and content belong elsewhere.

Question 27Solution architecture and requirements analysis

An architect is choosing between a page-centric and a content-fragment-centric content model for a new project. Which requirement most strongly favors content fragments?

  1. Content must be authored once and delivered consistently to web pages, mobile apps, and third-party channels Correct answer.
  2. The template must enforce a fixed grid of parsys components per page
  3. The site must support inline editing of rich text directly on the rendered page
  4. Authors need pixel-perfect control over the layout of every landing page

Explanation

Content fragments separate structured content from presentation so the same content can be reused across multiple delivery channels via APIs. Page-centric models tie content to layout and rendering. Multi-channel reuse is the classic driver for a fragment-based model.

Question 28Solution architecture and requirements analysis

A stakeholder asks the architect to document how an unauthenticated visitor's request flows from browser to content delivery and back. Which artifact best captures this for review?

  1. A sequence diagram showing the request path through CDN, Dispatcher, and publish tier Correct answer.
  2. A content inventory of all pages under the site root
  3. A component definition spreadsheet listing each dialog field
  4. An author workflow diagram showing approval steps

Explanation

A sequence diagram models the ordered interactions between runtime tiers for a given request, making caching and routing behavior explicit. It is the standard way to communicate request flow to both technical and non-technical reviewers. The other artifacts describe authoring or content rather than runtime flow.

Question 29Solution architecture and requirements analysis

During discovery, two business units each claim ownership of the global navigation and footer. What is the most appropriate architectural response?

  1. Defer the decision until after launch so authors can decide ad hoc
  2. Define a shared Experience Fragment with clearly assigned ownership and a governance process for changes Correct answer.
  3. Duplicate the navigation markup into every page template independently
  4. Let each business unit build its own separate navigation component with no coordination

Explanation

Shared elements with disputed ownership are best handled by centralizing them in a reusable asset such as an Experience Fragment and assigning explicit ownership plus a change process. This balances reuse with governance. Uncoordinated duplication creates drift and maintenance burden.

Question 30Solution architecture and requirements analysis

An enterprise wants multiple teams to contribute components to one AEM codebase while keeping build and release cycles independent. Which project structure best satisfies this?

  1. A separate Cloud Manager program per team with no shared dependency management
  2. A single monolithic package containing all teams' components built on one schedule
  3. A multi-module Maven project with a shared core bundle and separate per-team UI modules Correct answer.
  4. One AEM instance per team with content manually copied between them

Explanation

A multi-module build with a shared core bundle lets teams own distinct UI modules while depending on common code, enabling more independent build and release cycles. A monolith couples all teams to one schedule. Splitting instances or programs entirely sacrifices shared dependency control.

Question 31AEM Sites implementation and component architecture

In AEM's component definition hierarchy, which node type is used for a component that can be placed on a page and rendered by the page's script?

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

Explanation

A component is defined as a node of type cq:Component, typically created beneath a project's components folder. This type carries the metadata supertype that lets AEM recognize the node as a component. Other node types are used for pages, folders, or generic structures.

Question 32AEM Sites implementation and component architecture

Which property on a component node determines the component (or resource type) whose scripts are used as the default rendering when a component has no script of its own?

  1. sling:resourceSuperType Correct answer.
  2. sling:resourceType
  3. jcr:primaryType
  4. cq:isContainer

Explanation

sling:resourceSuperType establishes an inheritance chain so the Sling script resolver falls back to the supertype's scripts. This is the basis for extending a base component such as the core text component. The property is read by the Sling resource resolver at render time.

Question 33AEM Sites implementation and component architecture

A developer needs a reusable set of authorable fields (title, text, image) shared by several components. What is the recommended AEM pattern?

  1. Copy the dialog XML into every component so each can evolve independently.
  2. Put all fields into the page component dialog and let child components read them.
  3. Store the field definitions in a client library and inject them at runtime.
  4. Define the fields once in a shared component or dialog fragment and reference it from each component. Correct answer.

Explanation

Shared authoring fields are best centralized so a single change propagates to all consumers. AEM supports this through shared/inherited dialogs or dialog fragments rather than duplicating XML. Centralizing reduces drift and maintenance cost.

Question 34AEM Sites implementation and component architecture

Which HTL expression syntax correctly outputs the value of a property named 'jcr:title' on the current resource?

  1. ${properties.jcr:title}
  2. ${resource.jcr:title}
  3. ${properties["jcr:title"]} Correct answer.
  4. ${currentPage.jcr:title}

Explanation

The colon in jcr:title is not valid in dot-notation property access within HTL, so bracket notation with a quoted key is required. HTL resolves properties through the implicit properties object. Dot notation works only for identifiers that are valid Java-like names.

Question 35AEM Sites implementation and component architecture

What is the primary purpose of the data-sly-resource block element in HTL?

  1. To include and render another resource using the Sling resolution process. Correct answer.
  2. To bind a Java model to the current rendering context.
  3. To declare a reusable HTL template fragment.
  4. To fetch JSON from an external endpoint during rendering.

Explanation

data-sly-resource delegates rendering to another resource, optionally with a resource type or selectors, and is the standard way to compose components server-side. It runs the included resource through Sling's script resolution. It does not perform remote calls or define templates.

Question 36AEM Sites implementation and component architecture

Which statement best describes the role of a Sling Model in an AEM component?

  1. It compiles HTL into Java servlets at build time.
  2. It replaces the component dialog by storing field definitions in Java.
  3. It manages replication agents and dispatcher flush requests.
  4. It encapsulates business logic and exposes data to HTL through annotated getters. Correct answer.

Explanation

Sling Models are annotated POJOs that adapt from resources or requests and expose data to the view layer. They keep logic out of HTL and are injected via annotations. They do not define dialogs or handle infrastructure.

Question 37AEM Sites implementation and component architecture

A Sling Model should be injectable from a request attribute rather than a resource property. Which annotation achieves this?

  1. @ValueMapValue
  2. @Self
  3. @ChildResource
  4. @RequestAttribute Correct answer.

Explanation

@RequestAttribute injects a value from the current Sling request attributes, which is useful for values set by filters or other components. @ValueMapValue reads resource properties, and @ChildResource reads child nodes. @Self injects the adaptable itself.

Question 38AEM Sites implementation and component architecture

In the AEM responsive grid, what does the Layout Container use to determine how many columns a component occupies at a given breakpoint?

  1. Per-breakpoint column span values stored in the component's layout properties. Correct answer.
  2. The CSS grid defined in the component's client library only.
  3. The component's dialog field count.
  4. The number of child resources beneath the component.

Explanation

The layout container stores responsive layout data, including column spans per device breakpoint, in the content's layout properties. The grid CSS then renders according to those values. Dialog field counts and child counts do not influence placement.

Question 39AEM Sites implementation and component architecture

Which mechanism allows a page component to render a global header and footer that are authored once and shared across all pages?

  1. A workflow that copies header nodes into every page at activation.
  2. A dialog field on each page where authors retype the header text.
  3. An experience fragment or shared content resource referenced by the page structure. Correct answer.
  4. A client library that injects header markup with JavaScript.

Explanation

Shared chrome is typically delivered through experience fragments or referenced content so it is authored once and reused. This keeps content consistent and centrally editable. Copying or client-side injection creates maintenance and SEO problems.

Question 40AEM Sites implementation and component architecture

What is the effect of setting cq:isContainer to true on a component?

  1. It marks the component so the editor allows dropping child components into it. Correct answer.
  2. It makes the component read-only for authors.
  3. It enables the component's dialog to inherit from its supertype.
  4. It forces the component to render as a parsys automatically.

Explanation

cq:isContainer signals to the page editor that the component can accept child components, enabling drop targets. It does not itself create a paragraph system, nor does it affect authoring permissions or dialog inheritance.

Question 41AEM Sites implementation and component architecture

A developer wants authors to select from a fixed list of values in a dialog, with the stored value being a stable key rather than the display label. Which widget configuration supports this?

  1. A text field with a regex validation pattern.
  2. A path field restricted to /content.
  3. A select widget whose options define separate value and text attributes. Correct answer.
  4. A checkbox with a single boolean value.

Explanation

The select widget lets each option pair a stored value with a human-readable label, decoupling content from presentation. This keeps stored data stable if labels are later translated or reworded. Text fields, path fields, and checkboxes do not offer key/label pairs.

Question 42AEM Sites implementation and component architecture

Which approach best supports rendering a component differently for different client devices without duplicating content?

  1. Use responsive CSS and the layout container's breakpoint data with a single rendering. Correct answer.
  2. Author duplicate components hidden with display:none per breakpoint.
  3. Detect the user agent in HTL and branch the markup.
  4. Create a separate page tree per device and replicate content manually.

Explanation

Responsive design keeps one content source and adapts presentation through CSS and layout data. This avoids content duplication and keeps authoring simple. Device-specific page trees or duplicated components multiply maintenance.

Question 43AEM Sites implementation and component architecture

In HTL, which statement about the data-sly-use attribute is accurate?

  1. It includes another HTL file's markup inline.
  2. It conditionally renders an element based on a boolean.
  3. It instantiates or adapts a Java object and exposes it as a variable in the template scope. Correct answer.
  4. It declares a reusable template block.

Explanation

data-sly-use binds a Java bean or Sling Model to a named variable available to the rest of the template. The object is typically adapted from the current resource or request. Including markup, declaring templates, and conditionals use different block elements.

Question 44AEM Sites implementation and component architecture

A component's HTL must output a URL to an asset's rendition. Which approach respects AEM's link-checking and dispatcher caching best?

  1. Concatenate the domain from a JavaScript variable at runtime.
  2. Build the URL through the model using the externalizer or resource resolver and output it. Correct answer.
  3. Rely on relative paths computed by the browser.
  4. Hardcode the absolute domain and path in the template.

Explanation

URLs should be produced server-side through AEM APIs such as the externalizer so domain mapping and link checking apply. Hardcoding domains breaks across environments and bypasses rewriting. Client-side concatenation prevents proper caching and link validation.

Question 45AEM Sites implementation and component architecture

Which file location correctly registers a new component so it appears in the component browser for a project's page?

  1. In the dispatcher's cache directory.
  2. In /etc/designs as a static HTML file.
  3. Under the project's components folder, with the page's policy or template allowing that component group. Correct answer.
  4. In /libs directly, overwriting a product component.

Explanation

Project components live under the project's component path, and visibility in the editor is controlled by component group policies on the template or page. Editing /libs directly is unsupported and overwritten on upgrades. Designs and cache directories are not component locations.

Question 46AEM Sites implementation and component architecture

What is the purpose of a proxy component in AEM?

  1. To route author requests to the publish tier.
  2. To translate component labels into multiple languages.
  3. To cache rendered HTML at the dispatcher.
  4. To extend a base component while giving the project its own resource type for policy and customization. Correct answer.

Explanation

A proxy component inherits from a base component via sling:resourceSuperType but exposes a project-owned resource type. This lets teams apply policies and overrides without editing product code. Caching, translation, and routing are unrelated concerns.

Question 47AEM Sites implementation and component architecture

An author reports that edits to a component's dialog are not reflected on publish after activation. Which is the most likely architectural cause?

  1. The page template lacks a client library.
  2. The dialog uses too many fields for the editor.
  3. The component's HTL uses data-sly-test.
  4. The component definition itself was not included in the code deployment to publish. Correct answer.

Explanation

Component definitions are code and must be deployed to all tiers; content activation alone does not ship component changes. Dialogs and scripts live in the repository under the component path. Field counts, client libraries, and conditionals do not govern code deployment.

Question 48AEM Sites implementation and component architecture

Which statement about editable templates is correct?

  1. They store structure and policies in the repository so authors can configure allowed components per template. Correct answer.
  2. They eliminate the need for any page component.
  3. They are static XML files deployed with the code bundle.
  4. They cannot define responsive layout for the page.

Explanation

Editable templates keep structure, initial content, and policies as repository content, enabling template-level control over allowed components. They are authored and stored, not static files. They still rely on a page component for rendering.

Question 49AEM Sites implementation and component architecture

A team wants the same authored text component to output different markup in two different contexts on the same page. What is the cleanest AEM mechanism?

  1. Duplicate the authored content into two components.
  2. Store the markup in the dialog as rich text.
  3. Use JavaScript to rewrite the DOM after load.
  4. Use selectors or a resource type variation resolved to different HTL scripts. Correct answer.

Explanation

Sling script resolution can select different HTL scripts based on selectors or resource type, letting one content node render in multiple ways. This avoids content duplication and client-side rewriting. Storing markup in content mixes presentation into authoring.

Question 50AEM Sites implementation and component architecture

Which client library category setting ensures a component's CSS is loaded on pages that use it?

  1. Naming the category after the component's file path.
  2. Adding the category to the dispatcher configuration.
  3. Setting the category to 'all' in every component.
  4. Declaring the category in the component's policy or template so the page includes it. Correct answer.

Explanation

Client library categories are included on a page through the page component or template policy, which references the category. Naming conventions do not trigger inclusion. The dispatcher does not decide which categories load.