What should you focus on when preparing?

Which questions should you start with?

Start with OOP principles, dependency injection, and polymorphism. These were the most asked questions in these interviews. The question about OOP and its main principles appeared in 41 of 347 interviews. Overloading versus overriding, SOLID, and interfaces versus abstract classes also ranked among the most asked.

Use these questions to check what you can explain. Can you explain each OOP principle with an example? Can you tell a class from an object, and overloading from overriding?

What did real OOP answers miss?

Reviewed answers missed key differences between concepts and details of how objects behave. Check whether you can explain these points:

  • Abstraction and encapsulation: Can you explain each clearly and say how they differ? Reviewed answers did not clearly explain abstraction or distinguish it from encapsulation.
  • Polymorphism: Can you show a shared interface or base-class reference referring to different implementations, with the overridden method chosen at runtime?
  • Interfaces and abstract classes: Can you explain when you need a contract across unrelated classes, and when you need shared state and base behavior?
  • Static and instance methods: Can you explain why a static method can be called without creating an object, while an instance method is tied to a particular object?

What should your dependency injection and SOLID answers cover?

The question about dependency injection and its container appeared in 38 of 347 interviews. Reviewed answers missed how DI helps with testing, loose coupling, and maintenance. Can you explain how DI makes code easier to test, reduces dependence between classes, and makes changes easier to manage?

Also check whether you can explain injection styles, service lifetimes, and circular dependencies. For SOLID, can you expand the whole acronym correctly and explain every principle? Reviewed answers included incomplete or incorrect expansions.

Should you also write code?

Code-writing tasks appeared in 17 of 347 interviews. Use the recorded tasks to check concrete skills: can you write a simple Apex class, create an object in Python, call an instance method to get its returned string, and check an object's type? Another task asked how to retrieve a class's public methods using reflection.

What should you cover beyond the basics?

Can you choose a design pattern for an application and explain how you would implement it? Pattern questions covered these skills as well as pattern categories.

For MVC, MVP, and MVVM, can you explain where responsibilities and state updates belong? For Clean Architecture and domain-driven design, can you identify domain boundaries and where business rules belong? For test automation, can you explain the structure and trade-offs of a framework using Page Objects, Screenplay, or shared test components?

Who gets asked OOP and Design Patterns

Backend developer177 interviews
Mobile developer15 interviews
ERP / CRM developer12 interviews
Frontend developer11 interviews

The 20 most asked OOP and Design Patterns questions

