15+ Must-Know Adobe [CQ5] Interview Questions & Answers
Adobe CQ5 Interview Questions and Answers

15+ Must-Know Adobe [CQ5] Interview Questions & Answers

Last updated on 04th Jul 2020, Blog, Interview Questions

About author

Krishnaraj (Sr Manager UI UX Design )

He is Possessing 11+ Years Of Experience in Adobe. His Passion lies in Developing Entrepreneurs & Activities. Also, Rendered his intelligence to the Enthusiastic JOB Seekers.

(5.0) | 15212 Ratings 1907

Adobe CQ is the foundation of the Adobe Experience Manager solution. It provides digital marketers with web-based applications for creating, managing, and delivering personalized online experiences.

1) What is AEM?

Ans:

Adobe Experience Manager (AEM), is a java based content management system that is offered from Adobe. It is also known as Adobe CQ Content Management and was previously called Day CQ5, but was acquired from Adobe in 2010. AEM is based on a content repository and uses the JCR(Java Content Repository) to access the content in the repository. AEM uses the Apache Sling framework to map request url to the corresponding node in the content repository. It also uses the OSGi(Open Service Gateway Initiative) framework to internally allow modular application development.

2) What is CQ in Adobe CQ5 CMS?

Ans:

CQ means Communique in Adobe CQ5 CMS.

3) What are the advantages of AEM CMS CQ5 over another CMS?

Ans:

One big advantage of AEM CQ5 over another CMS(Content Management System) is how it integrates with other products from Adobe and with the Adobe Marketing Cloud. AEM comes built in with features like workflows to control content in the CMS, the use of search queries to find anything you are looking for, setting up social collaboration, tagging content, and a way to manage your digital content.

AEM also includes a way to manage mobile applications, mobile websites, e-commerce, and marketing campaign management.

4) What is the technology stack that CQ5 is based on?

Ans:

The CQ5 technology stack is based on three technologies. These technologies are: Apache Sling, OSGI (Apache Felix), and the Java Content Repository (JCR). Apache Sling is a RESTful framework that is used to access a jcr over http protocol. It will then map that request url to the node in the jcr. OSGI is a framework that is used for modular application development using Java. Each module, which is called a bundle, can be stopped and started independently during runtime. The Java Content Repository uses the JSR-170 API to access the content repository by using Java independently of the physical implementation. CQ5 uses its own implementation of the jcr called CRX.

5) What is the role of the AEM Dispatcher?

Ans:

The dispatcher is AEM’s caching and/or load balancing tool. By using the dispatcher it can also help protect your AEM server from attack since it will be using cached pages. The goal of the dispatcher is to cache as much content as possible, so it does not need to access the layout engine. Load balancing is the practice of distributing computational load of the website across several instances of AEM. The benefits of using the dispatcher as a load balancing tool is so that you gain increased processing power since the dispatcher shares document requests between several instances of AEM, and to have increased fail-safe coverage. This is accomplished by if the dispatcher does not receive responses from an instance, it will automatically relay the request to another instance.

6) What is sightly?

Ans:

Sightly is an HTML template language that was introduced in AEM 6.0. It is meant to take the place of JSP files and is the preferred template system for HTML. The name sightly means “pleasing to the eye”, and its focus is to keep your markup beautiful and maintainable.

7) Why is a Content Management System (CMS) required?

Ans:

A content management system is a piece of software that is used to create and manage documents and Web sites. Many websites are dynamic, so their content needs to be updated frequently. In order manage these changes efficiently, it is recommended to use content management system. There are many CMS providers available, of which Adobe Content Management System is one.

8) What is RESTful?

Ans:

Representational State Transfer (REST) is an architectural style and an approach to communications that is often used in the development of 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.

9) What are the benefits of using OSGI?

Ans:

The main benefits of using OSGI are:

  • It reduces the complexity of the system by having everything in bundles.
  • It makes the components loosely coupled and easy to manage since they can be installed, deleted, updated, started, and stopped at run time.
  • It increases the performance of the system since parts of the application that are not in use, do not need to be loaded in the memory.

10) What is the listener property in AEM?

Ans:

The listener property in AEM for a component is used to define what happens before or after an action on the component. This is added by using the “cq:listeners” node with a node type of “cq:EditListenersConfig”. The listener property can also be added to any widget in AEM. In order to add a listener to that widget you just need to add to add a node that is called “listeners” with a type of “nt:unstructured”. Then you just need to add child nodes to the “listeners” node that are events of that widget. You can find a list of events for each widget by searching CQ Widget API documentation.

