AEM Interview Questions and Answers
Below AEM Interview Questions and Answers collection is updated and latest as per the industry standards. AEM developer interview questions and answers for experiences will be changed a little in the upcoming days so make sure to check out the latest content in few days.
Topic Navigation :
Basic AEM Interview Questions and Answers
What is AEM ?
Adobe Experience Manager (AEM) is a content management system for building websites, apps, and forms. The main advantage of a content management system is a dynamic modification of content at any time.
Explain the background of technical specifications used in AEM ?
- AEM uses Apache Sling as a web application framework.
- Apache Jackrabbit Oak serves as Content Repository (JCR).
- Apache Felix acts as OSGi Container.
What is JCR in AEM ?
Java Content Repository (JCR), is the place where all the content is stored. JCR is represented as a tree structure of nodes where each node consists of unique content. JCR is the specification provided by the Java community for Platform Independence.
Brief the History of AEM ?
In the early 2000s, A company called Day Software initially developed Communique (CQ5). In 2010, Adobe acquired Day Software and renamed it Adobe Experience Manager (AEM).
What is a Content Management System (CMS)?
Content Management System (CMS), is a software/application that is used to manage the content of a website there by giving the facility to add/edit content dynamically.
Examples of CMS:
- Adobe Experience Manager
What are the advantages of AEM over other Content Management Systems ?
The main intent of using AEM is because of its workflows and querying abilities.
- Easier management of Digital Assets.
- Social Collaboration.
- Usage of search queries.
- Including Clientlibs (CQ or external).
What is the role of Dispatcher in AEM ?
Dispatcher acts as AEM’s caching and Load Balancing Tool. The dispatcher protects the server from security risks/attacks.
What is a Template in AEM ?
AEM Template defines the structure of the page. With the newer versions of AEM, there are two kinds of templates:
- Editable Template
- Static Template
Note : Best Practice is to use Editable Template.
What is a Editable Template in AEM ?
- Editable Template can be created and edited directly by AEM Content Authors.
- Structure and Content Policies can be defined manually.
- A dynamic link is present between template and page which means changes in the template will automatically reflect in pages.
- Do not use design mode to persist data.
- Stored under /conf path.
What is a Static Template in AEM ?
- Static Template should be created by a Developer and it is not author-friendly.
- Static Template defines just the structure but no actual content is included.
- No dynamic linking relation present between page and template.
- Do use design mode to persist data.
- Stored under /apps path.
What is a Component in AEM ?
AEM Component is used to render the blocks of content on the web page. All the business logic will be written inside the Component and the ClientLibs can also be loaded.
Explain AEM Replication Agent ?
Replication Agent in AEM is used to Publish/Activate content from author environment to publish environment.
User Groups / User Profiles cannot be replicated.
Replication can be done in two ways:
- From the Node
- From the Replication Tree
More about Replication Agent – Replication
Can we do Reverse Replication ?
Yes. To do reverse replication, we need to configure the Agents on author and Agents on publish to activate the content from publish environment to author environment.
What is Sightly ?
Sightly (HTL), is an HTML templating language. HTL replaces the JSP which is used in legacy versions of AEM. In recent days, HTL became the preferred way for creating AEM projects.
What is a Dialog in AEM ?
A Dialog is an editable element where we can enter the values to be used for the component it is tied to. These values will be stored under content root and will be served to a web page.
Differentiate between Dialog and Design Dialog ?
|Dialog in AEM||Design Dialog in AEM|
|Accessible in Edit Mode.||Accessible in Design Mode.|
|Stores data in /content node.||Stores data in /etc node.|
|Page Level.||Template Level.|
Differentiate between Parsys and IParsys ?
|Parsys in AEM||IParsys in AEM|
|Parsys (Paragraph System) is a place where we drag and drop the components in the page.||IParsys (Inherited Paragraph System) functions same as Parsys but also have inheritance capability.|
|Parsys itself is a component which allows the user to add other components to build page structure but cannot inherit component from parent page.||IParsys allows a parent page component to inherit into a child page.|
Why we need to include global.jsp ?
Inclusion of global.jsp serves the following purposes :
- Initialization of core libraries of Sling and JSTL thereby making taglibs available to the scope of the component.
- Initialization of Component client context and edit context.
- Imports WCM and Sling custom resource bundles.
In Sightly, we don’t need to include global.jsp as everything is already handled.
What are the benefits of OSGI ?
- Reduces complexity by the usage of bundles.
- Helps in constructing reusable components.
What are OSGI bundle Lifecycle states ?
What is Web Console in AEM ?
Web Console is based on Apache Felix Web Management which includes OSGI Framework and standard services.
Web Console has :
- Configuration – used for configuring OSGI bundles.
- Bundles – used for installing bundles
- Components – used to handle component status
More about web console – AEM Web Console
Advanced AEM Interview Questions and Answers for Experienced
How to set Doctype in AEM ?
By Default, AEM will not add any Doctype. Whenever a component’s sling:resourceSuperType is “foundation/components/page”, from the declaration default xhtml doctype is set.
To check the current value of Doctype, use the below line of code.
<%= Doctype.fromRequest(request).getDeclaration() %>
To override the default doctype, follow the below step.
Navigate to page.jsp in /libs/foundation.
Taking html5 as an example.
Add the below line of code in “page.jsp” to set doctype in aem to html5.
<%= Doctype.valueOf("HTML_5").toRequest(request); %>
Explain Resolve and Adapt of a Resource ?
We can resolve using ResourceResolver which we can get from the method getResourceResolver() and then use resolve() method to resolve a resource.
We can adapt a resource to any other type using the adapt method.
What is the bundle used to configure classic and touch ui settings ?
WCM Authoring UI Mode Service
How to switch between classic and touch versions without using bundle ?
For Classic UI, the URL will have cf# query text.
For Touch UI, the URL will have editor.html query text.
Replacing classic queries with touch and vice-versa will switch the versions.
Can we write Author specific code ?
Yes. Based on the WCM Mode value, we can write the conditional code or distinguish between author and publish.
What is Multi Site Management ?
Multi-Site Management is about handling Multi-Lingual Content to provide Localized content based on country.
Explain DAM Renditions ?
DAM allows us to create different versions of the same asset to serve based on devices. This helps in loading and improves the fetch time of the asset from the server since its size is reduced compared to the original asset.
Explain the process involved in URL Resolution ?
Below are the steps involved in URL Resolution :
- From User Interface request goes to server.
- Web server captures the request and resolves the request by Sling.
- JCRResourceResolver will resolve it to the corresponding node in JCR.
- SlingServletResolver will match the URL extension with the default extension.
- Based on the component node properties, SlingServletResolver identifies the correct script to be loaded and passes it over to the client.
How to Optimize images in AEM ?
We need to leverage and use ImageMagick and with this, we can modify DAM Asset Workflow to create low-resolution image renditions.
ImageMagick – http://www.imagemagick.org/Usage/resize/
Reference for ImageMagick – https://helpx.adobe.com/experience-manager/6-2/assets/using/best-practices-for-imagemagick.html
Is AEM Platform Independent and Why ?
Yes. AEM is Platform Independent because it is completely written in Java which is platform-independent.
What are Closed User Groups (CUGs) ?
Closed User Groups (CUGs) is a feature in AEM used to restrict access to particular content to select a group of users to be viewed on a published page. By using CUG, we can restrict any content to be viewed by any selected user group and hide it for others.
What are Proxy components in AEM?
Proxy Components are a kind of inherited version of the actual core components. Proxy components do not need to have any custom logic inside them. It just has the reference of core component superType.
What are the advantages of Proxy Components?
Proxy components can be useful in the following ways:
- Reusability of components.
- Can be well segregated as site-specific components.
- No need for custom logic or can override the core logic.
We will be bringing up more AEM interview questions and answers soon.
Thanks for Visiting InterviewQuestionsBlog !!!