Counted by interview, not by mention: a question asked twice in one conversation counts once.

  1. What is object-oriented programming, and can you explain its four main principles with examples?

    Asked in 41 of 347 interviews · last asked Oct 22 · Concept · Junior

    Show answer

    Object-oriented programming (OOP) organizes code around objects that combine data and behavior. Encapsulation controls access to an object's state, while abstraction exposes useful operations without showing implementation details. Inheritance lets a class build on another class. Polymorphism lets different object types respond to the same operation in their own ways.

    • Encapsulation: a bank account hides its balance and allows changes only through methods that enforce valid transactions.
    • Abstraction: callers use account.withdraw(amount) without knowing how the account stores transactions.
    • Inheritance: ElectricCar extends Car, reusing its behavior and adding battery-related features.
    • Polymorphism: Circle and Rectangle both provide draw(), but each draws a different shape.

    What the interviewer checks: The interviewer checks whether you can explain all four principles, distinguish them, and connect them to practical examples.

    Common mistake (in 6 of 15 reviewed answers): Many answers forget that abstraction hides implementation details, while encapsulation controls access to an object's state.

    Other ways it was asked
    • “What is object-oriented programming?”
    • “What is OOP?”
    • “What are the main principles of object-oriented programming?”
  2. What is dependency injection, and how does a dependency injection container work?

    Asked in 38 of 347 interviews · last asked Oct 21 · Concept · Junior

    Show answer

    Dependency injection means a class receives its dependencies from outside instead of creating them itself. This supports loose coupling, easier testing, and easier maintenance. A DI container uses service registrations to find or create dependencies and supply them to objects. It also manages configured lifetimes, such as transient, scoped, or singleton in .NET.

    • Constructor injection makes required dependencies clear.
    • Tests can supply fake implementations instead of real services.
    • DI does not require a container; you can supply dependencies yourself.
    • In .NET, transient means each resolution, scoped means once per scope, and singleton means one shared instance.

    What the interviewer checks: The interviewer checks whether you understand DI’s benefits and can separate injection from the container’s role.

    Common mistake (in 8 of 20 reviewed answers): Many answers forget that DI helps testing and maintenance by letting you replace dependencies without changing the class.

    Other ways it was asked
    • “What is dependency injection?”
    • “What is dependency injection, and when would you use it?”
    • “Can you explain what dependency injection is?”
  3. What is polymorphism, and can you explain it with an example?

    Asked in 22 of 347 interviews · last asked Oct 22 · Concept · Junior

    Show answer

    Polymorphism lets you use different implementations through the same interface or base type. With method overriding, the object's actual class determines which method runs at runtime. In Java, method overloading is different: the compiler chooses between methods with different parameter lists using compile-time types.

    • An interface or base-class reference can refer to objects of different implementing classes or subclasses.
    • Overridden instance methods are selected at runtime.
    • Java resolves overloaded methods at compile time, not by the argument object's runtime class.
    Code
    interface Animal { void speak(); }
    class Dog implements Animal { public void speak() { System.out.println("Woof"); } }
    class Cat implements Animal { public void speak() { System.out.println("Meow"); } }
    public class Main {
        public static void main(String[] args) {
            Animal[] animals = {new Dog(), new Cat()};
            for (Animal animal : animals) animal.speak(); // Woof, then Meow
        }
    }

    What the interviewer checks: The interviewer checks whether you understand shared types, runtime method selection, and how overriding differs from overloading.

    Common mistake (in 3 of 8 reviewed answers): Many answers forget that the example should use a shared type and show overridden methods being selected at runtime.

    Other ways it was asked
    • “What is polymorphism?”
    • “What is polymorphism in Java?”
    • “What is polymorphism in object-oriented programming?”
  4. What are method overloading and method overriding?

    Asked in 18 of 347 interviews · last asked Oct 22 · Concept · Junior

    Show answer

    Method overloading means using the same method name with different parameter lists. Method overriding means a subclass provides a new implementation of an inherited instance method with the same signature. In Java, overload selection happens at compile time, while overridden method selection happens at runtime based on the actual object.

    • Overloads differ by parameter count, types, or order; changing only the return type is not enough.
    • An override must have a compatible return type and cannot reduce access.
    • In Java, final methods cannot be overridden; static methods are hidden, not overridden.
    Code
    class Printer {
        void print(int value) { System.out.println(value); }
        void print(String value) { System.out.println(value); } // Overloading
    }
    class LoudPrinter extends Printer {
        @Override
        void print(String value) { // Overriding
            System.out.println(value.toUpperCase());
        }
    }

    What the interviewer checks: The interviewer checks whether you understand parameter-based method selection and runtime polymorphism.

    Other ways it was asked
    • “What is method overriding in Java?”
    • “What is method overloading?”
    • “What is the difference between method overloading and method overriding?”
  5. What does SOLID stand for, and what does each principle mean?

    Asked in 18 of 347 interviews · last asked Oct 15 · Concept · Mid-level

    Show answer

    SOLID stands for Single Responsibility (a class has one reason to change), Open/Closed (extend behavior without changing existing code), and Liskov Substitution (subtypes must honor base-type contracts). It also includes Interface Segregation (clients should not depend on methods they do not need) and Dependency Inversion (high-level and low-level code depend on abstractions).

    • Single Responsibility groups code that changes for the same reason, not necessarily code with only one method.
    • A subtype must work wherever its base type is expected, without breaking expected behavior.
    • With Dependency Inversion, details depend on abstractions; abstractions do not depend on details.
    • These principles guide design; adding interfaces everywhere can create needless complexity.

    What the interviewer checks: The interviewer checks whether you can name all five principles and explain how they guide software design.

    Common mistake (in 4 of 7 reviewed answers): Many answers forget that SOLID has five principles; name each one and explain its meaning.

    Other ways it was asked
    • “What are the SOLID principles?”
    • “Can you explain the SOLID principles?”
    • “What are the SOLID principles, and how do they guide software design?”
  6. What is the difference between an interface and an abstract class?

    Asked in 16 of 347 interviews · last asked Oct 21 · Concept · Junior

    Show answer

    An interface defines a contract that different classes can follow. An abstract class provides a shared base with state and behavior, but cannot be created directly. Use an interface for a common role across unrelated classes, and an abstract class when related classes need shared code or state.

    • An abstract class can contain both implemented methods and abstract methods that concrete subclasses must implement.
    • In Java, a class can implement multiple interfaces but extend only one class.
    • Interface features depend on the language and version; Java 8+ interfaces support default method implementations.
    • Abstraction is the idea of hiding details; interfaces and abstract classes are tools for it.

    What the interviewer checks: The interviewer checks whether you can choose between a shared contract and a shared base class.

    Common mistake (in 3 of 5 reviewed answers): Many answers forget that interfaces suit unrelated classes sharing a contract, while abstract classes suit shared state and behavior.

    Other ways it was asked
    • “What is the difference between an abstract class and an interface?”
    • “What is the difference between an abstract class and an interface, and why would you use an abstract class instead of an interface?”
    • “What is the difference between abstraction and an interface?”
  7. What is inheritance in object-oriented programming?

    Asked in 14 of 347 interviews · last asked Oct 17 · Concept · Junior

    Show answer

    Inheritance lets a class build on another class by reusing and extending its behavior. The child class can add features or override methods supported by the language. It is used to model an “is-a” relationship, such as a dog being an animal.

    • The existing class is the parent or superclass; the new class is the child or subclass.
    • Inheritance supports code reuse and polymorphism.
    • Use inheritance for an “is-a” relationship, not just to share code.
    • Access rules and support for multiple parent classes depend on the language.

    What the interviewer checks: The interviewer is checking whether you understand how inheritance relates classes and when it is appropriate.

    Other ways it was asked
    • “What is inheritance?”
    • “What is the concept of inheritance?”
    • “Can you briefly explain the concept of inheritance?”
  8. What are classes and objects, and how do they differ?

    Asked in 10 of 347 interviews · last asked Oct 17 · Concept · Junior

    Show answer

    A class defines the fields and methods that its objects can have. An object is an instance of a class, with its own identity and values for its instance fields. One class can be used to create many objects.

    • A class describes a type; an object is a specific instance of that type.
    • Objects of the same class can hold different values in their instance fields.
    • In Java, static fields belong to the class, not to each object.
    Code
    class Car {
        String color;
    }
    
    class Demo {
        public static void main(String[] args) {
            Car car = new Car();
            car.color = "red";
        }
    }

    What the interviewer checks: The interviewer is checking whether you can separate a class definition from an instance and its state.

    Other ways it was asked
    • “What is the difference between a class and an object?”
    • “What is a class?”
    • “What is an object?”
  9. What are static methods, and how do they differ from instance methods?

    Asked in 9 of 347 interviews · last asked Oct 18 · Concept · Junior

    Show answer

    Static methods belong to a class and can be called without creating an object. In Python, they receive no automatic instance or class argument. Instance methods receive the object as `self` and can use its state. Python class methods receive the class as `cls`, so they can work with class-level state.

    • In Python, use `@staticmethod` for static methods and `@classmethod` for class methods.
    • Static methods can access object state if an object is explicitly passed to them.
    • Use instance methods for object behavior; use static methods for related helpers that need no instance.

    What the interviewer checks: The interviewer checks whether you understand which methods receive an object, a class, or neither automatically.

    Common mistake (in 6 of 9 reviewed answers): Many answers forget that static methods need no object, while instance methods receive a particular object automatically.

    Other ways it was asked
    • “What are static variables and static member functions in C++?”
    • “How do static variables and static member functions differ from their non-static counterparts in C++?”
    • “What is a static member function in C++?”
  10. What is encapsulation, and can you explain its benefits with an example?

    Asked in 9 of 347 interviews · last asked Oct 22 · Concept · Junior

    Show answer

    Encapsulation keeps an object's data and the code that manages it together, and controls access through a defined interface. It helps prevent invalid state and allows internal changes without changing how callers use the object. Hiding means callers need not depend on implementation details, not that the source code is secret.

    • Private fields prevent callers from changing data directly.
    • Public methods enforce rules and expose only the operations callers need.
    • Internal storage and helper methods can change while the public interface stays stable.
    Code
    class Thermostat {
        private int temperature = 20;
        public void setTemperature(int value) {
            if (value < 10 || value > 30) {
                throw new IllegalArgumentException("Temperature must be 10 to 30");
            }
            temperature = value;
        }
        public int getTemperature() { return temperature; }
    }

    What the interviewer checks: The interviewer checks whether you understand how controlled access protects valid state and reduces dependence on internal details.

    Other ways it was asked
    • “What is encapsulation?”
    • “Can you give examples of implementation details that encapsulation hides?”
    • “How does encapsulation hide implementation details when the source code is accessible?”
  11. What is abstraction in object-oriented programming?

    Asked in 9 of 347 interviews · last asked Sep 22 · Concept · Junior

    Show answer

    Abstraction means showing what an object can do without requiring callers to know how it works. It exposes essential operations and leaves out unnecessary details. In Java, interfaces and abstract classes are common ways to define these operations while letting concrete classes provide implementations.

    • Callers depend on a clear contract rather than implementation details.
    • Different classes can implement the same abstraction in different ways.
    • Abstraction focuses on what is exposed; encapsulation controls access to internal state and implementation.

    What the interviewer checks: The interviewer checks whether you understand separating an object's public operations from how they are implemented.

    Other ways it was asked
    • “What is abstraction?”
    • “What do you mean by abstraction?”
    • “What is abstraction in Java?”
  12. How do transient, scoped, and singleton dependency injection lifetimes work in ASP.NET Core?

    Asked in 8 of 347 interviews · last asked Sep 18 · Concept · Mid-level

    Show answer

    Transient creates a new instance each time the container resolves it. Scoped reuses one instance within a scope, usually one HTTP request. Singleton reuses one instance for the root container's lifetime and must be safe for concurrent use. Choose based on how long state should live and whether sharing is safe.

    • Use transient for lightweight services that do not need shared state, such as a formatter.
    • Use scoped for request-level work; AddDbContext registers DbContext as scoped by default.
    • Use singleton for shared, thread-safe services, such as an in-memory cache.
    • Injecting DbContext into a singleton fails scope validation; without validation, requests may share a non-thread-safe context.

    What the interviewer checks: The interviewer checks whether you understand instance reuse, request boundaries, and the risks of sharing services across requests.

    Other ways it was asked
    • “Can you explain the differences between transient, scoped, and singleton service lifetimes in ASP.NET Core, and give a concrete example of when you would use each?”
    • “In ASP.NET Core, what's the difference between transient, scoped, and singleton lifetimes?”
    • “Explain transient, scoped, and singleton lifetimes in ASP.NET Core.”
  13. Which design patterns do you know, and when would you use them?

    Asked in 8 of 347 interviews · last asked Oct 14 · Concept · Mid-level

    Show answer

    I know Strategy, Factory Method, Adapter, and Observer. I use Strategy to swap algorithms, and Factory Method when subclasses should choose which object to create. I use Adapter to make an existing class work with an interface the client expects. I use Observer when several objects need updates after another object changes.

    • Factory Method is creational; Adapter is structural; Strategy and Observer are behavioral.
    • Choose a pattern for a real problem, not just to use a pattern.
    • Patterns add structure, but can also add complexity.
    • Explain the problem solved and the trade-offs, not just the pattern name.

    What the interviewer checks: The interviewer is checking whether you can connect patterns to practical problems and explain when they help.

    Other ways it was asked
    • “Which design patterns do you know, and when do you apply them?”
    • “Which design patterns are you familiar with?”
    • “What do you know about design patterns?”
  14. What is the Singleton design pattern?

    Asked in 7 of 347 interviews · last asked Oct 22 · Concept · Junior

    Show answer

    The Singleton pattern limits a class to one instance and provides a shared way to access it. I would use it when one object must coordinate a shared resource. It controls access, but shared state can hide dependencies and make testing harder.

    • The class controls instance creation; callers cannot freely create new instances.
    • The instance can be created immediately or only when first needed.
    • Concurrent access needs safe initialization; the object's methods may also need synchronization.
    • One instance usually means within one application process, not across multiple processes.

    What the interviewer checks: The interviewer is checking whether you understand controlled instance creation, suitable uses, and the risks of shared state.

    Other ways it was asked
    • “What are the advantages and disadvantages of the Singleton design pattern?”
    • “What is the singleton pattern?”
    • “What is the Singleton design pattern, and when would you use it?”
  15. What is the MVC architecture?

    Asked in 7 of 347 interviews · last asked Oct 22 · Concept · Junior

    Show answer

    MVC stands for Model–View–Controller. It separates an application into three parts: the Model manages data and business rules, the View presents information, and the Controller handles user input and coordinates actions. This separation makes code easier to change and test.

    • The Model contains application data and business rules, not just database access.
    • The View displays information; it should not contain core business rules.
    • The Controller handles input and calls the appropriate application logic.
    • The exact flow between these parts depends on the framework.

    What the interviewer checks: The interviewer is checking whether you understand each part’s role and how MVC separates responsibilities.

    Other ways it was asked
    • “What is MVC?”
    • “At a basic level, what is MVC?”
    • “Explain MVC.”
  16. What is a UML class diagram?

    Asked in 6 of 347 interviews · last asked Mar 27 · Concept · Junior

    Show answer

    A UML class diagram shows the static structure of a system: its classes, their attributes and operations, and their relationships. Each class is usually drawn as a box with sections for its name, attributes, and operations. It describes how the system is organized, not how it runs step by step.

    • UML stands for Unified Modeling Language.
    • Relationships include association, inheritance, aggregation, and composition.
    • Visibility symbols include + for public, - for private, and # for protected.
    • Multiplicity shows how many objects can be linked, such as one or many.

    What the interviewer checks: The interviewer is checking whether you can read and explain a basic object-oriented design diagram.

    Other ways it was asked
    • “What do you mean by a class diagram?”
    • “What is a class in UML?”
    • “What is a class diagram?”
  17. What is the Page Object Model, and what are its benefits in test automation?

    Asked in 6 of 347 interviews · last asked Oct 12 · Concept · Mid-level

    Show answer

    The Page Object Model is a test design pattern that represents each UI page or component as an object. It keeps element locators and UI actions separate from test logic. This makes tests easier to read, reuse, and maintain because UI changes often need fixing in only one place. Use it when several UI tests share pages or interactions.

    • Page objects expose actions such as signing in, while hiding element locators and interaction details.
    • Tests describe scenarios and usually keep the assertions.
    • Shared page objects reduce duplicate code and limit fixes when the UI changes.
    • It adds structure and setup work, so very small test suites may benefit less.

    What the interviewer checks: The interviewer wants to see whether you can separate UI details from test intent and explain the maintenance benefits.

    Other ways it was asked
    • “What is the Page Object Model, and when would you use it?”
    • “What is the Page Object Model, and how have you used it in test automation?”
    • “What is the Page Object Model, and how do you use it in test automation?”
  18. What is an interface in Java?

    Asked in 5 of 347 interviews · last asked Sep 30 · Concept · Junior

    Show answer

    An interface in Java is a type that defines a contract for classes to follow. It lets code use different implementations through the same type, without depending on a specific class. This supports polymorphism and makes implementations easier to replace or test.

    • A class uses implements and must implement abstract methods unless the class is abstract.
    • A class can implement multiple interfaces.
    • Interfaces cannot be instantiated directly.
    • Since Java 8, interfaces can also contain default and static methods with bodies.

    What the interviewer checks: The interviewer is checking whether you understand interfaces as contracts and how they reduce dependencies on specific classes.

    Other ways it was asked
    • “What is an interface in Java, and what is it used for?”
    • “What advantages do interfaces provide in Java?”
  19. How would you design an immutable class in Java?

    Asked in 5 of 347 interviews · last asked Oct 6 · Concept · Mid-level

    Show answer

    An immutable Java class cannot change its state after construction. Make the class final, keep fields private and final, and provide no methods that change its state. Copy mutable inputs and return defensive copies of mutable fields, so callers cannot change the object's internal state.

    • A final class prevents subclasses from adding behavior that breaks immutability.
    • A final reference cannot be reassigned, but the referenced object may still change.
    • Copy mutable data on input and output; immutable values can be shared.
    • Do not let this escape during construction.
    Code
    public final class Event {
        private final java.util.Date when;
        public Event(java.util.Date when) {
            this.when = new java.util.Date(when.getTime());
        }
        public java.util.Date getWhen() {
            return new java.util.Date(when.getTime());
        }
    }

    What the interviewer checks: The interviewer checks whether you can prevent state changes through methods, subclasses, and shared mutable objects.

    Other ways it was asked
    • “How do you make a class immutable in Java?”
    • “Can you explain immutable class design?”
    • “What does immutable class design mean in Java?”
  20. What is inversion of control?

    Asked in 5 of 347 interviews · last asked Oct 7 · Concept · Junior

    Show answer

    Inversion of control (IoC) means handing control of part of your program to a framework or container. In Spring, the container creates and manages objects called beans and supplies their dependencies. Dependency injection is one way to apply IoC: objects receive what they need instead of creating it themselves.

    • IoC is a broader principle than dependency injection.
    • Spring manages bean creation, wiring, and lifecycle.
    • Dependency injection helps separate components and makes them easier to test.

    What the interviewer checks: The interviewer wants to know whether you understand who controls object creation and how IoC relates to dependency injection.

    Other ways it was asked
    • “What is inversion of control (IoC)?”
    • “What does inversion of control mean in a Spring application?”
    • “What is inversion of control in Spring Boot?”

