Important AEM Interview Question Answers (Part 1)

Introduction to Adobe Experience Manager

Adobe Experience Manager is one of the fastest growing comprehensive Content Management System in the industry. Due to its distinct offerings and seamless integrations with other Adobe Services like Adobe Target, Adobe Analytics AEM is preferred over other Content Management Systems. Also from development point of view AEM offers readily available Components, Templates and even a real world implementation example like We. Retail. These things helps to kickstart the development of web experiences. As AEM is in demand in the industry, thus there is a demand of AEM Content Authors, AEM Front End Developers, Backend Developers and so on. In this blog we have listed down few of the important AEM questions that are asked in the AEM Interview. 

This blog will help you prepare for the AEM Interview. Please note the questions mentioned are applicable for the AEM freshers to 2 years experienced associates in the area of AEM Content Authoring and AEM Front End Development. Stay tuned for more questions. 

For detailed Information on AEM Technology stack, AEM website Architecture please click on following link

What is Adobe Experience Manager 


1. Describe AEM in simple terms. 

AEM stands for Adobe Experience Manager and it is Content Management tool which enterprises use for the creation of Websites, Web forms and Applications. In AEM front end we use a HTML templating language (HTL) called Sightly. Sightly is a server side templating language and it essentially creates a HTML code at runtime. 

AEM has reusable components called Page Rendering Components, These components can be added on the page. Page Rendering Components stores HTL code in it and with the help of HTL code logic it generates HTML at runtime. Sightly helps to separate  markup and logic so whenever we need to change the content we need not to touch the code. 

In AEM we have Java Content Repository for storing the content, code, files. It is essentially a database for the AEM, content/files can be stored and fetched from JCR. Apache Sling is used to fetch the content from the JCR repository. For AEM backend we need Java language, as it has Java based Sling Models, Java API's etc. AEM is built on top OSGi framework. OSGi Services are the core Java building blocks for the AEM to work.


2. What is component in Adobe Experience Manager.

Components in AEM are called as Page Rendering Components and they are re-usable. It essentially contains Sightly (HTL) code in it which creates the HTML snippets at runtime based on the logic written in HTL. AEM Content Authors uses component dialog box to change the content on the page. Component dialog box is based on Granite UI which can be configured as per the need. We can find AEM components under apps folder in AEM. Components in AEM are of 2 types, 

Core Components :- Core components are provided by Adobe as a quick start package and it can be used to kick start AEM page development process. In modern AEM versions AEM core components are created and used on We. Retail project in AEM. 

Custom Components :- Custom components can be developed as per the need of project and it may or may not point to the core component as a parent. For the development of custom components we need knowledge of HTL as well sometimes Sling Models if we want to optimize the components.


3. What is template in Adobe Experience Manager.

In Adobe Experience Manager, a template acts as a pre-defined layout that content authors use to create pages. It essentially defines the structure and configures which all components can be used on the page developed using the template. Template creation and usage in website building ensures consistent structure and layout of the pages. Template is very useful during times like website maintenance/changes. Changes made in template will affect across all pages created using it.

Templates are generally 2 types which are mentioned below.

Static Templates : Static Templates define a fixed structure for pages. These templates require developer access in AEM environment to do any modifications in it. 

Editable Templates: These templates content authors can modify in terms of structure and layout up to a configured extent. This empowers content author make changes in a layout and structure of the template without relying on developers.


4. What is a difference between AEM Author instance and Publish instance.

AEM Author and Publish Instances are nothing but two separate copies of AEM running on 2 different servers. AEM server uses standalone Java based server which can be operated on nearly all operating systems.

AEM Author server is used by AEM Content Author associate as well as AEM front end developer associate to create or make changes in page content and page UI respectively. Once changes are finalized, they are pushed to AEM publish instance via the help of replicating agents. 

