10 Java design pattern Interview questions and answers for Senior developers
Design pattern interview questions answers in Java
design patterns are integral part of any Java interview be it on fresher level, senior level or any experienced level like 2 years, 4 years, 6 years etc, you will always get some Java design pattern interview question to answer. For those programmers who don't know What is design pattern in Java, it's a standard way of solving some preexisting problem. As you agree that in software development, code re-usability is the biggest advantage but same time concept and design re-usability is also an important factor to consider. Design patterns provide tried and tested way of solving problem without compromising key things like flexibility, extensibility and code quality. In last couple of post we have seen 10 tricky Java interview questions for experienced programmer and Top Java Concurrency interview question, while in this post we see some popular design pattern interview questions for Java developers
10 Java design pattern interview questions
Here is my list of Java design pattern interview questions, these questions are based upon popular design patterns like Singleton, Decorator, Factory and Observer and basic OOPS principles e.g. Inheritance, Abstraction, Encapsulation, Polymorphism and Data hiding. I have also included some questions like Producer Consumer problem. Concurrency design pattern
Write code to solve producer consumer problem in Java?
You can answer this design pattern interview question in two ways by writing code using wait and notify mechanism or by solving producer consumer pattern using BlockingQueue in Java. later is easier to write and preferred post Java 5 era.
What is difference between abstraction and encapsulation in Java
Another popular design principles related question in Java. main difference between abstraction and encapsulation in Java is that abstraction enforces separating general thing to specific things by abstracting them while encapsulation allows internal details of class to encapsulated inside the class, so that future change on how you implement internals of class should not affect rest of systems.
What is difference between Inheritance and Composition in Java?
One more design pattern question in Java which is based upon fundamental of Object oriented programming. Inheritance means extending class while Composition means including another class as field, Inheritance follows IS-A relationship wile Composition follows HAS-A relation ship like Mango IS a Fruit which means we can write Mango class by extending Fruit class to get all common features of fruits like eatable, shape, taste etc. This is an example of Inheritance while Bathroom HAS Tiles an example of Composition.
Why Composition is favored over Inheritance ?
Famous Java design interview questions , read Joshua Bloach Effective Java book.
What is Singleton pattern in Java? What is double checked locking on Singleton ?What is lazy initialization of Singleton
Check out 10 Java singleton interview question for answers of these questions.
how do you write Thread-safe Singleton in Java
What is Observer design patter in Java? Give an Example ?
What is benefit of Observer design pattern in Java?
What is decorator design pattern in Java
What is Builder design pattern in Java
What is Factory design pattern in Java
How to write immutable class in Java
These were some of the design pattern and design principle question which frequently asked in Java interviews. I have tried to provide answers of these design pattern question which ever I know, you can also do Some research on Google to find answers of these questions before going for Java interview.