OOP basics interview questions

Start with questions on classes, objects, encapsulation, constructors, access modifiers, static members, and how objects behave in different languages. 114 questions.

  1. What is a constructor, and how does it differ from a method?

    Asked in 4 of 347 interviews · last asked Oct 8 · Concept · Junior

    Other ways it was asked
    • “What is a constructor?”
    • “What is a constructor in Java?”
    • “What is a constructor in Java, and how is a method different from a constructor?”
  2. What is the difference between a class and a struct in C#?

    Asked in 3 of 347 interviews · last asked Sep 10 · Concept · Mid-level

    Other ways it was asked
    • “In Swift, what is the difference between a struct and a class?”
    • “In Swift, what is the difference between a struct and a class, and why might you prefer a struct?”
    • “What is the difference between a struct and a class in C#?”
  3. What is self in a Python method, and what is it used for?

    Asked in 3 of 347 interviews · last asked Oct 22 · Concept · Junior

    Other ways it was asked
    • “What is the `self` parameter in Python, and is it required in an instance method?”
    • “What is the purpose of the self keyword in Python?”
  4. What is the `this` keyword used for in Java?

    Asked in 2 of 347 interviews · last asked Aug 18 · Concept · Junior

    Other ways it was asked
    • “Why and when is the `this` keyword used in Java?”
    • “What is the purpose of the `this` keyword in Java?”
  5. Can you explain object-oriented programming in Python?

    Asked in 2 of 347 interviews · last asked Sep 2 · Concept · Junior

    Other ways it was asked
    • “How does Python support object-oriented programming?”
    • “How do you use object-oriented programming in Python?”
  6. What is `__init__` in Python?

    Asked in 2 of 347 interviews · last asked Oct 18 · Concept · Junior

    Other ways it was asked
    • “What is __init__ in Python?”
  7. What is an access modifier in object-oriented programming?

    Asked in 2 of 347 interviews · last asked Jul 16 · Concept · Junior

    Other ways it was asked
    • “What is an access modifier in Java?”
  8. What is the difference between an instance variable and a class variable in Java?

    Asked in 2 of 347 interviews · last asked Jul 16 · Concept · Junior

    Other ways it was asked
    • “What is an instance variable in Java?”
  9. How can you check in Python whether an object is an instance of a particular type, such as `Apple`?

    Asked once · last asked Feb 24 · Write code · Junior

  10. Does a Python class have an implicit `__init__` method, and what class does it inherit from by default?

    Asked once · last asked Feb 24 · Concept · Junior

  11. What can an enum contain besides values, and can you add custom methods to it?

    Asked once · last asked Mar 4 · Concept · Mid-level

  12. In Python, how does `__new__` differ from `__init__`, and when would you override `__new__` instead of `__init__`?

    Asked once · last asked Mar 16 · Concept · Senior