In Publish server webpage HTML is created using Apache Sling, HTL markup and logic mentioned in HTL. For dynamic URL's user request goes to AEM publish server and appropriate data will be sent from publish server.  The static HTML created is then cached in AEM Dispatcher for content delivery on demand. 

So basically AEM Author instance is used for making changes in the code, content and files, whereas AEM publish instance is used to keep all final content ready to get delivered on demand over internet.

 

5. What is Sightly in AEM.

Sightly also called as HTL(HTML Template Language) is a server side templating language used in Adobe Experience Manager. It is usually written in page rendering component (AEM component) and it will create HTML code at runtime. Sightly essentially pulls data from the JCR database at runtime keeping the markup and content separate by using the tags and various attributes in it.

Sightly is very much similar to HTML and it contains all valid tags. Along with those tags Sightly even gives flexibility to specify logic in a markup.

Following are the few examples of Sightly tags and attributes, 

1. data-sly-test tag 

Turn your device's Orientation to Landscape for best experience. 

     <div data-sly-test = "${properties.title == 'Information Province'}">
         <h1>${properties.title}</h1>
     </div>

With the help of data-sly-test tag we can specify conditionals in markup. In above example HTL will add H1 tag in the output HTML only if the node under operation has title property and it value matches with given string "Information Province".

2. data-sly-list tag

Turn your device's Orientation to Landscape for best experience. 

     <div data-sly-list="${currentPage.listChildren}">
        <ol>
          <li>Page name is ${item.title} with number ${itemList.index}</li>
        </ol>
     </div>

With the help of data-sly-list tag we can list down the child pages of current node and loop over it can be preformed. The above example list down all child pages of page node under operation and stores in the list. The stored data of child pages can be used to list down all the child pages for a navigation menu. 

To learn more about HTL tags visit following link.

More about Sightly


6. What is DAM in Adobe Experience Manager.

DAM is Digital Asset Management in Adobe Experience Manager and it is used to store, manage and distribute digital assets like images, PDF's, Videos, Audio files, etc. AEM stores metadata related information in the form of properties under the metadata node of asset file. DAM in Adobe Experience Manager helps in maintaining a version control for the assets. Assets in DAM can be organized and tagged under certain categories which improves accessibility of those assets. 

Image of CRXDE UI with Explorer pane, Edit Pane and properties tab showing metadata information.

Fig 1. CRXDE User Interface showing Edit, Explorer pane and pdf Metadata information.

Typical example of metadata includes alt tag, title tag, image information etc. and can be used to render the alt tags and title tags in the html page. For the assets like PDF, title metadata can be used to display the data in the header of PDF display in browser.


7. What is difference between classic UI and touch UI in AEM. 

Adobe Experience Manager (AEM) can be accessed using two user interfaces : Classic UI and Touch UI. In 2018 Adobe deprecated the Classic UI and asked users to begin using Touch UI which is optimized for modern devices. But still few developers prefer to use the Classic UI due to their familiarity and comfort with the Classis UI. Following table summaries the difference between Classic UI and Touch UI.

Turn your device's Orientation to Landscape for best experience. 

Comparison PointerClassic UITouch UI
Device SuitabilityDesktop computersResponsive Design (Suitable for Mobile, Tablet and Desktop)
Control & ExperienceGranular control, detailed editingStreamlined experience, drag-and-drop, user-friendly
InterfaceDesktop application like feelTouch-optimized & Modern Web-based UI
Search FunctionalityOnly limited for Siteadmin and DamadminOmni Search
SuitabilityComplex content creation, precise controlBasic content creation, quick edits
Examples of AEM micro-sitesWebsites (Siteadmin), Digital Assets(Damadmin)Sites(sites.html) , Assets(assets.html)


8. What is a granite UI and what it is used for in AEM.

Granite UI in Adobe Experience Manager is framework which is primarily used to build the user interfaces. It is used to create component dialogs and Touch UI console. Granite UI has pre-built interface components that developers can use to create component dialog box. These component dialog boxes are used by content authors to author and modify the content. 