11) How do you load digital assets in dam?

Ans:

You can add digital assets to your dam by using the graphical user interface or through WebDav access. If you are using the graphical user interface, you would just browse for the selected files you would like to add, and then cq will create the metadata for those assets in the dam folder. You would generally use the WebDav option when you want to upload a large number or assets at once.

12) How do you build a bundle through crxde?

Ans:

You can build a bundle through crxde by navigating to the source folder of your project located under “apps”. Once you do this, right click on the “src” folder and choose to create a bundle. This will open the wizard that will walk you through creating your bundle. It is recommended that you no longer use crxde to create OSGI bundles for AEM. Instead you should be using Maven.

13) What is the purpose of the Activator.java file?

Ans:

The purpose of the Activator.java file is that it is to be notified any time there are bundle start and stop events for that bundle. The Activator.java file is an optional listener class that is created when you create a bundle through crxde.

14) What is a CQ5 overlay/override component?

Ans:

The overlay/override component is used when you want to use an out of the box component in AEM and you want to add extra features to it and you 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 is done, any changes that done to this new component will be reflected in the out of the box “text” component, without changing the original code under “libs”. It is generally not a good practice to modify the original code, which is why CQ offers the ability to use overlays.

15) What is the difference between a dialog and a design dialog?

Ans:

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.

16) What are the differences between parsys and iparsys?

Ans:

  • 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”.

17) How to connect to external Database in CQ?

Ans:

To connect to external DB, we need to configure a connection pool by creating a node of type sling: OsgiConfig.

18) What are the design patterns used in AEM?

Ans:

Since AEM is built using OSGI, many of the design patterns for OSGI are valid. Some of these design patterns are Singleton (Service), Adapter Service, Resource Adapter Service, and Whiteboard. Also, since AEM is modular, you should be able to use any design pattern in your application.

19) What are xtypes and how are they useful in AEM?

Ans:

In the ExtJS language an xtype is a symbolic name given to a class. In AEM these xtypes are widgets that used in the creation of 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 AEM. An example of an xytpe is when you are creating your dialog for your component, and you want the author to be able to enter text, you would add a “cq:Widget” that has an xtype property of “textfield”.

20) Where does the cache directory exists for CQ5?

Ans:

The Dispatcher uses a Cache Directory for caching static content. The cached documents are created in the root of a web-server.

Subscribe For Free Demo

21) What is the use of EditConfig node in creating a component?

Ans:

A cq:EditConfig node is used to define the behavior of the component.

22) Why a content management system is required in CQ?

Ans:

Now a days websites are very dynamic in nature, content needs to be updated very frequently, So, it is easier to manage the content of such websites using a CMS.

23) What are the differences between package and bundle?

Ans:

  • 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 a tightly coupled, dynamically loadable collection of classes, jars, and configuration files that explicitly declare their external dependencies.

24) Explain Osgi[open Systems Gateway Initiative] In Cq5?

Ans:

  • Dynamic module system for Java.
  • Universal Middleware Category.
  • Helps applications to be constructed from small, reusable and collaborative components.
  • OSGi bundles can contain compiled Java code, scripts, or any contents to be loaded in the repository.
  • Helps the bundles to be loaded, installed.

25) How Bundles Are Loaded And Installed In Cq5?

Ans:

This is managed by the Sling Management Console of CQ5.

26) How Clustering Is Done In Cq5?

Ans:

CQ5 CRX is pre-loaded to run within a cluster,even when running a single instance. Hence the configuration of multi-node clusters with little effort happens in CQ5.

27) State Various Strategies Used By Dispatcher?

Ans:

  • Cache as much content as possible as static pages.
  • Accessing layout engine as little as possible.

28) Explain The Methods Of Caching Adopted By Dispatcher?

Ans:

  • Dispatcher invalidates those pages whose content has been updated and replaces it with new content.
  • Auto-Inavidation automatically removes the contents which are not relevant.

29) Explain The Role Of Dispatcher In Cq5?

Ans:

In CQ5 Dispatcher helps to cache and load-balance.