All 114 OOP basics questions

Inheritance, polymorphism, and interfaces interview questions

Compare inheritance, composition, interfaces, and abstraction, then explore overloading, overriding, and how languages choose which method to call. 124 questions.

  1. What is inheritance, and what types of inheritance does Java support?

    Asked in 4 of 347 interviews · last asked Sep 27 · Concept · Junior

    Other ways it was asked
    • “Which types of inheritance does Java support?”
    • “What is inheritance in Java?”
    • “How do you achieve inheritance in Java?”
  2. Can a static method be overridden?

    Asked in 4 of 347 interviews · last asked Oct 18 · Concept · Junior

    Other ways it was asked
    • “Can you override a static method in Java?”
    • “Can static methods be overridden?”
    • “Why can't static methods be overridden in Java?”
  3. Can you explain how Java handles multiple inheritance?

    Asked in 4 of 347 interviews · last asked Oct 8 · Concept · Junior

    Other ways it was asked
    • “How can you implement multiple inheritance in Java?”
    • “How can you achieve multiple inheritance in Java when classes do not support it?”
    • “Why does Java not allow multiple inheritance?”
  4. What does the `virtual` keyword do in C#, and when would you use it?

    Asked in 3 of 347 interviews · last asked Aug 19 · Concept · Junior

    Other ways it was asked
    • “What is the virtual keyword used for in C#?”
    • “What is the virtual keyword, and why do we use it?”
  5. What is the diamond problem in multiple inheritance?

    Asked in 3 of 347 interviews · last asked Oct 9 · Concept · Junior

    Other ways it was asked
    • “What is the diamond problem in C++ multiple inheritance?”
    • “How can the diamond problem in C++ multiple inheritance be handled?”
  6. What are the differences between sealed and non-sealed classes in Java?

    Asked in 2 of 347 interviews · last asked Sep 2 · Concept · Mid-level

    Other ways it was asked
    • “What do sealed classes do in Java?”
  7. What is the difference between an abstract class and a virtual method?

    Asked in 2 of 347 interviews · last asked Sep 17 · Concept · Mid-level

    Other ways it was asked
    • “What is the difference between virtual and abstract classes?”
  8. How does Odoo model inheritance differ from delegation through `_inherits`?

    Asked in 2 of 347 interviews · last asked Aug 24 · Concept · Mid-level

    Other ways it was asked
    • “How does model inheritance work in Odoo's ORM?”
  9. Can methods with the same name and parameters differ only by return type?

    Asked in 2 of 347 interviews · last asked Oct 16 · Concept · Junior

    Other ways it was asked
    • “If two methods have the same name and same parameters but different return types, is it overloading, overriding, or a compilation error?”
    • “If two methods have the same name and parameters but different return types, is that compile-time polymorphism?”
  10. What is the purpose of virtual functions in C++?

    Asked in 2 of 347 interviews · last asked Oct 9 · Concept · Junior

    Other ways it was asked
    • “Why would you declare a function as virtual in C++?”
    • “What are virtual functions in C++?”
    • “When should you use virtual functions in C++?”
  11. Why would you need an abstract class?

    Asked in 2 of 347 interviews · last asked May 22 · Concept · Junior

    Other ways it was asked
    • “What is the purpose of using an abstract class?”
    • “How would you use an abstract class in an application, and when would you choose one?”
    • “What is an abstract class?”
  12. How does multiple inheritance work in Python?

    Asked in 2 of 347 interviews · last asked Sep 4 · Concept · Junior

    Other ways it was asked
    • “Is multiple inheritance allowed in Python?”
    • “How do you implement multilevel inheritance in Python?”
    • “What issues can arise from multiple inheritance in Python?”

