Design Patterns Interview Questions


Those in the IT industry face stressful times when they are applying for jobs. The two main reasons that are affecting the prospects for students are stiff competition and fast pace of technical advancement. Several job seekers are vying for a career in the IT industry. They gain higher qualifications only with the hope that it will earn them better jobs. However, the demand for IT profiles is so high that there are many job seekers applying for the same jobs. Only the best from the crowd get selected for the profile. Also, new technology gets introduced in the IT industry every year. Hence, all aspirants need to constantly update their knowledge and learn about newer versions regularly. Both these aspects make interviews difficult for the job seekers. Hence, while preparing for an interview, one has to consider both these perspectives. Preparing well for the interviews is the only way to manage these problems. If one rehearses answers for the most frequently asked interview questions and stays updated with the latest technologies, then it is sure to give you an edge at the interview.

This list of design patterns interview questions is composed to guide all job seekers in preparing for interviews. It includes all popular interview questions that confirm to the latest technology. Keeping answers ready for these questions is surely going to be beneficial. You can refer to the given answers for reference.

  1. What are design patterns?

    Answer: A design pattern is a solution that caters to a given problem or solution. It is an integral part of software development. A pattern is a solution to a problem that occurs repeatedly and can be utilized numerable times. A solution becomes a design pattern when it gets documented and utilized again and again.

  2. What are the types of patterns?

    Answer: There are three main categories of patterns: creational patterns, structural patterns, and behavioral patterns. Each category consists of more pattern examples. Creational patterns consist of designs that develop and create. Structural patterns include those that provide a definite format and organized content. Lastly, behavioral patterns add features to the database and improve its functionality.

  3. Which design patterns have you worked on before?

    Answer: I have worked on a three tier architecture project that included User Interface development, business information and data access as three layers. We used different patterns at every stage of the project. For this project, we used MVC, singleton, iterator, factory and template pattern. Singleton pattern allowed accessing data at all levels while factory pattern was adopted to remove code complication. Similarly, other patterns were selected as per their applications, advantages and requirements.

    (This answer is subject to your experience. Do not lie about your experience and include only what you have actually practiced. Explain the pattern type used, why it was chosen, how was it created /applied and and other details that the recruiter is expected to ask.)

  4. Is it possible to use same design patterns to all problems?

    Answer: A design pattern is a set of answers that are peculiar to a particular question. The code interpreted for each problem is different and hence the answer would be different too. Hence, it is not possible to use the same solution to all problems.

  5. If you are designing applications, what problems do you expect to come up during this phase?

    Answer: The most common problems that I may face are identifying the components and their inter relationship, the internal composition of components, finding out component granularity, and defining computer interfaces.

  6. What are antipatterns?

    Answer: Antipatterns are documented mistakes. In certain cases, a pattern fails to deliver expected results. Even when applications do not achieve their goals, architects document these wrong patterns and record them to prevent mistakes in future. Since they are negative solutions, they are referred as antipatterns.

  7. Define refactoring

    Answer: Refactoring is a method adopted to prevent over engineering and under engineering. This method is used to alter the internal structure of the software and make it more easy to understand and modify. Over engineering occurs when too many patterns are used whereas under engineering occurs when less patterns are used. Both aspects put an impact on the feasibility of the project and refactoring is used to prevent such a situation.

  8. What is the different between factory pattern and abstract factory?

    Answer: Both factory and abstract factory patterns are examples of creational patterns. However, the difference lies in the method of approach. Factory method provides for a single object type and creates relevant subclass to process the object's function. Abstract factory method provides for multiple object type and transfers the object representation to another object.

  9. If you are asked to improve the scalability and performance of applications, which patterns would you choose?

    Answer: Service locater, business delegate, session facade, Value Object, etc., are few papterns that may be used to improve performance.

We have lined up few more questions for you to practice. You can write down answers to these question depending upon your experience:

You can prepare your own list of FAQ similar to the one given here. Make sure that you update this list every now and then as per the recent introductions in your industry. This list will surely aid you in your efforts of seeking a job.


Contact Us : Privacy Policy