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.
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.
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.
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 Pointer | Classic UI | Touch UI |
---|---|---|
Device Suitability | Desktop computers | Responsive Design (Suitable for Mobile, Tablet and Desktop) |
Control & Experience | Granular control, detailed editing | Streamlined experience, drag-and-drop, user-friendly |
Interface | Desktop application like feel | Touch-optimized & Modern Web-based UI |
Search Functionality | Only limited for Siteadmin and Damadmin | Omni Search |
Suitability | Complex content creation, precise control | Basic content creation, quick edits |
Examples of AEM micro-sites | Websites (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.
Hi Sir/Madam,
ReplyDeleteI 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.
Thank You Booster Rooster for valuable feedback.
ReplyDeleteThere 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.