All 124 Inheritance, polymorphism, and interfaces questions

SOLID principles and object design interview questions

Explore SOLID, coupling, cohesion, immutability, equality, generics, UML, refactoring, and practical tasks for designing objects and classes. 59 questions.

  1. What is the Dependency Inversion Principle, and which modules should depend on which?

    Asked in 3 of 347 interviews · last asked Sep 30 · Concept · Junior

    Other ways it was asked
    • “What is dependency inversion?”
    • “What is the Dependency Inversion Principle?”
    • “What is the definition of dependency inversion?”
  2. Can you give an example of a violation of the Liskov Substitution Principle?

    Asked in 2 of 347 interviews · last asked Sep 4 · Concept · Mid-level

    Other ways it was asked
    • “What is the Liskov Substitution Principle?”
  3. What is the difference between cohesion and coupling?

    Asked in 2 of 347 interviews · last asked Oct 20 · Concept · Junior

  4. How do you ensure that a large C++ codebase remains modular, testable, and maintainable over time?

    Asked once · last asked Jun 15 · Design · Senior

    Other ways it was asked
    • “What best practices do you follow to keep a large C++ codebase modular, testable, and maintainable?”
  5. In C#, how do default equality and ordering comparisons work, and when would you customize CompareTo or GetHashCode?

    Asked once · last asked Jan 28 · Concept · Mid-level

    Other ways it was asked
    • “In C#, how does default comparison work, and when should you override CompareTo or GetHashCode?”
  6. When would you choose a record, class, or struct for a domain type, and why?

    Asked once · last asked Mar 16 · Concept · Mid-level

  7. Can you explain the difference between sequence and collaboration diagrams?

    Asked once · last asked Mar 27 · Concept · Junior

  8. What coding practices would you use when building an application, including reusable components?

    Asked once · last asked Apr 16 · Concept · Mid-level

  9. How can a library expose errors to its clients, and would you represent them with a dedicated error object?

    Asked once · last asked May 7 · Concept · Mid-level

  10. How would you write maintainable and testable code for a feature that sends email notifications to users? Discuss the design principles and practices you would apply.

    Asked once · last asked May 8 · Scenario · Mid-level

  11. What design principles do you prioritize for a long-running system maintained by many engineers?

    Asked once · last asked May 11 · Design · Senior

  12. In what situations is it best to use an immutable class? Can you give an example?

    Asked once · last asked May 25 · Concept · Mid-level

All 59 SOLID principles and object design questions

Dependency injection and IoC interview questions

Work through injection styles, containers, service registration, lifetimes, circular dependencies, service locators, and dependencies that support testing. 49 questions.

  1. How do constructor, setter, and field injection compare, and which would you prefer?

    Asked in 3 of 347 interviews · last asked Oct 21 · Concept · Mid-level

    Other ways it was asked
    • “Why is constructor injection preferred over field injection?”
    • “Which type of dependency injection is preferred, and why?”
    • “Which is better: constructor injection or setter injection?”
  2. What is a captive dependency in .NET dependency injection, and why can it cause problems?

    Asked in 2 of 347 interviews · last asked Sep 29 · Concept · Mid-level

    Other ways it was asked
    • “What is a captive dependency in dependency injection?”
  3. What are the benefits of registering an interface with its implementation and choosing its lifetime in the dependency injection container?

    Asked in 2 of 347 interviews · last asked Oct 15 · Concept · Mid-level

    Other ways it was asked
    • “How do you register an interface with its concrete implementation in a dependency injection container?”
  4. How does dependency injection work in Python, and when would you use it?

    Asked once · last asked Aug 13 · Concept · Mid-level

    Other ways it was asked
    • “Why is dependency injection used in Python applications?”
  5. Can you explain dependency injection in ASP.NET Core?

    Asked once · last asked Oct 10 · Concept · Mid-level

  6. What dependency injection mechanisms are used in Android, how do they work, and what are their advantages and disadvantages?

    Asked once · last asked Feb 10 · Concept · Senior

  7. What are the main limitations of Koin for dependency injection in Android?

    Asked once · last asked Feb 10 · Concept · Mid-level

  8. How would you use dependency injection in Laravel, for example to inject a service or a built-in Laravel service?

    Asked once · last asked Feb 10 · Concept · Mid-level

  9. Why might you instantiate services and an API client manually instead of using Spring or a similar framework?

    Asked once · last asked Mar 5 · Concept · Mid-level

  10. What is the relationship between inversion of control and dependency injection, and how does Spring illustrate inversion of control?

    Asked once · last asked Mar 6 · Concept · Mid-level

  11. In a senior-level MVC architecture, how do you enforce dependency inversion in controllers—for example, with interfaces and dependency-injection container bindings—while keeping framework coupling minimal?

    Asked once · last asked Mar 26 · Design · Senior

  12. Why is it better to pass dependencies through a constructor rather than instantiate classes directly with `new`?

    Asked once · last asked Apr 27 · Concept · Mid-level

All 49 Dependency injection and IoC questions

Design patterns interview questions

