TOP 28 Java Patterns Interview Questions and Answers pdf fresher and experienced

Read the most frequently asked 28 top Java Patterns interview questions and answers for freshers and experienced.....

Java Patterns Interview Questions and Answers PDF Experienced Freshers

1. What is a software design pattern?
A reusable software design solution in general for the problems that are recurrently occuring. Design pattern is not a solution but a description for how to solve a problem in different situations. OOP design patterns establishes the relationships between classes or objects. Design patterns are specifically dealt with problem solving at the software design level.

2. What are the differences between analysis patterns and design patterns?
Analysis pattern are targeted for domain architecture, where as design pattern are targeted for implementation mechanism for some of the aspects of the domain. Analysis patterns are functional oriented and of high level.

3. What is an analysis pattern?
It is a software pattern which is not related to a language. It is related to a business domain like health care, telecom. The visiting activity of a patient in the health care domain would be subject to a number of patterns.

4. How do you write a Thread Safe Singleton?
The following are the steps to write a thread-safe singleton:
? Declare a Boolean variable, ‘instantiated’, to know the status of instantiation of a class, an object of Object class and a variable of the same class with initial value as null.
? Write a private constructor of this class
? Override getInstance() method. Check the Boolean state of the instance variable ‘instantiated’. If it is false, write a ‘synchronized’ block and test for the current class instance variable. If it is null create an object of the current class and assign it to the instance variable.

The following code illustrates this :
public class SampleSingleton {
private static boolean initialized = false;
private static Object obj = new Object();
private static SampleSingleton instance = null;
private SampleSingleton() {
// construct the singleton instance
}
public static SampleSingleton getInstance() {
if (!initialized) {
synchronized(obj) {
if (instance == null) {
instance = new SampleSingleton();
initialized = true;
}
}
}
return instance;
}
}

5. What is Singleton pattern?
Singleton pattern is one of the design patterns that is utilized for restricting instantiation of a class to one or few specific objects. This facility is particularly useful when the system requires to coordinate the actions with exactly one object.

6. What are Process Patterns?
Methods, best practices, techniques for developing an Object-Oriented software comprises a process pattern.

7. What is the Reactor pattern?
The Reactor pattern is an architectural pattern that allows demultiplexing of event-driven applications and dispatch service requests which are delivered by one or more application clients to an application.
The reactor pattern is used in a manner that is synchronous. So that the delegated callback event takes a while for completing the running problems with scalability.

8. What is session facade?
Session Façade is one of the design pattern. It is utilized in developing enterprise applications frequently. Session Façade is implemented as a higher level component like Session in EJB, and has all iterations between low level components like Entity in EJB. After that, it provides an interface that functions an application or part of it. Then it decouples the lower level components by simplifying the design.

9. What are Collaboration Patterns?
Repeatable techniques which are utilized by people of different teams for helping them work together. The really have nothing to do with object-oriented development. The fact is that these patterns can support with requirement gathering .

10. How do I document a design pattern?
The following are the major points for describing a pattern.
? Short and meaningful name for the pattern is to be selected.
? Problem description and goals and constraints that may occur in that context is to be identified.
? The participating classes and objects in the design pattern and their structure, responsibilities and their collaborations are to be decided. An abstract description is applied in many different situations are provided by the solution.
? Identify the uses in the real systems and its efficiency.

11. What are Anti-Patterns?
A design pattern which obviously appears, but is an ineffective or far from optimal in practice. There must be atleast two key elements for formally distinguishing an actual anti-pattern from a single bad idea, bad practice or bad habit.

12. Explain and detail about Java patterns?
Patterns are very useful programming technique to a programmer. They tend to make solutions easier by creating a design pattern which can be used by a different developer other than the creator. They function as problem solving documentation. Solutions offered by Java Patterns are very practical rather than theoretical.

13. Describe some of the uses of patterns (Java)?
Java patterns are used for many purposes some of them are: -
1) It describes about the problem and its solution in detail.
2) Solving a common problem becomes easy because of predefined solutions from other programmers and developers.
3) They describe practical problems rather than theoretical problems they are very useful in the real world.
4) Time utilization and productivity is greater due to the usage of Java patterns.

