Here are Java Design Patterns interview questions and answers for fresher as well experienced candidates to get their dream job.
A design pattern is a language independent strategy for solving common object-oriented design problem. It describes how to structure classes to meet a given requirement.
Creational design pattern: This pattern is used to define and describe how objects are created at class instantiation time.
Factory pattern: The factory pattern is used to create an object without exposing the creation logic to the client and refer to a newly created object using a common interface.
Iterator pattern is used to get a way to access the elements of a collection object in sequential manner.
When we want to locate various services using JNDI we use service locator pattern.
To create single objects there are two famous ways
When we want to decouple an abstraction from its implementation in order that two can vary independently we use bridge pattern.
A decorator pattern allows a user to add new functionality to an existing object without changing its structure.
It is two step process,
To write thread safe singleton in Java there are multiple ways for example by using static singleton instance initialized during class loading, by writing singleton using double checked locking. Java Enum is the simplest way to create thread safe singleton.
To describe a design pattern, following things need to be taken care of
You cannot access non-static data from static context because non-static variable are associated with a specific instance of an object while static is not associated with any instance.
Transfer Object Pattern is useful when one has to pass data with multiple attributes in one shot from client to the server.
Some of the entities of DAO include,
Intercepting pattern is used when you have to do some pre-processing or post processing with request or response of the application.
Factory pattern can be used,
Synchronization of whole getinstance() method is costly and is only needed during the initialization on singleton instance, to stop creating another instance of Singleton. Therefore it is better to only synchronize critical section and not the whole method.
One can write singleton class in Java in four ways
The preferred way to prevent creating another instance of a singleton is by not implementing Cloneable interface and if you do just throw an exception from clone() method “ not to create a clone of singleton class”.
Keyword “Throw” is used to explicitly throw as an exception, while “Throws” is utilized to handle checked exceptions for re-intimating the compiler that exceptions are being handled. The throws need to be used in the method’s definition and also while invoking the method that raises checked exceptions.
Java.lang.Runtime classes uses singleton pattern in JDK.
The singleton pattern ensures that a class has only one instance and to provide a global point of access to it. But at the same time this becomes its limitation as most classes in an application you will need to create multiple instances.
The difference between JDO and VO is that the JDO is a persistent technology that compete against entity beans in enterprise application development. It enables you to create POJO (plain old java objects) and persist them to the database.
While VO stands for value objects represents an abstract design pattern used in conjuction with entity beans, jdbc and possibly even JDO to overcome commonly found isolation and transactional problems in enterprise apps.
These interview questions will also help in your viva(orals)