These questions cover pattern categories and choosing and implementing creational, structural, and behavioral patterns in real applications. 56 questions.

  1. How does the Decorator design pattern work?

    Asked in 5 of 347 interviews · last asked Sep 24 · Concept · Junior

    Other ways it was asked
    • “In programming, what is a decorator?”
    • “What is a decorator, and can you give me an example?”
    • “What are decorators?”
  2. How do you decide when to use a design pattern and which one to choose?

    Asked in 3 of 347 interviews · last asked Oct 16 · Concept · Mid-level

    Other ways it was asked
    • “When would you use design patterns in software development?”
    • “What are some common software design patterns, and when would you use them?”
    • “How do you identify which design pattern to use for an application?”
  3. What is the factory design pattern, and when would you use it?

    Asked in 3 of 347 interviews · last asked Sep 29 · Concept · Mid-level

    Other ways it was asked
    • “What are the Factory and Builder design patterns, and when would you use each?”
    • “What is the difference between the Factory and Builder design patterns?”
    • “How does the Factory pattern work, and when would you use it?”
  4. What are the main categories of software design patterns?

    Asked in 2 of 347 interviews · last asked Feb 14 · Concept · Mid-level

    Other ways it was asked
    • “What are the main categories of software design patterns, and how do they differ?”
  5. Tell me about a time you used a design pattern to solve a problem. What was the problem, and how did you solve it?

    Asked in 2 of 347 interviews · last asked May 11 · Behavioral · Mid-level

    Other ways it was asked
    • “What is your go-to design pattern? Tell me about a problem you solved recently and which design pattern you used to solve it.”
  6. What are ORM and Active Record, and how are they used to work with databases?

    Asked once · last asked Mar 27 · Concept · Mid-level

  7. What design patterns would you use when building APIs with Node.js and Express?

    Asked once · last asked Jun 26 · Concept · Mid-level

    Other ways it was asked
    • “What design patterns have you used when building APIs with Node.js and Express?”
    • “Beyond using a consistent format for API responses and errors, what design patterns have you used with Node.js and Express? Can you give an example?”
  8. When using decorators for logging, what should be logged and how can you avoid excessive logging?

    Asked once · last asked Feb 23 · Scenario · Mid-level

  9. What approach or framework feature would you use to centralize error handling across 20–30 API endpoints?

    Asked once · last asked Mar 5 · Tooling · Mid-level

  10. What design pattern does the RxJS library implement?

    Asked once · last asked Mar 24 · Concept · Mid-level

  11. How would you design a notification system that uses user preferences and supports email, SMS, and push notifications without coupling the dispatcher to a specific channel?

    Asked once · last asked Mar 31 · Design · Mid-level

  12. What Python design approach would ensure a base-class method runs before each channel-specific email, SMS, or push send implementation?

    Asked once · last asked Mar 31 · Concept · Mid-level

All 56 Design patterns questions

MVC, MVP, and MVVM interview questions

Review MVC, MVP, and MVVM through questions about UI responsibilities, view models, state updates, navigation, and web and mobile architecture. 38 questions.

  1. What is a ViewModel, and why do you use it?

    Asked in 2 of 347 interviews · last asked Sep 2 · Concept · Junior

    Other ways it was asked
    • “What is a ViewModel, and what is it used for in Android?”
  2. In a CodeIgniter application using HMVC, how would you organize a payment inquiry and registration feature across the controller, model, and view?

    Asked in 2 of 347 interviews · last asked Oct 20 · Tooling · Mid-level

    Other ways it was asked
    • “In a CodeIgniter application using HMVC, how would you organize a payment inquiry and registration feature, and divide responsibilities among controllers, models, and views?”
  3. What is the model in the MVC pattern?

    Asked in 2 of 347 interviews · last asked Sep 27 · Concept · Junior

    Other ways it was asked
    • “Could you explain the Model-View-Controller (MVC) pattern?”
  4. Can you explain the MVC and MVVM architectures?

    Asked in 2 of 347 interviews · last asked Sep 30 · Concept · Mid-level

    Other ways it was asked
    • “Can you explain the key components of MVVM and Clean MVVM architecture?”
  5. In an MVP architecture, what happens step by step when a user taps a balance-refresh button and the remote repository returns an updated value?

    Asked once · last asked Feb 10 · Scenario · Mid-level

  6. How does a ViewModel communicate a state change to the view so that the displayed balance updates?

    Asked once · last asked Feb 10 · Concept · Mid-level

  7. How can you implement ViewModels in an Android app, and how can they expose data to the view?

    Asked once · last asked Feb 10 · Concept · Mid-level

  8. Why should you avoid putting all the logic for retrieving user information directly in a controller?

    Asked once · last asked Mar 18 · Concept · Mid-level

  9. Why would you use MVVM instead of another pattern, such as MVC or MVP, in an Android application?

    Asked once · last asked Mar 20 · Concept · Mid-level

  10. How can frontend code separate business logic from presentation logic using a design pattern?

    Asked once · last asked May 14 · Concept · Mid-level

  11. Where should authorization checks be performed in a web application, and how might an MVC or MVCS architecture affect their placement?

    Asked once · last asked Jun 25 · Concept · Mid-level

  12. In an MVC application, where should role-checking logic be placed: in the model, view, or controller?

    Asked once · last asked Jun 25 · Concept · Mid-level

Show 25 more
  1. What are the differences between the MVC and MVVM patterns, and when would you use each?

    Asked once · last asked Jun 25 · Concept · Mid-level

  2. How does the MVC pattern work when using UITableView?

    Asked once · last asked Aug 5 · Concept · Junior

  3. Why should a table view cell display data rather than store it, and how does this separation affect app performance?

    Asked once · last asked Aug 5 · Concept · Mid-level

  4. Why should the model in the MVC architecture be independent of the UI?

    Asked once · last asked Aug 7 · Concept · Junior

  5. How would you use the MVVM pattern with UICollectionView in an iOS app?

    Asked once · last asked Aug 7 · Scenario · Mid-level

  6. What is VIPER architecture, and when would you use it?

    Asked once · last asked Aug 17 · Concept · Mid-level

  7. What is the benefit of MVVM over MVC?

    Asked once · last asked Aug 17 · Concept · Mid-level

  8. What is the difference between VIPER and MVVM?

    Asked once · last asked Aug 17 · Concept · Mid-level

  9. What are the layers of MVVM, and how do they work together?

    Asked once · last asked Sep 2 · Concept · Junior

    Other ways it was asked
    • “Can you explain the different layers of MVVM and how it works?”
    • “What is the responsibility of each MVVM layer?”
  10. How would you bind a Save command in XAML using MVVM and WPF?

    Asked once · last asked Sep 15 · Tooling · Mid-level

  11. What are smart and dumb components in React, and how do you distinguish between them?

    Asked once · last asked Dec 18 · Concept · Mid-level

  12. What is a flow coordinator, or navigation coordinator, in Clean Architecture?

    Asked once · last asked Sep 30 · Concept · Senior

  13. Can you give an example of violating the Unidirectional Data Flow principle?

    Asked once · last asked May 7 · Concept · Junior

    Other ways it was asked
    • “What are the drawbacks of violating the Unidirectional Data Flow principle?”
  14. Is it appropriate to use a Kotlin data class as a ViewState?

    Asked once · last asked Feb 10 · Concept · Junior

  15. What does MVVM stand for?

    Asked once · last asked Feb 10 · Concept · Junior

  16. Which architecture pattern would you choose for an Android application, and why?

    Asked once · last asked Mar 20 · Concept · Mid-level

  17. What is the Unidirectional Data Flow principle?

    Asked once · last asked May 7 · Concept · Junior

  18. When working with APIs and databases, would you choose MVC or another architecture, and why?

    Asked once · last asked May 28 · Scenario · Mid-level

  19. In MVC on iOS, how do you decide what logic belongs in the view controller versus the model?

    Asked once · last asked Aug 4 · Concept · Mid-level

  20. Why would you use the MVP or MVC architecture?

    Asked once · last asked Aug 5 · Concept · Mid-level

  21. In ASP.NET Core MVC, what does MVC stand for, and what is the responsibility of each component in the pattern?

    Asked once · last asked Aug 12 · Concept · Junior

  22. What is the MVVM architecture, and how does it apply to Angular?

    Asked once · last asked Oct 9 · Concept · Mid-level

  23. What is Django's MTV pattern?

    Asked once · last asked Oct 22 · Concept · Junior

  24. What is a headless component?

    Asked once · last asked Dec 29 · Concept · Junior

    Other ways it was asked
    • “What logic does a headless component provide?”
  25. How do smart and dumb components differ, and when would you prefer each?

    Asked once · last asked Oct 23 · Concept · Mid-level