14. What are the contexts in which Patterns can be used?
Java patterns are used in these scenarios they are: -
? Giving solutions to recurring problems.
? Practical solutions to real world problems rather than theoretical solutions.
? It can also be used to document real world solutions to a particular problem.
? It can work really well for given concern or trade offs.

15. Explain about the concept of Generative in Patterns?
Patterns are used to detail about a problem and its solution but is should not be restricted at that point it should also include about the difficulty of the problem, solution addressing all the concerns, constraints of all sorts, etc. It should include everything which revolves around the Generative solution to a problem.

16. State some of the elements present in Canonical pattern?
There are very few patterns which are used by developers and programmers they are Gang of four patterns, Canonical form or pattern and Alexandrian form. Some of the elements present in patterns are Problem, name, aliases, context, forces, solution, examples, resulting context, rationale, related patterns, uses, etc.

17. Explain about abstract factory method?
Abstract factory pattern is used to create instances of abstract classes from a matched set of concrete sub classes. This pattern allows a developer to use various complex technologies such as windowing systems with similar characteristics and functionality. It basically createsabstract classes.

18. Explain the difference between Canonical and GoF form?
Canonical and GoF patterns are almost similar in characteristics. Canonical form places greater importance on explicit forces and resolutions whereas in GoF format a solution is broken into different sections and it also uses design diagrams with sample code.

19. State the purpose of why a Java singleton should be used?
Java singleton is used when a constructor and finalize methods are used only once during the lifetime of the application. If a class is referenced from within then it is garbage collected by the Java which can be retrieved if called again but the problem comes when the constructor or finalize methods are used only once.

20. Explain about state dependence?
State dependence tells you about the action performed on the object whether succeeded or failed, action which can be performed, monitoring methods, postponing, triggering, preventing, etc. This is also used to monitor methods.

21. Explain about particle canvas?
Particle canvas is a sub class of java.awt. Canvas this class provides a drawing area for all the particles. Whenever a paint method is called it invokes draw for all the existing particles. It cannot create object or particles by itself. Existingparticle objects are stored in the array of instance variable particles.

22. Explain about closed subsystems?
In a closed system a developer will have a perfect knowledge about all the possible behaviors and static design time. By employing encapsulation techniques one can close parts of the system. This is possible in product level components and the lower rung of individual classes.

23. Explain about open systems?
Open systems are used widely by developers than the closed systems because these are attainable and achievable. It can be accessed across several dimensions. Full static analysis is not possible because of their nature and structural evolution which varies according to time. Opensystems may load classes dynamically, can employ call backs, resource sharing, etc.

24. Explain about fully synchronized objects?
In a fully synchronized object all methods are synchronized. Encapsulation violations are generally neglected. Methods are finite which release locks. Even in the presence of exceptions state of the object is at the beginning and end of each method.

25. Explain about locks?
Lock is known to be the safest and the basic message control mechanism used in object oriented mechanism. This is used to block the usage of methods while another method is in progress. The only safest way to use lock mechanism is to fully synchronized objects.

26. Explain about semaphores?
They are mostly used as concurrency control constructs. They adhere and support Sync interface and conform to acquire release protocol. It adheres to a set of permits initialized in a constructor. A semaphore can also be described on the basis of a metaphor.

27. Explain about Template method?
Template method is the most common way of representing. Implementation of a method differs for files, sockets, pipes, strings, text entry widgets, etc. When template method is used logic of the entire class is modified. Missing logic can be called by abstract and concrete methods.

28. State all the different patterns and give the various divisions present?
There are various different patterns and they can be divided into these patterns they are: -
? Fundamental design patterns
? Creational patterns
? Partitioning patterns
? Structural patterns
? Behavioral patterns
? Concurrency patterns
Delegation, Interface, Immutable, Proxy and marker interface are some of the sub divisions present in Fundamental interface.

0 comments:

Post a Comment