AEM Interview Questions Part 3

This is part three of my AEM interview questions. You find the other parts here:

Part 1 - Part 2 - 
Part 4 - Part 5 - Part 6 - Part 7 - Part 8 - PDF

Here are some more AEM interview questions that could come up during a technical interview:

QHow do you build a bundle through crxde?


A: 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.

Q: What is the purpose of the Activator.java file?

A: 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.

Q: What is a CQ5 overlay/override component?

A: 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.


Q: What is the difference between a dialog and a design dialog?

A: 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.

Q: What is extending a component?

A: 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 change or build upon that component.

In order to extend a component, you must set the “sling:resourceSuperType” of the component to the base component you would like to extend. By doing this, you will inherit everything from the base component.

I plan to add more interview questions to this blog, so make sure to check back.

I hope you enjoyed this post. Please feel free to post any comments below.