Clean Architecture and domain-driven design interview questions

Look at layered and hexagonal architecture, domain boundaries, aggregates, repositories, business rules, and ways to evaluate application structure. 37 questions.

  1. What is domain-driven design, and when would you use it?

    Asked in 3 of 347 interviews · last asked Sep 28 · Concept · Senior

    Other ways it was asked
    • “What is domain-driven design (DDD)?”
    • “What is domain-driven design used for, what are its advantages and disadvantages, and where did it originate?”
    • “What is domain-driven design (DDD), and in what situations is it particularly useful?”
  2. How would you use MVC and hexagonal architecture, and how do they differ?

    Asked in 2 of 347 interviews · last asked Sep 16 · Concept · Mid-level

    Other ways it was asked
    • “Why would you choose hexagonal architecture over MVC?”
    • “How have you used MVC and hexagonal architecture, and how do they differ?”
    • “What are the differences between MVC and hexagonal architecture, and which do you prefer?”
  3. What is hexagonal architecture, and how does it structure an application?

    Asked in 2 of 347 interviews · last asked Sep 16 · Concept · Mid-level

    Other ways it was asked
    • “Can you give a small example of how hexagonal architecture separates an application’s components?”
  4. What is the foundational principle of Clean Architecture?

    Asked in 2 of 347 interviews · last asked Aug 17 · Concept · Mid-level

    Other ways it was asked
    • “Why do we use Clean Architecture?”
  5. What are the responsibilities of a controller, service, repository, and action in Laravel, and when would you use each?

    Asked once · last asked Feb 10 · Concept · Mid-level

  6. How would you architect a new app using UI, domain, and data layers, and what responsibilities would belong in each layer?

    Asked once · last asked Feb 12 · Design · Mid-level

  7. What is Clean Architecture, and when would you use it in an Android application?

    Asked once · last asked Mar 20 · Concept · Mid-level

  8. When domain logic needs HTTP context, such as the current user, locale, or request ID, how do you model and pass that context without leaking framework request objects into the domain?

    Asked once · last asked Mar 26 · Design · Senior

  9. How would you evaluate whether a system's architecture and layering are well designed?

    Asked once · last asked Apr 17 · Design · Senior

  10. How would you assess whether a domain layer is properly separated and aligned with the business domains?

    Asked once · last asked Apr 17 · Design · Senior

  11. When would you use Clean Architecture or MVC architecture?

    Asked once · last asked May 26 · Concept · Mid-level

  12. What are the key concepts and rules of hexagonal architecture?

    Asked once · last asked Jun 24 · Concept · Mid-level

Show 25 more
  1. What are aggregates in Domain-Driven Design, and when would you use them?

    Asked once · last asked Jun 25 · Concept · Senior

  2. What is the repository pattern in Laravel, and what are its benefits?

    Asked once · last asked Jul 16 · Concept · Mid-level

  3. How would you design a multi-brand application with a domain layer that supplies the data rendered by most of the app?

    Asked once · last asked Jul 16 · Design · Mid-level

  4. Why would you map a database entity to a DTO or another model?

    Asked once · last asked Jul 16 · Concept · Mid-level

  5. What role does a repository play in an application, and what does the repository pattern accomplish?

    Asked once · last asked Jul 20 · Concept · Mid-level

    Other ways it was asked
    • “What is a repository doing in this codebase, and what does the repository pattern accomplish?”
  6. How can a repository use a search term to filter users by first name, last name, or email address?

    Asked once · last asked Jul 20 · Concept · Mid-level

  7. What are the trade-offs of validating a search term in the repository rather than in a service or handler?

    Asked once · last asked Jul 20 · Concept · Senior

    Other ways it was asked
    • “Why did you put the validation for the search term in the repository rather than in the service or handler?”
  8. When would you use domain-driven design or hexagonal architecture?

    Asked once · last asked Jul 27 · Concept · Senior

  9. What are domain-driven design, CQRS, and SOLID principles, and when would you use them?

    Asked once · last asked Aug 5 · Concept · Senior

  10. What is clean architecture, and how does an anti-corruption layer help isolate a system from external models?

    Asked once · last asked Aug 31 · Concept · Senior

  11. What’s the point of structuring a backend with controllers, services for business logic, and a repository layer for Prisma database calls?

    Asked once · last asked Sep 2 · Concept · Mid-level

  12. How do you handle sudden architecture and database requirement changes, such as switching from AWS RDS to MongoDB or avoiding an additional database, with minimal code impact?

    Asked once · last asked Sep 29 · Scenario · Senior

  13. What is the difference between an entity class and a DTO class?

    Asked once · last asked Sep 30 · Concept · Junior

  14. Explain the key components of Clean Architecture and how they connect to each other.

    Asked once · last asked Sep 30 · Concept · Senior

  15. How are the MVVM and Clean Architecture components connected when a view triggers an API request and receives the response?

    Asked once · last asked Sep 30 · Scenario · Senior

  16. How does a request move through Clean Architecture and return a response after a user submits a form?

    Asked once · last asked Sep 30 · Scenario · Senior

  17. How would you enforce separation between game logic and the UI through module boundaries, design patterns, tooling, or code reviews?

    Asked once · last asked Oct 9 · Behavioral · Senior

    Other ways it was asked
    • “How did you enforce separation between game logic and the UI through module boundaries, design patterns, tooling, or code reviews?”
  18. What is an anti-corruption layer between a legacy system and a new domain model?

    Asked once · last asked Oct 18 · Concept · Senior

  19. What do you think the purpose of layered architecture is in software development, and why architect an application that way?

    Asked once · last asked Sep 2 · Concept · Mid-level

    Other ways it was asked
    • “What’s the purpose of layered architecture, and why architect an app that way?”
  20. When handling a request, would you call the repository directly or perform steps in the business logic before querying the database?

    Asked once · last asked Mar 20 · Scenario · Mid-level

  21. When would you use a Student DTO in an application?

    Asked once · last asked Mar 30 · Concept · Junior

  22. Should a controller or route handler make database calls directly, or should database access be separated?

    Asked once · last asked Jul 28 · Concept · Junior

  23. Why should business rules generally be placed outside a Spring Boot controller?

    Asked once · last asked Sep 29 · Concept · Mid-level

  24. What is a data transfer object (DTO), and how is it used in TypeScript?

    Asked once · last asked Oct 7 · Concept · Junior

  25. What is the service-repository pattern?

    Asked once · last asked Oct 7 · Concept · Mid-level