Few of the examples of Granite UI reusable components are text fields, dropdowns, calendars, file upload, Select list buttons and many more. Developers can customize Granite UI components which allow them to create project specific User Interfaces. Granite UI is often used in conjunction with other frameworks like Sling and AEM APIs for building comprehensive AEM functionalities.


9. What is the full form of CRXDE and its use in Adobe Experience Manager.

The full form of CRXDE is Content Repository Extreme/Development Environment as per the CRXDE User Interface. It stores all content and data managed by AEM, including pages, assets and its metadata, components, Templates, tags, and user information in the form of nodes and properties associated with nodes. 

CRXDE can be used to access the hierarchical structure of repository which includes parent pages and child pages, asset and its metadata and so on. It allows to view content details in the form of properties, modify or delete it in the CRXDE editor. It also allows developers to create new nodes as per the requirement, make changes in the code files like HTL, CSS, JS in the browser itself. 

CRXDE provides functionalities like universal search which developers can use to find content matches for text queries. CRXDE allows AEM developers and Admins to take pages live with single click called Replicate and even allows to unpublish the pages with Replicate Delete option.

CRXDE interface contains Explorer pane and Edit pane. The Explorer pane displays the hierarchical structure of nodes in the repository. The Edit pane can be used to view, modify the selected file. Below the Edit pane it shows a group of tabs. Properties tab is one of the tab in which all properties of selected node are shown. Properties tab can be used to Add, Modify, Delete the properties and the data associated with properties which is in the form of values. Please refer Fig 1. for information on CRXDE user interface.

10.  What is a CDN associated with Adobe Experience Manager.

The full form of CDN is Content Delivery Network. CDN is a geographically located network of servers which is used to cache the website static content to reduce the latency and improving the performance of sites. Website static content includes HTML files, CSS & JS files, assets like Images, PDF's etc. Caching the content on edge locations near to the user will reduce latency and reduces the load on primary AEM server like Dispatcher and Publisher.

Content Delivery Networks are useful in heavy traffic conditions on website and prevents website outages during peak usage periods. Akamai, CloudFront, Google Cloud CDN and Rackspace are few examples of top CDN service providers. CDN's usually revalidates and changes the content on edge server after some time specified by Time To Live (TTL) factor. TTL determines how long the content can be cached before revalidating.

Once a CDN is configured for a site, the request of a user goes to the CDN first, CDN checks if the cached data is available and serve the data from nearest edge server. If the cached data is not available then the request will be routed to the primary AEM server containing dispatcher / publisher from where the user receives data.

Click the link in this sentence to find more about difference between AEM as Managed service and AEM as a cloud service.

Feeling curious about a specific AEM topic or interview question? Don't hesitate to post your question in a comment below. Our team of AEM experts will be happy to assist you as soon as possible! Stay tuned for part 2.

Comments

  1. Hi Sir/Madam,

    I liked your approach of sorting the questions based on year of experience and mentioning it explicitly for better audience interaction.
    Honestly speaking I just know the AEM Content Management System by name only and I don't have much understanding of it.
    I am a IT graduate with passion of Graphics designing and UI/UX development. Being and UI/UX aspirant, are there any jobs which I can target. Please give me more information on it.

    ReplyDelete
  2. Thank You Booster Rooster for valuable feedback.
    There are quite a few positions will be available if we consider a fresh new AEM website under process of building. A graphics designer as well as a UI/UX developer will be required to design the look and feel of the website, such as developing the visuals or outline of the pages.
    Definitely you can target the above mentioned area of work. Along with your expertise just invest little more time in learning how AEM or other CMS works. It will help you to get a rewarding career.

    ReplyDelete

Post a Comment

Popular posts from this blog

What is Adobe Experience Manager (AEM).

Important Questions & Answers on Articulation (Part 1)

Important Questions & Answers on Articulation (Part 2)

Important Questions & Answers on Articulation (Part 7)

Most asked questions for Generative AI