Frequently asked: AEM Interview Questions and Answers

Vigo Webs
7 min readMar 6, 2023

Q1. What are the advantages of AEM over other CMS?

The advantages of AEM over other CMS (Content management System):

  • Implementation of workflows for creating, editing and publishing of content.
  • Managing a repository of digital assets like images, documents and integrating them to the websites.
  • Usage of search queries to find content no matter where it is stored in your organization.
  • Setting up easily the social collaboration blogs, groups.
  • Tagging utility to organize the digital assets such as images.

Q2. What is the difference between a dialog and a design dialog?

A dialog is a key element of the component because they provide an interface for authors to configure and provide input to that component. This input will be stored at the page level in the jcr.

A design dialog is a dialog that will only display when you are in design mode in AEM. The input that is received here will be stored at the template level and will be accessed across the whole site.

Q3. What are the differences between parsys and iparsys?

parsys — It is a placeholder called “Paragraph System”, where we can drag and drop or add other components or scripts at page level.

iparsys — It is inherited paragraph system, it is similar to parsys except that it allows to inherits parent page “paragraph system”.

Q4. Explain DAM Renditions?

The DAM allows you to create renditions of an image that include different sizes and versions of the same asset. You can use those renditions in the content of your website, and that can be helpful when you need to create thumbnails or smaller views of large, high-resolution images. When you are creating multi-device websites where Internet bandwidth is a varying concern, this feature becomes even more important. After all, you want to minimize the size of any files a site visitor has to download to view your site. Making your site load faster improves your search engine optimization and the user experience.

Q5. What is JCR?

A content repository, as defined by JCR, combines features of the traditional relational database with those of a conventional file system. File system-like features supported by JCR include:

  • Hierarchy: Content in a JCR repository can be addressed by path. This is useful when delivering content to the web since most websites are also organized hierarchically.
  • Semi-structured content: JCR can store structured documents, like XML, either as opaque files (as a file system would) or as structures ingested directly into the JCR hierarchy.
  • Access Control and Locking: JCR can restrict access to different parts of the content hierarchy based on policies or ACLs. It also supports locking of content to prevent conflicts.

Q6. What is OSGi?

OSGi (Open Service Gateway Initiative) is a Java framework for developing and deploying modular software programs and libraries. OSGi has two parts. The first part is a specification for modular components called bundles, which are commonly referred to as plug-ins. The specification defines an infrastructure for a bundle’s life cycle and determines how bundles will interact. The second part of OSGi is a Java Virtual Machine (JVM)-level service registry that bundles can use to publish, discover and bind to services in a service-oriented architecture (SOA).

Q7. Can you explain life cycle of OSGI bundle?

Following are the life cycle states of OSGI:

  • Installed — The bundle has been successfully installed.
  • Resolved — All Java classes that the bundle needs are available. This state indicates that the bundle is either ready to be started or has stopped.
  • Starting — The bundle is being started, the BundleActivator.start method will be called, and this method has not yet returned. When the bundle has an activation policy, the bundle will remain in the STARTING state until the bundle is activated according to its activation policy
  • Active — The bundle has been successfully activated and is running; its Bundle Activator start method has been called and returned.
  • Stopping — The bundle is being stopped. The BundleActivator.stop method has been called but the stop method has not yet returned.
  • Uninstalled — The bundle has been uninstalled. It cannot move into another state.

Q8. What is Multi Site Manager (MSM)

Multi Site Manager (MSM) allows aem developers to create copy of existing site and automatically update the copy when changes are done to the source site. Advantages of using MSM

  • Easily manage multiple websites that share common content.
  • MSM allows aem developers to define relations between the sites so that content changes in one site are automatically replicated in all other sites.
  • Reduces the time to manage your websites and increases the re-use of common content.
  • Maintain common look and feel across all websites.

Q9. What is difference between Live copy an Blue Print?

Blueprint allow us to control multiple live copies and apply consistent rollout configurations to all blueprint’s live copies. Using blueprint rollout feature we can push modifications to all it’s live copies simultaneously.