CQRS, Saga, and distributed design patterns interview questions

Questions cover command-query separation, distributed workflows, messaging, circuit breakers, migration patterns, and connections to external systems. 18 questions.

  1. What is the Saga pattern in microservices, and when would you use it?

    Asked in 5 of 347 interviews · last asked Oct 16 · Concept · Senior

    Other ways it was asked
    • “What is the Saga design pattern in microservices, and when would you use it?”
    • “What is the core idea behind the Saga pattern in microservices architecture?”
    • “What is the saga pattern?”
  2. What is CQRS, and what advantages does it offer over traditional approaches?

    Asked in 2 of 347 interviews · last asked Aug 31 · Concept · Mid-level

    Other ways it was asked
    • “What advantages does CQRS offer over traditional patterns?”
    • “Can you explain CQRS?”
    • “Can you explain CQRS and its implications?”
  3. What is a circuit breaker?

    Asked in 2 of 347 interviews · last asked Oct 9 · Concept · Mid-level

  4. What microservice design patterns would you use, and when?

    Asked once · last asked Jan 31 · Concept · Senior

  5. How would you implement messaging in PHP, configure the project, and choose design patterns?

    Asked once · last asked Mar 9 · Design · Mid-level

  6. How would you implement a circuit breaker at the mobile-client level?

    Asked once · last asked May 4 · Scenario · Senior

    Other ways it was asked
    • “Can you walk me through how you implemented a circuit breaker at the mobile-client level?”
  7. What states and transition parameters would you use in a mobile-client circuit breaker, and why?

    Asked once · last asked May 4 · Scenario · Senior

    Other ways it was asked
    • “What states and transition parameters did you use in the mobile-client circuit breaker, and why?”
  8. How would you set the timing between the closed, half-open, and open states in a circuit breaker: fixed, based on exponential backoff, or adjusted according to the number of requests from a client?

    Asked once · last asked May 4 · Scenario · Senior

    Other ways it was asked
    • “How did you set the timing between the closed, half-open, and open states in the circuit breaker: fixed, based on exponential backoff, or adjusted according to the number of requests from a client?”
  9. Does implementing CQRS require a specific tool or library, or can it be implemented directly in code?

    Asked once · last asked Jul 16 · Concept · Mid-level

  10. How would you structure a Ruby on Rails webhook pipeline and fulfillment state machine across models, service objects, and background jobs?

    Asked once · last asked Aug 11 · Design · Senior

  11. Why would you use CQRS, and can it help when transitioning to microservices?

    Asked once · last asked Aug 20 · Concept · Senior

  12. When would you use the Pub/Sub pattern?

    Asked once · last asked Aug 20 · Concept · Mid-level

Show 6 more
  1. How would you handle the strangler pattern and reverse proxy during migration?

    Asked once · last asked Aug 26 · Design · Senior

  2. Which Python libraries, frameworks, or design choices would you use to handle errors and manage workflows, and why?

    Asked once · last asked Sep 21 · Concept · Mid-level

    Other ways it was asked
    • “Which Python library, framework, or design choice made the biggest difference in handling errors and workflows?”
  3. Can you explain more about the difference between choreography and orchestration in the saga pattern?

    Asked once · last asked Oct 12 · Concept · Senior

  4. What circuit breaker patterns do you know?

    Asked once · last asked Sep 1 · Concept · Mid-level

  5. What is the use case of having a circuit breaker?

    Asked once · last asked Oct 12 · Concept · Mid-level

  6. What is event sourcing, and how can it be used in a software project?

    Asked once · last asked Oct 21 · Concept · Mid-level

Test automation design patterns interview questions

Examine Page Objects, Screenplay, shared test components, and the structure and trade-offs of maintainable automation frameworks. 11 questions.

  1. How would you structure a Playwright test automation framework, and what are the trade-offs of that structure?

    Asked in 2 of 347 interviews · last asked Oct 24 · Design · Senior

    Other ways it was asked
    • “What would you improve in an existing Playwright test automation framework if you were rebuilding it from scratch?”
    • “How would you structure Playwright tests, test methods, and the page-object layer?”
  2. What is the Page Object Model, and how would you implement it in a Playwright framework?

    Asked in 2 of 347 interviews · last asked Oct 24 · Concept · Mid-level

    Other ways it was asked
    • “What is the Page Object Model, and how is it used with Playwright?”
  3. What coding standards and design patterns do you use when designing a REST API test automation framework?

    Asked once · last asked Jul 23 · Concept · Senior

    Other ways it was asked
    • “Which design patterns do you use for REST API test automation?”
  4. What are the Page Object and Screenplay patterns, and when would you use them in Cypress tests?

    Asked once · last asked Feb 9 · Concept · Mid-level

  5. What is the Screenplay Pattern, and how is it used in test automation?

    Asked once · last asked Apr 27 · Concept · Mid-level

  6. How would you approach building a Playwright automation framework for Microsoft Dynamics 365, and which design patterns and best practices would you use?

    Asked once · last asked Apr 27 · Design · Senior

  7. What design patterns are useful in test automation besides the Page Object Model?

    Asked once · last asked Aug 25 · Concept · Mid-level

  8. How would you structure a Page Object Model automation framework across packages, files, and classes?

    Asked once · last asked Sep 16 · Concept · Mid-level

  9. How would you model shared page elements, such as menus or pop-ups, in a test automation framework?

    Asked once · last asked Sep 18 · Design · Mid-level

  10. What is the purpose of a base class in a test automation framework, and how is it used?

    Asked once · last asked Sep 16 · Concept · Mid-level

    Other ways it was asked
    • “What responsibilities should a base class's methods handle in a test automation framework?”

Live coding round next? Coding mode in the MeetAssist desktop app solves the problem on your screen, with your phone as the remote.

How this list is made

Every question here was asked by a real interviewer in a real job interview that a candidate ran MeetAssist in. After the call, the interviewer's questions are pulled from the transcript. Practice sessions, tests, exams and anything that was not a job interview are dropped.

Questions are rewritten so they make sense on their own: names of people, employers and clients are removed, and speech-to-text mistakes are fixed. Small talk, logistics and questions about one candidate's own résumé are left out. Rephrasings of the same question are merged, and the count is the number of different interviews it came up in.

The interviews come from candidates who use MeetAssist, so they lean towards software, data and AI roles: the shares describe these interviews, not every OOP and Design Patterns interview. Answers to the most asked questions are written and checked by an editor; a "common mistake" is shown only when reviews of real answers in these interviews show it, with the count.

347 interviews, 240 candidates, Sep 2025 to Oct 2026. Updated every month with new interviews.