All Practice Exams

100+ Free AEM Sites Developer Professional Practice Questions

Pass your Adobe Certified Professional - Adobe Experience Manager Sites Developer (Exam AD0-E128) exam on the first try — instant access, no signup required.

✓ No registration✓ No credit card✓ No hidden fees✓ Start practicing immediately
100+ Questions
100% Free
1 / 100
Question 1
Score: 0/0

A developer needs the dispatcher to return cache diagnostics. After enabling /info "1", which response header reports whether the resource was cached?

A
B
C
D
to track
2026 Statistics

Key Facts: AEM Sites Developer Professional Exam

$125

Exam Fee (USD)

Adobe

32/50

Passing Score (about 64%)

Adobe

50

Number of Questions

Adobe

100 min

Exam Duration

Adobe

37%

Weight of the AEM Development domain

Adobe AD0-E128 exam guide

2 years

Credential Validity

Adobe

Adobe lists Exam AD0-E128 (Adobe Certified Professional - AEM Sites Developer) as a professional-level exam delivered through PSI, with 50 questions, a 100-minute limit, a passing score of 32 out of 50, and a $125 USD fee; the credential is valid for two years. The five domains are AEM Development (37%), Analyzing and Debugging (18%), Build and Deployment (17%), Configurations (15%), and Environment Maintenance (13%). The exam targets developers with roughly up to one year of hands-on AEM Sites experience using HTL, Sling Models, OSGi, Maven, and the dispatcher.

Sample AEM Sites Developer Professional Practice Questions

Try these sample questions to test your AEM Sites Developer Professional exam readiness. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.