Live Copy is basically creating a new site based on the content and structure of an existing site or blueprint. MSM allows us to create Live copies and automatically update when changes are made in base/source site.

Q10. What is the fundamental concept of HTL?

The HTML Template Language uses an expression language to insert pieces of content into the rendered markup, and HTML5 data attributes to define statements over blocks of markup like conditions or iterations. As HTL gets compiled into Java Servlets, the expressions and the HTL data attributes are both evaluated entirely server-side, and nothing remains visible in the resulting HTML.

Blocks and Expressions Here’s a example, which could be contained as is in a template.html file:

<h1 data-sly-test="${properties.jcr:title}">
${properties.jcr:title}
</h1>

Q11. What is the difference between the Author and Publish environment?

A production environment usually has two difference instances of AEM running. One is the author instance, and the other is the publish instance. These two instances are usually kept in two different settings. The author instance is where you will enter and manage content for your website. This is where you will administer your site as well. The author environment is usually kept behind a firewall. The publish instance is where you will make your content available for your targeted audience. The publish environment is usually kept in a Demilitarized Zone (DMZ).

Q12. What is dispatcher?

Dispatcher is Adobe Experience Manager’s caching and/or load balancing tool. Dispatcher also helps to protect your AEM server from attack. The Dispatcher helps realize an environment i.e both fast and dynamic. It works as a part of a static HTML server, with the aim of :

  • Storing as much of the site content as is possible, in the form of static website.
  • Accessing the layout as little as possible. For caching, the Dispatcher module uses the Web server’s ability to serve static content. The Dispatcher places the cached documents in the document root of the Web server.

Q13. Difference between jcr:primaryType and jcr:mixinTypes?

There are two categories of node types, primary and mixin. Every node has a primary node type assigned to it upon creation. In addition, a mixin node type may be added to a node later in its lifecycle. The primary node type of a node usually defines node structure (i.e., allowed and required child nodes and properties) related to the problem domain being modeled. For example, a node used in storing content about business contacts might have the primary type myapp:Contact which defines properties such as myapp:givenName, myapp:familyName and so forth. Mixin node types usually specify additional properties or child nodes related to a capability being added to the node. These capabilities may include generic repository-level functions as in the case of the built-in mixins mix:versionable and mix:lockable, for example, or domain-level capabilities such as a (hypothetical) myapp:Emailable mixin type that adds the property myapp:emailAddress to a node.

Q14. What is Personalization?

Personalization provides your users with a customized environment that displays dynamic content selected according to their specific needs. There is an ever-increasing volume of content available today, be it on internet, extranet, or intranet websites. Personalization centers on providing the user with a tailor-made environment displaying dynamic content that is selected according to their specific needs; be this on the basis of predefined profiles, user selection, or interactive user behavior. Teaser Component used in Personalization.

Q15. What is FileVault Tool (VLT) in AEM?

The FileVault tool (VLT) is a tool developed by Adobe that maps the content of a CRX/AEM instance to your file system or we can say that it is used to map windows file system structure to CRX/AEM file system Structure. The VLT tool has similar functions as source control system client such as a Subversion (SVN) client, providing normal check-in, check-out and management operations, as well as configuration options for flexible representation of the project content.

Q16. What are the features of AEM Brackets Extension?

The main features of the AEM Brackets Extension are:

  • Automated synchronization of changed files to the AEM development instance.
  • Manual bidirectional synchronization of files and folders.
  • Full content-package synchronization of the project.
  • HTL code completion for expressions and data-sly-* block statements.
  • Photoshop file support to extract information from a PSD file, like layers, measurements, colors, fonts, texts, etc.
  • CSS preprocessor support, like LESS and SCSS.

To read more AEM Interview Questions and answer check out our Android App from play store:

https://play.google.com/store/apps/details?id=com.vigowebs.interviewquestions

Our app contains 1700+ Interview Questions and answers with clear code examples from trending technologies.

--

--