The main responsibilities are:

  • Caching : Cache as much content as possible[ It helps to reduce the continuous functioning of layout engine frequently for generating content when in dynamic.]
  • Load-balancing : To increase the performance by load-balancing.

30) How You Can Inherit Properties Of One Dialog To Another Dialog?

Ans:

For inheriting properties we have to create two components with unique names in the base component dialog. For eg. If your plan is to have two rich text two rich text areas in the dialog of components that inherit from the base, then you must include two rich text areas with unique names in the base component dialog. In any case every input field of a dialog must have a unique name, else they will point to the same property path relative to the jcr:content node of the component when used on a page.

Course Curriculum

Learn In-Depth Practical Adobe CQ5 Certification Course

Weekday / Weekend BatchesSee Batch Details

31) Can We Restrict For Certain Users Not To Display Some Digital Assets?

Ans:

You can always limit who can access certain folders in CQ Digital Assets by making the folder part of a CUG(closed user group). Steps to make a folder part of a CUG:

  • In CQ DAM, right-click the folder you want to add closed user group properties for and select Properties.
  • Click the CUG tab.
  • Select the Enabled check box to make the folder and its assets available only to a closed user group.
  • Browse to the login page, if there is one, to add that information. Add admitted groups by clicking Add item. If necessary, add the realm. Click OK to save your changes.

32) Difference Between Osgi Bundle And Normal Jar File?

Ans:

  • OSGi bundles are jar files with metadata inside. Much of this metadata is in the jar’s manifest, found at META-INF/MANIFEST.MF. This metadata, when read by an OSGi runtime container, is what gives the bundle its power.
  • With OSGi, just because a class is public doesn’t mean you can get to it. All bundles include an export list of package names, and if a package isn’t in the export list, it doesn’t exist to the outside world. This allows developers to build an extensive internal class hierarchy and minimize the surface area of the bundle’s API without abusing the notion of package-private visibility. A common pattern, for instance, is to put interfaces in one package and implementations in another, and only export the interface package.
  • All OSGi bundles are given 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 has it’s own classloader, both bundles classes can coexist in the same JVM.
  • OSGi bundles declare which other bundles they depend upon. This allows them to ensure that any dependencies are met before the bundle is 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 junit version 3.8.1 and another bundle depend on junit version 4.0.
  • In OSGi bundle, there will be an Activator.java class in OSGi which is an optional listener class to be notified of bundle start and stop events.

33) Role Of Persistence Manager In Cq5?

Ans:

The persistence manager saves the repository content to a permanent storage solution, such as the file system or a database. By default, CRX saves repository content to the Tar persistence manager. Following DB’s can be used for storing content – DB2, Oracle, SQL Server, MySQL.

34) What Is Difference Between Live Copy And Language Copy?

Ans:

  • Live Copy : Copy created from existing site or blue print is called Live Copy. Rollout configurations for this Live Copy can be configured from tools console.
  • Language Copy : Site which is created using language tool is called Language copy. Basically to create a site for different language.

35) How To Customize Page Property Dialog?

Ans:

  • Step 1: Copy /libs/foundation/components/page/dialog node to template component’s node.
  • Step 2: Modify dialog node 

36) Explain Multi Site Manager?

Ans:

Multi Site Manager (MSM) enables you to easily manage multiple web sites that share common content. MSM lets you define relations between the sites so that content changes in one site are automatically replicated in other sites.

For example, web sites are often provided in multiple languages for international audiences. When the number of sites in the same language is low (three to five), a manual process for synchronizing content across sites is possible. However, as soon as the number of sites grows or when multiple languages are involved, it becomes more efficient to automate the process.

37) What Is Replication? And What Are The Steps Involved In Replication?

Ans:

Steps involved in replication:

  • The author requests that certain content be published (activated); this can be initiated by a manual request, or by automatic triggers which have been preconfigured.
  • The request is passed to the appropriate default replication agent; an environment can have several default agents which will always be selected for such actions.
  • The replication agent “packages” the content and places it in the replication queue.
  • The content is lifted from the queue and transported to the publish environment using the configured protocol; usually this is HTTP.
  • A servlet in the publish environment receives the request and publishes the received content; the default servlet is http://localhost:4503/bin/receive.

38) Difference Between Cq5.4 And Cq5.5?

Ans:

Versions of CQ before 5.5 were based on a servlet container (CQSE, by default, though others could be used) running with multiple webapps: One for the CRX content repository and one for the OSGi container which itself contained Sling and AEM. The Sling webapp was bound to the root and handled 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 Sling acting as the sole request handling end point. The CRX content repository is now just another OSGi service, alongside the various services that comprise the rest of the AEM unctionality. These changes do not affect applications built on top of AEM or Sling.

The new architecture means that the quickstart jar installation of AEM can no longer support other web applications running alongside AEM. However, the war version of AEM is designed to be deployed in an application server, where additional web applications can be deployed alongside it.

Added three new connectors to key adobe products – Creative Suite, Scene7, Search&Promote Authors can directly work on mobile apps. Partnered with hybris software to add some nice eCommerce capabilities. Added Undo(Ctrl+z) and Redo(Ctrl+y) functionalities.

39) What Is Process Step In Workflow?

Ans:

It is a workflow component which can be found at:

“/libs/cq/workflow/components/model/process”, this is used for calling a java class in workflow.

40) Can You Explain Life Cycle Of Osgi Bundle?

Ans:

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 Bundle Activator.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 Bundle Activator.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.

41) What Is Dependency/dependencies In Client Library?

Ans:

It is a list of other client library categories on which this library folder depends. For example, given two cq:ClientLibraryFolder nodes F and G, if a file in F requires another file in G in order to function properly, then at least one of the categories of G should be among the dependencies of F.

42) What Is The Purpose Of Clientlibs?

Ans:

It is used for adding site specific js and css files to the page and also thridparty js and css files.

43). Cq Widgets, Explain?

Ans:

  •  Are the highly polished user interface elements that work across all the most important browsers and allow the creation of desktop-grade UI experiences. 
  • These widgets are included within CQ and, in addition to being used by CQ itself, can be used by any website built using CQ.

44) Cq Workflow Engine, Explain?

Ans:

CQ encompasses several applications that are designed to interact and complement each other. In particular, the Workflow Engine can be used in tight conjunction with several of the other applications. 

Workflows are at the center of how form submissions in CQ WCM are typically processed. When creating a new form, the form submission can be easily associated with a workflow model, for example to store the content in a particular location of the repository or to notify a user about the form submission and its content.

45) Slinghttpservletresponse, Explain?

Ans:

“org.apache.sling.api.SlingHttpServletResponse” interface extends the ”javax.servet.http.HttpServletResponse” interface and is currently empty.

It merely exists for symmetry with the SlingHttpServletRequest.

46) Slinghttpservletrequest, Explain?

Ans:

“org.apache.sling.api.SlingHttpServletRequest” interface defines the basic data available from the client request to both action processing and response rendering. The SlingHttpServletRequest extends the javax.servlet.http.HTTPServletRequest.

47) What Is Authoring?

Ans:

An author in CQ generates the material which will, at some point, be published to your website. Depending on how your instance and your personal access rights are configured you can perform many tasks, including among st others.

  • generate new content, 
  • Edit existing content,
  • create new pages using predefined templates,
  • move, copy or delete pages,
  • Activate (or deactivate) pages,
  • Participate in workflows that control how changes are managed.

When authoring a mobile page, the page is displayed in a way that emulates the mobile device, called an emulator. When authoring the page, you can switch between several emulators to get a real view of what the end-user will see when accessing the page.

48) How Good Is Cq5 When Compared To Other Cms?

Ans:

CQ5 is perfect for large content-driven sites:

Flexibility:

  • Even non-technical users can update the content.
  • Duplicating the site will be very easy to create a mobile friendly version.
  • Excellent at managing multiple touch-points.
  • It is very easy to deploy and scale up or down.

Time management:

  • Very less amount of time to develop.
  • Relies on real open standards which are not d fact standards.
  • Best integration with third party systems.
  • Content re usability.
  • Adobe CQ5 provides automation, a very intuitive interface and great performance

49) What do you mean by Site Page?

Ans:

A site is a website, where we can place an Adaptive document, Adaptive form or a static text.

50) List out all available interfaces in Adobe Experience Manager?

Ans:

The list of all available interfaces in AEM is:

  • CRX Delite
  • Apache Felix
  • Site Admin
  • Etc/Tool
  • CRX Explorer
Course Curriculum

Get Adobe CQ5 Training form Industry Experts Trainers

  • Instructor-led Sessions
  • Real-life Case Studies
  • Assignments
