Top 83 Frequently Asked AEM Interview Questions
1. What is AEM?
Answer: AEM is defined as a content management service which aids the development of content, websites and mobile applications. The system allows web development and digital marketing professionals to devise their marketing strategies for targeting customers.
2. What is the full form of AEM?
Answer: The full form of AEM is “Adobe Experience Manager”
3. What are the features of AEM?
Answer: The features of AEM are.
- It is easier to navigate through the different pages, assets, templates and elements in the web page.
- The new template editor has many features which allow the users to create and manage their personalized templates. Drag and drop, easy to make the forms with the help of HTML 5 functionality makes the process easier.
- The Multi-Site Manager allows the seamless launching of online campaigns globally which can be very useful for the international brands. The local markets and customers can be targeted with much ease.
- The new version of AEM associate with Livefyre for providing better content development and social media marketing.
- It has a unified User Interface that allows better personalization for all.
4. What are some most important advantages and limitations of AEM?
Answer: The advantages of AEM are:
- It has a unified User Interface that allows better personalization for all.
- It is easier to navigate through different pages, assets, templates and elements in the web page.
- AEM is a part of Adobe Marketing Cloud, which is a comprehensive solution consisting of Adobe Analytics, Adobe Social, Adobe Campaign etc.
- The new template editor has many features which allow the users to create and manage their personalized templates. Drag and drop, easy to make the forms along with the HTML 5 functionality helps in making the process easier.
- The AEM DAM (Digital Asset Management) is a handy tool that helps in the management of different assets in the website.
The limitations of AEM are:
- Some internal glitches have been observed in the software.
- It is not easily compatible with all systems; hence the need for checking the requirements.
- As it contains a lot of different digital marketing tools, some amount of experience is needed to operate it.
5. Explain what is the use of Adobe Social?
Answer: With the use of the Adobe social, the user will be capable to create their leads in the social media network. Some of them are Twitter, Facebook, Google Plus. With these mediums the user will be able to make leads and also understand the community sentiments about the business and the operations.
6. Explain what is the use of Adobe Analytics?
Answer: It is exactly the way Google Analytics works. By taking the help of Adobe Analytics, the user will be capable of collecting a different set of information like how many visitors have gone through a certain activity within the website, etc. Also, it helps the business owners to understand what part of the content is driving the visitors most of the time. Based on these decisions, the business owner will be able to concentrate on that part of the content which is going viral.
7. Explain what is the use of Adobe Target?
Answer: This is one of the greatest tools. For this to be working effectively it needs to take the input from Adobe Analytics. By taking the help of this data, the tool can project the right content to the user at the right time. It is more like understanding the behavior of a visitor and providing customized content for him or her to let them enjoy their visit to the website. Thus providing a customized visit will help the visitors to spend quality time on the website and also helps the overall increase in the sales.
8. Explain what is the use of Adobe media optimizer?
Answer: With the help of this tool, the digital ads that are set according to the customers preferences and overall budget allocated for the ads makes sense. In a sense, the target ads are shown to the visitors and is based on their interest. Thus, it will help to optimize the entire money allocated on ads.
9. Explain what is the use of Adobe campaign?
Answer: By taking the help of this tool, the campaigns are more catered towards the behavior of visitors. On the basis of the visitor’s interest the campaigns are getting executed.
10. How to access content in AEM?
Answer: We can access the content within a web site through the AEM Content Services.
11. What does ‘CQ’ mean?
Answer: The AEM was formerly called CQ.
12. Does TestNG support the automating of the AEM UI test?
Answer: Yes, TestNG supports automating AEM UI tests.
13. Explain types of interfaces available in AEM?
Answer: The different types of the interfaces in the AEM are Tagging Console, Touch UI Console Classic UI Homepage, MCM Console, DAM Console, Launches Console, etc.
14. What are the components in AEM?
Answer: Components are used for identifying the functionality of the elements on the website. They are reusable and can be containing the other configuration files. They can be edited and have a user interface. They can be launched into the test environments and live sites.
15. How to create a component in AEM?
Answer: We can take an example of a component which makes use of a dialogue grid. The steps for making the AEM component are as follows:
- One must be making an application manager folder structure which consists of templates, pages and parts through the CRXDE.
- Make a template using the CRXDE Lite.
- According to the page, the template develops the component.
- One should be making a component that will use a grid.
- Make dialogue functionality for the component.
- One should be including the Javascript code inside the component files.
- Develop a web site that has a page for applying the composition.
16. What are client libraries in AEM?
Answer: The AEM client library is used to manage all the Javascript as well as the client-side code and CSS resources such as images, fonts. It helps in maintaining, debugging, merging and minimizing the resources and code.
17. What is tag library in AEM?
Answer: Custom tag libraries can be developed using AEM. This facilitates the actions of call or invoke from an AEM component. These actions can be invoked using XML code.
18. How does dispatcher work in AEM?
Answer: In AEM, dispatcher is defined as a tool which is used for balancing the load and will help in the caching. This device can be considered as an option of security enhancement for the AEM server from the external attacks.
19. What is replication in AEM?
Answer: Replication in AEM is defined as a process of publishing of page content from the Author Instance to the Process Instance. It is also used to filter content from Dispatcher cache. It is used for transferring the user data from the publish environment to the author environment.
20. What happens if replication fails in AEM?
Answer: If the AEM replication fails then the action should be taken according to the situation. If the replications are getting queued in the replication agent queues, it can be checked by accessing the /etc/replication/agents.author.html. Click replication agents to analyze the situation.
21. What is replication Reverse in AEM?
Answer: In the reverse replication, the content is getting transferred from the publisher environment to the author environment. It is used in replicating the data which is related to profile details of the user and posts in the website’s forum.
22. How to start AEM in debug mode?
Answer: Starting the AEM in the debugging mode will let us enable the debugger mode. The following codes are needed for adding in the command line:
nofork -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10123
23. What is sling in AEM and what are its properties?
Answer: Sling is used for developing web applications in the AEM. Through the framework, web apps can be developed that are mainly content-oriented. It is based on the REST principles and is built on the top of the JCR (Java Content Repository). It is used to store and handle the content on the Java Repository.
24. How to call a service from a sling model in AEM?
Answer: For calling the services from a sling model in AEM by the development of a custom component that is having a TreePanel type object.
25. What is an overlay in AEM?
Answer: Overlay in AEM is defined as the process of redefining the existing functionality and customizing it. It can also include making a custom component by the modification of the current foundation component according to the requirements.
26. What is Adobe Marketing Cloud?
Answer: The Adobe Marketing Cloud is defined as the one-stop solution for all the customers where they can be utilizing these services and also making sure their digital marketing side of the business is entirely getting covered by leveraging on the services of Adobe.
27. What script should be involved in the display sidekick?
Answer: The script that must be involved in the display sidekick is: Init.jsp- termed as the script file.
28. What is the design dialog?
Answer: A design dialog is presented at the level of template. With taking the help of edit in the designing mode, the user will be capable of designing the page. Once it’s done at the template level all the pages that share this template will reflect all the changes.
29. What is extending a component?
Answer: Extending a component is when you want to create a new component that will not be overriding a base component but will be having the same features as the original so that you can be building upon that component. For extending a component, you must be setting “sling: resourceSuperType” of the component to the base component you would like to continue.
30. What is a Template?
Answer: A CQ template is empowering you to determine a consistent style for the pages in your application. A template comprises nodes that specify the page structure.
31. What is the use of the Edit Config node in creating a component?
Answer: Edit Config node is used for defining the component behavior.
32. How does a dispatcher perform Load balancing activity?
Answer: The dispatcher performs load balancing activity by executing these steps:
- Performance Statics
- Sticky Connections
- Increased fail-safe coverage
- Processing Power
By classifying these parameters, the load balancers will work according to the CQ5
33. List out all available interfaces in Adobe Experience Manager?
Answer: The list of all available interfaces in AEM is:
- CRX Delite
- Apache Felix
- Site Admin
- Etc/Tool
- CRX Explorer
34. What do you mean by Site Page?
Answer: A site page is defined as a website where we can be placing an Adaptive document, Adaptive form or a static text.
35. What is the process step in the workflow?
Answer: It is defined as a workflow component that can be found at and it is also used to call a java class in the workflow.
36. What is the difference between CQ5 and AEM?
Answer: The major tech stack upgrades in AEM 6.1/6.0.
1. Jackrabbit Oak: Comparing to JCR, Oak is offering improved performance and scalability. You also have an option of making use of NoSQL DB like MongoDB as the persistence layer for supporting clustering and user generated data scenarios.
2. Sightly: New templating language making the markup look beautiful, enforcing the separation of the markup from logic and also offering the XSS protection by default.
3. Touch UI: Classic UI in CQ5 which is ExtJS based has been upgraded to Touch UI which supports touch enabled devices – built using Coral UI framework.
4. Search – Apache Solr: Default search engine in CQ5 was Lucene, this has been upgraded to Solr. You can now be configuring Solr server as the search engine for your application of AEM.
37. What is new in AEM 6.2?
Answer: Adobe Experience Manager 6.2 is defined as an upgrade which is used for releasing the Adobe Experience Manager 6.1 code base. It provides new and enhanced functionality, high priority customer enhancement, key customer fixes and general bug fixes oriented towards the stabilization of product. It also includes all the Adobe Experience Manager 6.1 feature pack, service pack releases and hot fix.
The list below provides an overview:
Security Features
- Added support for password history.
- Configurable authentication token expiration
- Ongoing effort: it is a switched usage of the Sling loginAdministrative API to the Service Users in the various areas of the product.
Main repository enhancements are:
- Support for MongoDB Enterprise 3.2
- Cold standby enhancements used for supporting failover of a procedural high availability in the TarMK.
- Oak search enhancements like Faceted Search, Suggestions, Spellchecker and more.
- Performance, Scalability and Resilience in general.
- Revision Cleanup Supporting.
User Interface
AEM 6.2 implements the 2016 Adobe Marketing Cloud UI design (also known as Shell 3). Further – the user interface is in the transition from the Coral UI 2 to the Web Component based Coral 3 UI library.
Operations Dashboard:
- “Explain Query” provides insight to the mechanics of your queries for supporting diagnosis and optimization.
- Specific repository aspects can be monitored on a configurable timeline view in the section of Tools/Operations.
- A configurable series of Java thread dumps can be downloaded with the Status.zip from the section of Tools/Operations/Diagnosis.
- User Sync Diagnostics support the consistency for User/Groups across the instances of AEM.
Content Distribution:
- Package replication used for supporting the extra large activation volumes.
- Priority-Queuing configuration used for allowing the split between backlog and urgent activations.
- A configurable series of the Java thread dumps can be downloaded with the Status.zip from the section of Tools/Operations/Diagnosis.
- Auto-unlocking stuck replication queues are included in the advanced notifications.
38. What is new in AEM 6.3?
Answer: Adobe Experience Manager 6.3 is defined as an upgrade to the Adobe Experience Manager 6.2 code base. It provides new and enhanced functionality, high priority customer enhancements, key customer fixes, and general bug fixes oriented towards the stabilization of product. It also includes all Adobe Experience Manager 6.2 feature pack, service pack releases and hot fix.
Online Revision Cleanup Support
Oak Segment Tar File Format: A new TarMK format is for the optimization of the runtime and maintenance of the performance. It claims to perform better than the previous TarMK format and also fully supports the online revision cleanups. This last point should be considered as the music to the ears of anyone who has worked on the automation of cloud with the AEM. There will no longer be a need for shutting down an instance for performing a repository compaction and is now scheduled for running frequently as a part of the maintenance tasks.
Activity maps
The AEM Sites Activity Map integration which is introduced in the AEM 6.3 allow the Adobe Analytics Activity Map for exposing the analytics data directly on the AEM Sites page, enabling the AEM Authors for understanding how their pages are getting engaged with the link.
Bulk workflow
It helps in increasing productivity with faster workflow-related tasks and having the ability for processing the multiple items in one click.
Sling Model Exporter
Sling Model Exporter is introduced in the Sling Models v1.3.0. This new feature allows the new annotations which are to be added to the Sling Models that define how the Model can be exported as JSON.
For attaching the exporter framework to a Sling model define a resourceType by making use of the @Model annotation and also making use of the @Exporter annotation for specifying the Jackson exporter along with the Sling extension. It is also possible to make use of Jackson annotations for the alteration of the JSON representation of the model.
Livefyre Integration
Adobe had acquired Livefyre back in May 2016 and has now integrated it within the Adobe Experience Manager as a set of components along with a moderation console and user-generated content ingestion. Once a Livefyre cloud service configuration is set up, it allows the content authors for adding the components (located under /libs/social/integrations/livefyre/components) on a page for surface user generated content from the social media like Instagram and Twitter. The combination of social media content and the traditional branded experiences prove to be a very effective way for driving the engagement with customers. The use of the Livefyre does require a separate Assets and Livefyre license but does not require a Communities license.
Content Fragments
Content Fragments allow working on text based content out-side the context of an experience. With the use of AEM 6.3 the variations capability, that allows the keeping of flavors of the content in one place was extended with the ability for propagating the changes made in the original copy to the variations by using the Sync feature.
Further, to help shorten text, a Summarized feature was added that leverages extractive summarization to recommend sentences that could possibly be removed.
39. Distinction between service and part?
Answer: Service:
A service is an OSGI part that may be researched from different OSGI elements.
Any java object is having the eligibility to be a service.
Services area unit is maintained in the commission register and from that they will be researched.
Component:
A part may be a java object whose life cycle is handled by the OSGI instrumentation.
Any java object has the eligibility to be a part.
A part isn’t essentially an OSGI service; however, to form it due to different elements it’s to be declared as service.
40. However, is a category formed out there to OSGI containers?
Answer: By providing @component at the highest of the category declaration.
41. Does one invariably would like @service and @component annotations for a category in OSGI?
Answer: No, a part might not be declared as an OSGI service. However, there’s also a demand for consuming/looking up for the part. In another part it’s to be declared as the @component.
42. Following steps should be taken so as to confirm part is configurable way to write a state of affairs wherever a part isn’t configurable on ConfigMgr?
Answer: The attribute-value metadata=true of @component annotation is accountable to creating the part configurable on ConfigMgr. that ought to be verified initially.
If the part is exploited @reference to different services, they must be out there to be initialized.
There ought to be configurable properties related to the part exploitation – @property or @properties.
43. What’s the distinction between Live Copy and Language Copy?
Answer: A Live Copy is defined as the copying of the blueprint/source with its live relation with the source which suggest the changes in lives copy and supplying area unit half-track. Supplies are often hooking up, detaching, reattaching or setting to the Live Copy whereas a Language Copy may be considered as a static copy of some or all the pages of the supply.
44. How Live Copy is connected to blueprint?
Answer: Live Copy is defined to be designed and updated mechanically once an update in the blueprint takes place. MSM configuration.
Please refer – https://docs.adobe.com/docs/en/aem/6-0/administer/sites/multi-site-manager/msm-blueprints.html
45. A way to track run modes?
Answer: Run modes are designed in the following ways such as.
By providing the running mode as the name of AEM jar file e.g. cq6_publish_p4503.jar.
By providing property – sling.run.modes in the sling.properties file.
By providing running mode with java argument for instance -Dsling.run.modes=publish
By providing -r that begins the jar file exploitation of the batch file.
46. How is the configuration of AEM instances done per run modes?
Answer: You’ll outline a config (nt:folder) node within your project folder – /apps/projectA and outline configuration of a service/component by making a node sling:OsgiConfig under that, having the total qualifying name like org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl. The configuration ought to be provided because of the property of this node.
47. What are the benefits of mistreatment Sightly?
Answer: Following are the benefits of mistreatment over JSP.
It helps in easy and no demand of knowing JAVA to get used to the beautiful.
It helps in the protection against cross scripting.
It makes use of beautiful context to output information in the correct format.
It helps in clear separation of shopper facet and backside logic.
It helps in the strong affiliation to Sling.
It has 2 ways to handle backend logic. WCM makes use of Java API and WCM make use of Javascript API.
48. What’s markup language context in Sightly?
Answer: The context of the content refers to its location wherever it’s employed in the page. HTL is capable of distinctive context for the output except in the case of CSS and JS. This context is employed to forestall XSS security drawbacks. XSS is a cross web site scripting attack during which the wrongdoer will inject the custom script and attack the positioning. HTL provides protection from this by getting introduced to the show context. HTL is capable of distinguishing the context in text, link and title properties. There are many show contexts that will be used if needed and is listed below.
text
html
attribute
uri
number
49. Why do style square measure completely different from clientlibs and why clientlibs be outlined outside designs?
Answer: Styles contain the main points of the website level configurations of the elements and it will also contain the clientlibs. However, once a clientlibs square is measured in styles, it’ll be combined into one main.js/main.css and can be loaded when a page is named. However, their square measures the cases and not all the scripts/CSS square measure required to be loaded on page as they’re not employed by the elements. In such cases, the clientlibs may be outlined beside the elements and foreign in keeping with the need of the page. This may guarantee solely to those shopper libs square as referred to the square measure needed by the page/components.
50. What will clientlibs contain and what’s plant, dependencies and categories?
Answer: Clientlibs contain the js.txt, css.txt and therefore the sources of CSS and Javascript.
Categories specify the clientslibs needed by the page.
Dependencies specify the clientlibs that square measuring is needed to run the clientlibs outlined in the classes and it means that there’ll be an additional decision created for loading these clientlibs.
Embed specify aggregating the clientlibs beside the one that is outlined in the classes. This is implying they’re going to be hooked up to the most clientlibs.
51. Distinction between CRX2.0 and OAK (CRX3.0)
Answer: CRX2.0 is defined as the implementation of the hare whereas the OAK is that the implementation of the hare OAK.
Since CRX2.0 is the implementation of hare, it is making use of the JCR fully, whereas the OAK makes use of JCR even as facades.
CRX2.0 has the persistence manager that is writing the information as blob but OAK has a microkernel that is writing the information as per the underlying sound unit.
CRX2.0 makes use of the Lucene whereas OAK makes use of the Solr.
CRX2.0 does not support the bunch whereas OAK makes use of the MongoDB.
52. Distinction between CQ5.6 and AEM6.1?
Answer: Since AEM6.0, the bit UI was introduced. That wasn’t there in the CQ5.6
AEM6.1 makes use of the OAK and 5.6 makes use of the CRX2.0 that is the adobe’s implementation of JCR.
Since AEM6.0 is introduced as a new nomenclature for facilitating the face developers with the page definitions that reduces the need of getting developers for the data of java.
CQSE servlet engine has been replaced by Eclipse groyne.
53. Does one perpetually need @activate and @deactivate?
Answer: No. They indicate the ways which are needed for the pre or post process of the components/services.
54. Justify dispatcher configurations (especially /filter).
Answer:
name: just in the case, the name of the services is totally different from the reference of the declared variable.
interface Name : interface name for the service.
policy: It will be one in every of the ReferencePolicy.STATIC or ReferencePolicy.DYNAMIC. the dynamic means that if the service of reference bursts, it’s guaranteed to the vocation service and the component is more dynamic while not the necessity of the resetting of vocation service and component. By default, this price is often static, which implyies the vocation component/service won’t be up till the reference is resolved.
target: for picking the documented service.
strategy: it is one in every search or event. This price defines how the references are going to be resolved.
55. What are the advantages of CQ5 over other CMS?
Answer: The advantages of CQ5 over other CMS (Content management System) are:-
- Implementation of workflows for creating, editing and publishing of content.
- Management of digital repository assets like documents, images and integrating them to the websites.
- By making use of the search queries for finding content no matter where it is stored in your organization.
- It is helpful in setting up the collaboration of social blogs, groups.
- It is helpful in tagging utilities for organizing the digital assets such as images.
56. What is Adobe marketing cloud? Why do I need it?
Answer: Basically it is a collection of 8 adobe marketing solutions. It helps customers to master digital marketing by leveraging these adobe marketing solutions.
Adobe Experience Manager- It helps customers to create a seamless digital appearance across all platforms and languages. That helps customers to build their brand globally and increase their demand.
Adobe Social –It helps customers to lead their social media channels like Facebook, twitter, Google plus and enables customers to know its community sentiments.
Adobe Analytics –Like Google analytics it also collects, analyzes and divides visitors into segments that can be plotted on charts to get better understanding and insight about your visitors.
Adobe Target – It makes use of the Adobe Analytics inputs for delivering the targeted or the most relevant content to the right visitor at right time. It helps in understanding the customer preferences and providing the personalized experience for meeting each customer’s needs instantly and hence it also increases overall sales.
Adobe Media Optimizer – It allows customers to provide targeted ads to the visitors and hence optimizes overall money spent on ads.
Adobe Campaign – It allows customers to provide targeted one to one campaigns to the visitors based on their interests.
Adobe Primetime – Primetime helps you to create, deliver and monetize personal video experiences.
Adobe Social – Social helps you to create relevant social content and quantify your social marketing results.
57. Differentiate between Dialog and Design Dialog?
Answer: Both design dialog and dialog are getting used by the user for configuring the component.
Design Dialog: If a component can be seen or edited in the designing mode of the page. Design dialog is presented at the level of template so all the pages of the template will share the same design dialog.
Dialog: If a component is presented at the level of page so each component instance will have its own dialog and information entered and stored under /content folder.
58. Where dialog and design dialogue data is stored?
Answer: Design dialog data is stored under the /etc/designs folder.
Dialog data is stored under the /content folder.
59. What is Adaptive Form? Explain Adaptive Form? What do you mean by Adaptive Form?
Answer: Adaptive form is used for breaking down a form into logical sections, basically it is enabling the end users to focus on the filling of the form. When we require taking input from the user we use Adaptive Form.
60. What is Adaptive Document? Explain Adaptive Document? What do you mean by Adaptive Document?
Answer: Adaptive Document is used for displaying the output to the end user. For example- a bank statement is an adaptive document as all its content remains the same, only name and amount changes. Basically we put placeholder text in Adaptive Document which is filled dynamically at run time.
61. Explain the methods of Caching adopted by Dispatcher?
Answer: Dispatcher uses the following methods for caching:
Content Updates invalidates those pages whose content has been updated and replaces it with new content.
Auto-invalidation used to automatically invalidate the content parts which are out of date – without physically deleting any of the files.
62. How Dispatcher performs Load-balancing?
Answer: Performance Statistics –Dispatcher is keeping the statistics on how fast each instance of cq will respond to a particular url. Based on those metrics, dispatcher is determining which instance of cq will be fetching the quickest response for any request and relaying the request to that cq instance.
Sticky Connections – when a user session is established, then all incoming requests from that user must be served by the same cq instance because other cq instances cannot recognize the user session and generate personalized pages for him. Dispatcher helps in making sure all requests for the user session are served from the same cq instance.
Increased fail-safe coverage: If the Dispatcher is not receiving the responses from an instance, it will automatically relay the requests to one of the other instance(s).
Increased processing power: In practice, this means that the Dispatcher is sharing the document requests between several instances of CQ. Because each instance is having fewer documents for processing you are having the faster response times.
63. Can I implement multiple Dispatchers in a setup?
Answer: Yes. In such cases one must ensure that both the Dispatchers can access the CQ website directly. A Dispatcher cannot be handling the requests that are coming from another Dispatcher.
64. What are the differences between package and bundle?
Answer: Package: A Package is a zip file that contains the content in the form of a file-system serialization (called “vault” serialization) that displays the content from the repository as an easy-to-use-and-edit representation of files and folders. Packages can include content and project-related data.
Bundle: Bundle is tightly coupled, dynamically it is considered as the loadable collection of jars, classes, and configuration files that explicitly declare their external dependencies.
65. Explain life cycle of OSGi [Open Systems Gateway initiative] bundle?
Answer: OSGi is defined as a framework which allows the modular development of applications by making use of java.
A large application can be constructed by making use of the small reusable components each of which can get started independently, stopped, and also can be configured dynamically while running without the requirement to restart.
The states of OSGI life cycle are discussed below:
Installed – In this the bundle has been successfully installed.
Resolved – All classes of Java that the bundle needs are available. This state indicates that the bundle is either getting ready to start or has been stopped.
Starting – In this 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 gets activated according to its activation policy.
Active –In this the bundle has been successfully activated and is running well; it’s Activator start method has been called and returned.
Stopping – The bundle is stopped. The BundleActivator.stop method has been called but the stop method has not yet returned to the page.
Uninstalled –The bundle has been uninstalled. It cannot move into another state.
66. What are the advantages of using OSGI?
Answer: Advantages of using OSGI are stated below:-
- Dynamic module system for Java.
- Universal Middleware Category.
- Helps applications to be constructed from small, reusable and collaborative components.
- OSGi bundles can contain the compiled codes of Java, scripts or any contents to be loaded in the repository.
- Helps the bundles to be loaded, installed.
- Reduces the complexity of the system.
67. What are the differences between OSGi bundle and Normal Jar file?
Answer:
- OSGi bundles are considered as the jar files with the metadata inside them. Much of this metadata is in the jar’s manifest found at META-INF/MANIFEST.MF. When this metadata is read by an OSGi runtime container, it gives the bundle its power.
- With the OSGi, just because a class is public doesn’t mean that you can get to it. All the bundles include an export list of the names of the package and if a package isn’t in the export list, it doesn’t exist in the outside world. This allows the developers to build an extensive internal class hierarchy and minimizes the surface area of the bundle’s API without getting abused to the notion of package-private visibility.
- All OSGi bundles are to be provided with a version number so it’s possible for an application to simultaneously access different versions of the same bundle (eg: junit 3.8.1 and junit 4.0.). Since each bundle is having its own class-loader both bundle classes can coexist in the same JVM.
- OSGi bundles declare on which other bundles they are depending upon. This allow them to ensure that any dependencies are met before the bundle is getting resolved. Only resolved bundles can be activated. Because bundles have versions, versioning can be included in the dependency specification, so one bundle can depend on version 3.8.1 and another bundle depend on junit version 4.0.
- In the OSGi bundle, there will be an Activator.java class in OSGi which is classified as an optional listener class to be notified about the bundle starting and stopping events.
68. What are the differences between parsys and iparsys?
Answer: parsys – It is defined as a placeholder called “Paragraph System”, where we can be dragging and dropping or adding other components or the scripts at page level.
iparsys – It is defined as an inherited paragraph system. It is similar to parsys except that it is allowed to inherit the parent page “paragraph system”.
69. Why is a Content Management System (CMS) required?
Answer: A content management system is considered as a piece of the software which is used for creation and management of the documents and the Web sites. Many websites are dynamic in nature, so their content is required to be updated frequently. In order to manage these changes efficiently, it is recommended for the user to make use of the content management system. There are many CMS providers available, of which Adobe Content Management System is one.
70. What is RESTful?
Answer: Representational State Transfer (REST) is defined as an architectural style and also an approach to the communications that is often used for the proper development of the web services. It relies on a stateless, client server, cacheable communications protocol. RESTful applications use HTTP requests to post data, read data, and delete data.The six architectural constraints of REST are: uniform interface, stateless, cacheable, client server, layered system, and code on demand.
71. What is the listener property in AEM?
Answer: The listener property in AEM for a component is used for defining what is happening before or after an action on the component. This is added by making use of the “cq:listeners” node with a node type of “cq:EditListenersConfig”. The listener property can also be added to any of the widget in AEM. In order to add a listener to that widget you just need to add a node that is known as “listeners” with a type of “nt:unstructured”. Then you just need to add the child nodes to the “listeners” node that are the events of that widget. You can find a list of events for each widget by searching the CQ Widget API documentation.
72. How do you load digital assets in the dam?
Answer: You can add the digital assets to your dam by making use of the graphical user interface or through WebDav accessing. If you are making use of the graphical user interface, you would just be browsing for the selected files you would like to be adding and then cq will create the metadata for those assets in the folder of dams. You would generally make use of the WebDav option when you wanted to upload a large number or assets at once.
73. How do you build a bundle through crxde?
Answer: You can build a bundle through crxde by navigating to the source folder of your project which is located under the “applications”. Once you do this one should right click on the “src” folder and choose for creating a bundle. This will open the wizard that will be walking you through the creation of your bundle. It is recommended that you no longer be using crxde for creating OSGI bundles for AEM. Instead you should be using Maven.
74. What is the purpose of the Activator.java file?
Answer: The role or the purpose of the Activator.java file is to notify any time there is starting and stopping events for that bundle. The Activator.java file is considered as an optional listener class which is created when you create a bundle through crxde.
75. What is a CQ5 overlay/override component?
Answer: The CQ5 overlaying or overriding component is used when using an out of the box component in AEM and you also want to add extra features to it and want to change it across all instances of that component. For example if you want to add features to the out of the box “text” component but you don’t want to create a new component, you would want to copy the “text” component from “libs/foundation/components” to “apps/foundation/components” and keep the same folder structure that is used. When this has taken place any changes that are done to this new component will be reflected in the out of the box “text” component without making changes to the original code under “libs”. It is usually not a good practice to modify the original code, which is why CQ is offering the ability for using the overlays.
76. What are xtypes and how are they useful in AEM?
Answer: In the ExtJS language an xtype is termed as a symbolic name which is given to a class. In AEM these xtypes are widgets which are used in the creation of the components. AEM comes with a bunch of widgets that are available out of the box. You can also create and define your own xtype to be used in the AEM. An example of an xytpe is when you are creating your dialog for your required component and you want the author to be able to enter text, you would be adding a “cq:Widget” that has an xtype property of “textfield”.
77. How do you add properties to the Page Properties dialog?
Answer: You can add the properties to your page properties dialog by copying the dialog which is located under “libs/foundation/components/page/dialog” and then adding it to your page template. This will allow you in adding the new tabs and also adding new properties that you would like the author to choose from for pages that are using that template.
78. What is the difference between the Author and Publish environment?
Answer: A production environment is generally two different instances of AEM running. One is the publish instance and the other is the author instance. These two instances are the instances which are generally kept in two different settings. The author instance is one where you will be entering and managing content for your website. This is where you will be administering your site as well. The environment of the author is generally kept behind a firewall. The publish instance is one where you will be making your content available for the audience you have targeted. The publishing environment is generally kept in a Demilitarized Zone (DMZ).
79. Explain AEM versus Site core.
Answer:
Features | AEM | Site core CMS |
---|---|---|
Cost-Effective | High | High |
Complexity | High | High |
Features | Available | Available |
Integration | Easy to access | Easy to access |
CMS Support | Multiple User Access Supported | Multiple User Access Supported |
Security | High | High |
Customization | Moderate customizations | Highly customizable |
Single platform support | Yes | No |
User Experience | Cool | Cool |
80. Differentiate between CQ5.4 and CQ5.5?
Answer: Versions of CQ before 5.5 were based on a container of servlet running with the multiple web apps: One for the CRX content repository and one for the OSGi container which itself contains the AEM and Sling. The Sling web app was bound to the root and handles the most of the request processing.
With CQ 5.5 and AEM, the OSGi container is positioned at the root and the OSGi HTTP service, backed by the Sling which acts as the sole request handling endpoint. The CRX content repository is now considered as another OSGi service, alongside the various services that comprise the rest of the functionality of AEM. These changes do not affect applications built on top of Sling or AEM.
The new architecture simply means that the quickstart jar installation of the AEM can no longer support other web applications which are running alongside AEM. However, the war version of AEM has been designed to be deployed in an application server where additional web applications can be deployed alongside it.
There have added three new connectors to the key Adobe products – Creative Suite, Scene7, Search&Promote
The authors can be directly working on mobile applications.
They are partnered with hybrids software for adding some nice eCommerce capabilities.
They have added Undo (Ctrl+z) and Redo (Ctrl+y) functionalities.
81. What do you understand by Replication? And what are the steps that are involved in the Replication?
Answer: Replication is the process of activating/publishing the page from Author Instance to Process Instance.
Steps involved in replication:
- The author request that the certain content be published (activated), this can be initiated by a manual request or by automatic triggers that have been preconfigured.
- The request is passed to the appropriate default replication agent, an environment that can have several default agents which will be selected for such actions.
- The replication agent “packages” the content and places it in the queue of replication.
- The content gets lifted from the queue and then transported to the publish environment by making use of the configured protocol; usually, this is HTTP.
- A servlet in the published environment receiving the request uses it to publish the received content; the default servlet is https://localhost:4503/bin/receive.
82. Explain the Multi-Site Manager?
Answer: Multi-Site Manager (MSM) enables you to easily manage the multiple web sites that share the common content. MSM lets you define the relations between the sites so that the content changed in one site is automatically replicated in other sites.
For example, web sites are often provided in multiple languages for the international audiences. When the number of sites in the same language is getting low (three to five), a manual process for the synchronization of content across sites is then possible. However, as soon as the number of sites is growing or when multiple languages are getting involved, it becomes more efficient to automate the process.
83. Explain DAM Renditions?
Answer: The DAM allows you to create the renditions of an image that includes the different versions and sizes of the same asset. You can be capable of using those renditions in the content of your website and that can be much helpful when you need to create the thumbnails or smaller views of the large, high-resolution images. When you create the multi-device websites where the Internet bandwidth is a varying concern then this feature is becoming 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 optimization of search engines and the user experience.
The above listed 83 Frequently asked AEM interview questions were prepared with an objective to help freshers and experienced AEM professionals in their job interviews. Please go through these TOP AEM interview questions to get better prepared for your next interview.