1In AEM, HTL (HTML Template Language) is the preferred server-side template system for rendering components. Which statement best describes HTL's primary design goal?
A.It allows arbitrary Java code to be embedded directly inside the markup like JSP scriptlets
B.It replaces Sling Models so that no Java backing class is ever needed for a component
C.It enforces a clean separation of markup and logic while providing automatic, context-aware XSS escaping of output
D.It compiles to JavaScript and runs entirely in the browser without server involvement
Explanation: HTL (formerly Sightly) is the reference implementation of the HTML Template Language. Its core goals are to keep business logic out of the markup and to apply automatic, context-aware output escaping (HTML, attribute, URI, JS, CSS) to prevent cross-site scripting. Logic lives in Sling Models or Use objects loaded via data-sly-use.
2A developer needs to bind a Sling Model to an HTL template so the template can call the model's getter methods. Which HTL block statement loads the Java class?
A.data-sly-resource
B.data-sly-include
C.data-sly-template
D.data-sly-use
Explanation: data-sly-use initializes a helper object and exposes it under an identifier, for example data-sly-use.model="com.example.core.models.MyModel". The Java Use Provider can load Sling Models, OSGi services, or POJOs. The model's getters are then accessible as ${model.title}.
3A Sling Model must read authored properties from the current component's resource node. Which adaptable and injection setup is correct for a model that does not need the request?
A.@Model(adaptables = SlingHttpServletRequest.class) with @ScriptVariable on every field
B.@Model(adaptables = Resource.class) using @ValueMapValue to inject node properties
C.@Model(adaptables = ResourceResolver.class) with @OSGiService injection for properties
D.@Model(adaptables = Node.class) with @Self injection of the JCR session
Explanation: When a model only needs to read the component's own node properties, adapt from Resource.class and inject with @ValueMapValue, which pulls values from the resource's ValueMap. Adapting from the request is only required when you need request-scoped objects such as the current page, selectors, or request attributes.
4In a Sling Model, a developer wants a missing authored property to be optional rather than causing the model adaptation to fail. Which annotation attribute achieves this?
A.@ValueMapValue with injectionStrategy = InjectionStrategy.OPTIONAL
B.@ValueMapValue with @Required(true)
C.@ValueMapValue with @PostConstruct on the field
D.@ValueMapValue with adaptable = Resource.class
Explanation: By default, injected fields are treated according to the model's defaultInjectionStrategy. Setting injectionStrategy = InjectionStrategy.OPTIONAL (or @Optional) on a field, or defaultInjectionStrategy = OPTIONAL on @Model, lets adaptation succeed even when the property is absent. Otherwise a required field that is null fails the adaptation.
5Sling resolves which script to render a resource primarily based on which resource property?
A.jcr:primaryType
B.cq:template
C.sling:resourceType
D.jcr:title
Explanation: Sling looks up the resource's sling:resourceType, normalizes it into a relative path, and searches /apps and /libs for a matching script or servlet. Request selectors and the extension further refine which script in that resource type folder is chosen.
6A request URL is /content/site/page.print.a4.html. According to Sling's decomposition, which part is the selector string?
A.html
B./content/site/page
C.page.print
D.print.a4
Explanation: Sling decomposes a URL into resource path, selector string, extension, and suffix. Everything between the resource name and the extension, separated by dots, forms the selectors. Here the selector string is print.a4, the extension is html, and the resource is /content/site/page. Selectors are converted to a path (print/a4) when resolving scripts.
7A developer registers a servlet to handle GET requests for a specific component resource type with a custom selector and extension. Which OSGi service property pattern is correct?
A.sling.servlet.paths set together with sling.servlet.resourceTypes for the same servlet
B.service.pid set to the component path and sling.servlet.methods=POST
C.sling.servlet.resourceTypes plus sling.servlet.selectors plus sling.servlet.extensions
D.sling.servlet.regex set to the full content path
Explanation: To bind a servlet by resource type, set sling.servlet.resourceTypes and optionally sling.servlet.selectors and sling.servlet.extensions, plus sling.servlet.methods. Adobe recommends resource-type registration over path-based registration because it respects access control and resolution rules.
8When developing custom components for AEM Sites, Adobe recommends building on top of which library to minimize custom code and gain accessibility and SEO features out of the box?
A.Foundation Components under /libs/foundation
B.We.Retail reference components
C.AEM Core Components (WCM Core Components)
D.Granite UI widgets only
Explanation: AEM Core Components are the Adobe-maintained, versioned, accessible, and SEO-friendly base components (Text, Image, Title, Teaser, Carousel, etc.). The recommended practice is to proxy and extend Core Components via sling:resourceSuperType rather than reinventing components or using the deprecated Foundation Components.
9A developer wants a new component to inherit the rendering and dialog of an existing component while overriding only its HTL script. Which property should the new component define?
A.sling:resourceSuperType
B.sling:resourceType
C.cq:cellName
D.jcr:mixinTypes
Explanation: sling:resourceSuperType establishes inheritance: the proxy component reuses the dialog, clientlibs, and scripts of its super type, and the developer overrides only the files they need. This is the standard pattern for proxying Core Components into a project's /apps tree.
10In an editable template, which mode defines components that are locked into every resulting page and stay synchronized when the template structure changes?
A.Structure
B.Initial Content
C.Layout
D.Policies
Explanation: The Structure of an editable template defines the page skeleton. Components added (locked) in the Structure cannot be moved or deleted on resulting pages, and changes to the structure propagate to all pages built from the template through the maintained dynamic connection.

About the AEM Sites Developer Professional Exam

Exam AD0-E128 leads to the Adobe Certified Professional - Adobe Experience Manager Sites Developer credential, validating the ability to develop and manage AEM Sites solutions. The blueprint centers on AEM development with HTL (Sightly), Sling Models, OSGi services, editable templates, content policies, client libraries, and Core Components, built on the Sling and JCR foundations. It also covers analyzing and debugging rendering and performance issues, building and deploying through the Maven archetype project structure and Cloud Manager CI/CD pipelines, configuring OSGi services and the dispatcher, and maintaining AEM environments including AEM as a Cloud Service.

Questions

50 scored questions

Time Limit

100 minutes

Passing Score

32/50 (approximately 64%)

Exam Fee

$125 (Adobe)

AEM Sites Developer Professional Exam Content Outline

37%

AEM Development

Develop components and templates using HTL (Sightly) with context-aware escaping, data-sly-use, data-sly-resource, and data-sly-template; build Sling Models with @ValueMapValue, @ChildResource, @ScriptVariable, and the Model Exporter; configure OSGi services and editable templates, content policies, client libraries, and Core Components on the Sling/JCR platform.

18%

Analyzing and Debugging