Explore Curriculum

51) How does a dispatcher perform Load balancing activity?

Ans:

The dispatcher performs load balancing activity by executing these steps:

  • Performance Statics
  • Sticky Connections
  • Increased fail-safe coverage
  • Processing Power

52) What is the use of the Edit Config node in creating a component?

Ans:

Edit Config node is used to define the behavior of the component.

53) What is a Template?

Ans:

A CQ template empowers you to determine a consistent style for the pages in your application. A template comprises nodes that specify the page structure.

54) What is extending a component?

Ans:

Extending a component is when you want to create a new component that will not override a base component but will have the same features as the original so that you can build upon that component. To extend a component, you must set “sling: resourceSuperType” of the component to the base component you would like to continue.

55) What is the design dialog?

Ans:

A design dialog is presented at the template level. With the help of edit in design mode, the user will be able to design the page. Once it’s done at the template level so all the pages that share this template will reflect all the changes.

56) What script should be involved in the display sidekick?

Ans:

The script that should be included in the display sidekick is:

Init.jsp is the script file.

57) What is the component?

Ans:

A component is determined as reusable modules that are responsible for implementing certain logic to render the website content. 

58) How do you adapt a resource ?

Ans:

You can adapt a resource to any anothor type using adaptTo() method, which accepts class type in which you want to adapt your resource.

59) How do you resolve a resource ?

Ans:

You can resolve using Resource Resolver which you can get from method getResourceResolver() and then use resolve() method to resolve a resource.

60) How to put multiple files in CRX repository?

Ans:

To put multiple files we can use many tools that supports WebDav Protocol Like NetDrive.

Adobe CQ5 Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download

61) What  is Adaptive Document? Explain Adaptive Document? What do you mean by Adaptive Document?

Ans:

Adaptive Document is used to display output to the end user. For example- a bank statement is an adaptive document as all its content remain same only name and amount changes. Basically we put place holder text in Adaptive Document which are filled dynamically at run time.

62) What  is Adaptive Form? Explain Adaptive Form? What do you mean by Adaptive Form?

Ans:

Adaptive forms, is used to break down a form into logical sections, basically it enables end users to focus on filling out the form. When we require to take input from user we use Adaptive Form.

63) Why we need to include global.jsp if we are creating a component in jsp?

Ans:

The global.jsp script which adobe provides by default declares Sling,AEM and JSTL taglibs to make component creation easy in AEM.

64) Give A Note About Apache Sling?

Ans:

Apache Sling is a web application framework for content-centrist applications, using a Java Content Repository, such as Apache Jackrabbit or CRX, to store and manage content.

65) Why the Sling Scripts Cannot Be Called Directly In Cq5?

Ans:

Scripts cannot be called directly within Sling since it will break the strict concept of a REST server; you would mix resources and representations.

If you call the representation (the script) directly you hide the resource inside your script, so the framework (Sling) no longer knows about it.

66) What is the contribution of the Servlet Engine in CQ5?

Ans:

Servlet Engine pretends as a server within which each CQ (and CRX if used) instance runs. Even though you can run CQ WCM without an application server, always a Servlet Engine is needed.

67) Explain Digital Asset Manager (dam) In Cq5, ?

Ans:

The DAM is where authors can upload files (other than HTML) for publishing on their websites. Examples include images and PDF documents. The interface is similar to the WCM.

  • DAM Left Panel: The folder structure is on the left panel, and can be expanded or collapsed by clicking the appropriate plus (+) or minus (-) symbols. For your first time using the DAM, you will need to navigate to your department’s Digital Assets through the tree, beginning with SFU. Contact your Site Administrator if you cannot see your department’s Digital Assets space. You can only see those that you have been authorized to.
  • DAM right Panel: The right panel will display the folders and their contents, including thumbnails of images. A double-click on the image will display a larger version and details such as its size, description, tags, and dimensions.While determining the folder structure of the contents within the DAM is entirely to the authors’ discretion, keeping it similar to the site structure in the WCM is suggested. This will offer a visual reference between the relationship of the files in the DAM and the pages in the WCM. All files must be uploaded to the DAM before they can be used; the system cannot access online files. Each must be activated (the same way as activating a content page), otherwise it will not appear on the published page, and it will only be in the authorrsquo;s editing window.

Are you looking training with Right Jobs?

Contact Us
Get Training Quote for Free