Here are some of the interview questions I came across as a consultant,

1. What are the two methods in a component

Ans: getters & setters

2. Have you worked with repositories

Ans: if you answer yes be ready to answer questions on cache, implementing a repository from scratch, and others. (please see my post on repositories)

3. Name 2 types of tables

Ans: primary and auxillary

4. Have you worked on shopping carts

Ans: CartModifierFormHandler , ShoppingCartFormHandler

5. Name 2 types of checkout

Ans: Express Checkout, Guest Checkout

6. Difference between Express Checkout and Checkout

Ans: Express- Logged in user has information stored

Guest- will enter all information (shipping, billing, review steps) and information is not saved

7. What is BCC

Ans: Business Control Center- UI for Business Users (to upload content to Catalogs, create promotions etc)

8. What are custom dsp tags

Ans: Custom tags is written by the developer.

Dsp is all ready to use. you can use to render content dynamically by linking Nucleus components directly to your JSPs. Essentially, the DSP tag libraries let you connect your JSP content to the Java code at work behind the scenes so you can separate your application logic from your presentation layer.

ATG 7 provides you with three tag libraries: JSTL, DSP/DSPEL, and Core. You can find these tag libraries in <ATG7dir>/DAS/taglib.

9. Difference between droplet, FormHandler and servlet:

Ans: Servlet is a java class. Droplet is from ATG

Droplet is used to render or put data in the db

Servlet is used to submit data, it acts as a controller. It is not used to put data.

Servlet also renders the portion of JSP page.

FormHandlers are used when there are forms. They help to perform validation for the forms.

10. Difference between dsp and dspel tags

Ans: The DSP tag library tags support runtime expressions, such as references to scripting variables. These tags use a id attribute to name the scripting variables they create.

The DSPEL tag library tags support JSTL Expression Language (EL) elements that are also evaluated at runtime. These tags often produce a result object named by the var attribute.

For custom tags we need to write the properties file and a class file to define the functions. We need to include a tag file with extension .tld. (tag library definition) and in the droplet include the path of the tag uri <% tag uri…..%>

For example we can write a custom tag to calculate the shipping rate with promotion and save it and then extend wherever required.

11. what is Nucleus

Ans: Nucleus is the central registry for the JavaBeans that contain your application-level logic. It creates and configures Dynamo components and organizes them into a hierarchical namespace

12. difference between dsp: include and jsp:include

Ans: Dsp imports all objects of type class also, where as jsp imports only primitive types.

Jsp includes are dynamic where as dsp include are for data which is smaller than 64 kb.

ATG created the DSP tag library as a mechanism for accessing all data types, including those that exist in ATG’s Nucleus framework. Other functions provided by these tags manage transactions and determine how data is rendered in a JSP. It’s best to use tags from the DSP tag library only for tasks that involve Dynamo Application Framework (DAF) resources. Dsp tag support for the passing of object parameters between pages. In particular, use dsp:include rather than jsp:include, and use dsp:param rather than jsp:param.

13. How to implement shopping cart

Ans: ShoppingCartFormHandler

14. What is the main formhandler you use for Shopping cart

Ans: ShoppingCartFormHandler & CartModifierFormHandler

15. what are the ATG component scopes(global session and request)

Ans: (see post on scopes)

16. what are the Advantages of DAF

Ans: It is used to maintain huge data

It has repositories which help is data anywhere architecture.

Dependency injection

It can write any object of type 1 call in to the db.

Dynamo messaging using patch bay and jms

“Inversion of Control” design pattern, whereby software components are discrete

entities coupled together by the Nucleus container, rather than through direct


17. What is a Component

Ans: Is a Java bean

18. What are scenarios

Ans: Scenario anticipates and tracks the actions of the people who visit your Web site and responds appropriately by, for example, tailoring the content of the site, offering price promotions, or sending targeted e-mail messages

19. what is a pipeline

Ans: Atg Pipeline is a variant of Servlet Pipeline, In an ATG pipeline the sequence of Programs are executed in a queue.

20. Is DAS for high volume or low volume traffic

Ans: High volume

21. What are the performance issues with ATG

Ans: Performance problems come in many shapes and sizes, but they all mean that the processing of some task is not happening at the expected, and previously observed speed. Performance issues include CPU utilization problems, slow response times, high levels of database activity, long running SQL queries, slow CA deployments, just to name a few.

22. Why is Eclipse used with ATG

Ans: Eclipse IDE

23. Which is the IBM product used with ATG

Ans: WebSphere Application Server

Eclipse IDE

24. What are derived properties

Ans: Enables one repository item to derive property values from another repository item or from another property in the same repository item.

25. If you are given an application what are the steps involved in implementing it on ATG server

26. which version of J2EE ATG supports

27. Difference between Item Cache and Query cache

Ans: For each item descriptor, an SQL repository maintains two caches:

Item caches
Query caches

Item caches hold the values of repository items, indexed by repository IDs. Item caching can be explicitly enabled for each item descriptor.

Query caches hold the repository IDs of items that match given queries. When a query returns repository items whose item descriptor enables query caching, the result set is cached as follows:

The query cache stores the repository IDs.
The item cache stores the corresponding repository items.

28. What are different modes caching

Caching modes are set at the item descriptor level, through the <item-descriptor> tag’s cache-mode attribute. The default caching mode is simple caching. To set a different caching mode on an item descriptor, set cache-mode to one of the following values:

distributed (distributed TCP caching)
distributedJMS (distributed JMS caching)
distributedHybrid (distributed hybrid caching)

29. which are the handleX methods in <any important formhandlers..>

Ans: HandleX methods contain the actual function to be performed. its a method. Like in ProfileFormHandler- handleLogin

30. What are priceLists

Ans: Price Lists allow you to target a specific set of prices to a specific group of customers. Price lists are managed through a single interface in the ACC. For example, price lists can be used to implement business to business pricing where each customer can have its own unique pricing for products based on contracts, RFQ and pre-negotiated prices.