Diagnose issues with the Sling Servlet Resolver, error.log and request.log, the Web Console (bundles, components, configMgr) and the Developer Console; debug dispatcher caching with X-Cache-Info, model adaptation with Sling Models logging, and unindexed queries with Oak index tooling.

17%

Build and Deployment

Use the AEM Maven archetype modules (core, ui.apps, ui.config, ui.content, all, dispatcher), declare correct content-package types, embed subpackages, and deploy through Cloud Manager CI/CD pipelines with code-quality, OakPAL, and dispatcher validation gates; use RDEs and repoinit for rapid iteration and provisioning.

15%

Configurations

Configure OSGi services with run-mode-specific .cfg.json files keyed by PID and factory configs; configure dispatcher farms including filters, cache rules, statfileslevel, gracePeriod, ignoreUrlParams, virtualhosts, and allowedClients; set up replication and dispatcher flush agents, Sling mappings, and the Referrer Filter.

13%

Environment Maintenance

Maintain AEM with revision cleanup, data store garbage collection, workflow purge, audit log and version purge, Oak index reindexing, and Operations Dashboard health checks; follow overlay and upgrade-safe practices and rely on Adobe-managed maintenance and continuous updates on AEM as a Cloud Service.

How to Pass the AEM Sites Developer Professional Exam

What You Need to Know

  • Passing score: 32/50 (approximately 64%)
  • Exam length: 50 questions
  • Time limit: 100 minutes
  • Exam fee: $125

Keys to Passing

  • Complete 500+ practice questions
  • Score 80%+ consistently before scheduling
  • Focus on highest-weighted sections
  • Use our AI tutor for tough concepts

AEM Sites Developer Professional Study Tips from Top Performers

1Master HTL deeply: the data-sly-* block statements (use, resource, include, test, list, template/call) and the context-aware escaping options (text, html, uri, scriptString) since AEM Development is 37% of the exam.
2Practice Sling Models end to end: choose Resource versus SlingHttpServletRequest adaptables, inject with @ValueMapValue, @ChildResource, and @ScriptVariable, handle optional injections, use @PostConstruct, and expose JSON with the @Exporter (jackson) Model Exporter.
3Know editable templates versus static templates: structure, initial content, layout, and policies stored under /conf, plus how content policies control allowed components per container.
4Be fluent with the AEM Maven archetype project structure (core, ui.apps, ui.config, ui.content, all, dispatcher), content-package types, the immutable/mutable split, and Cloud Manager pipelines with their quality gates.
5Drill dispatcher configuration: /filter security rules, /cache with statfileslevel, gracePeriod, ignoreUrlParams, allowAuthorized, allowedClients, virtualhosts, and X-Cache-Info debugging with /info.
6Learn the debugging toolkit: Sling Servlet Resolver, error.log and request.log, the Web Console bundle/component states, the Developer Console on AEMaaCS, and Oak index reindexing for slow queries.

Frequently Asked Questions

What are the exam facts for AD0-E128?

Adobe lists Exam AD0-E128 as a professional-level exam with 50 questions, a 100-minute limit, a passing score of 32 out of 50 (about 64%), and a $125 USD fee, delivered through PSI online or at a test center. The credential is valid for two years.

What does the AD0-E128 exam measure?

AD0-E128 validates developing and managing AEM Sites. The five domains are AEM Development (37%), Analyzing and Debugging (18%), Build and Deployment (17%), Configurations (15%), and Environment Maintenance (13%).

Which domain carries the most weight on AD0-E128?

AEM Development is by far the largest domain at 37%, covering HTL (Sightly), Sling Models, OSGi services, editable templates, content policies, client libraries, and Core Components on the Sling and JCR platform.

How much experience do I need before taking AD0-E128?

Adobe positions AD0-E128 for developers with roughly up to one year of hands-on AEM Sites experience. You should be comfortable with Java, Apache Sling, JCR, HTL, OSGi, Maven, and the AEM dispatcher.

Does AD0-E128 cover AEM as a Cloud Service?

Yes. The build, deployment, configuration, and maintenance domains include AEM as a Cloud Service topics such as Cloud Manager CI/CD pipelines, immutable versus mutable content packages, run modes, repoinit, and managed repository maintenance.

How long is the certification valid?

The Adobe Certified Professional - AEM Sites Developer credential is valid for two years, after which recertification or renewal is required to keep it current.