| 1 | Can an interface extend multiple other interfaces simultaneously, and how does this differ from a class's single-inheritance restriction for abstract/concrete classes? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Intermediate |
| 2 | How does the Liskov Substitution Principle relate to properly designing interfaces and abstract classes so that subclasses can genuinely be substituted for their parent type without breaking expected behavior? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Advanced |
| 3 | How would you use an abstract class to implement the Template Method pattern, defining a fixed algorithm skeleton with some steps left abstract for subclasses to fill in? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Intermediate |
| 4 | How do you decide whether to use an interface or an abstract class when designing a set of related classes that share common behavior? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Intermediate |
| 5 | How does PHP's type system use interfaces to enable polymorphism, allowing different concrete classes to be used interchangeably wherever the interface type is expected? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Intermediate |
| 6 | How would you design a class hierarchy combining an abstract base class WITH multiple interfaces to model both shared implementation AND multiple independent capabilities? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Advanced |
| 7 | How does the 'sealed' modifier interact with abstract classes and interface method overrides to control further extensibility? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Advanced |
| 8 | How would you use an abstract class combined with the Non-Virtual Interface (NVI) idiom to enforce that certain methods are always called in a specific pattern, even when subclasses override customizable parts? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Advanced |
| 9 | How can PHP's interface based type hinting combined with abstract classes support building a genuinely extensible plugin architecture within an application? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Advanced |
| 10 | What is the difference between an interface and an abstract class in C#, and when should you choose one over the other? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Beginner |
| 11 | What is the fundamental difference between an interface and an abstract class in Java, and when would you choose one over the other? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Beginner |
| 12 | What is the purpose of declaring an abstract class with a protected constructor, and how does this pattern communicate the class's intended usage to other developers? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Intermediate |
| 13 | How would you use an abstract class's constructor to enforce that certain validation or initialization logic always runs for every subclass, something an interface (lacking constructors entirely) cannot provide? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Intermediate |
| 14 | How is the 'diamond problem' (a class implementing two interfaces with conflicting default methods) resolved in Java, and what rule determines which default method 'wins' or whether the compiler requires explicit resolution? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Advanced |
| 15 | How would you design a sealed interface (Java 17+) to restrict which classes are permitted to implement it, and what benefit does this provide over a traditional open (unrestricted) interface for exhaustiveness checking? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Advanced |
| 16 | How would you use an interface with only static and default methods (no abstract methods at all) to build a fluent, extensible utility API, and what's a real JDK example of this pattern? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Advanced |
| 17 | What is the difference between an interface and an abstract class? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Beginner |
| 18 | What is an abstract class, and how does it differ from a fully concrete base class? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Beginner |
| 19 | What is an interface in PHP, and what purpose does it serve in defining a contract for classes to follow? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Beginner |
| 20 | What is an abstract class in PHP, and how does it differ from a regular class and from an interface? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Beginner |
| 21 | Can a class implement two interfaces with the same method? How is it resolved? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Intermediate |
| 22 | How do you decide between using an interface versus an abstract class for a given design? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Intermediate |
| 23 | When would you choose an abstract class over an interface for extensibility? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Advanced |
| 24 | How do static abstract interface members (C# 11+) enable generic math and other 'static polymorphism' patterns? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Advanced |
| 25 | How would you implement the 'Liskov Substitution Principle' correctly when designing an abstract class hierarchy, and what's a classic violation example? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Advanced |
| 26 | Can an interface declare instance fields, and if so, what implicit modifiers are automatically applied to any field declared in an interface? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Beginner |
| 27 | How do default methods (introduced in Java 8) let an interface provide a method implementation, and what problem were they specifically introduced to solve? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Intermediate |
| 28 | How would you implement the 'mixin' pattern in Java using default methods on an interface, letting a class gain reusable behavior without traditional inheritance? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Intermediate |
| 29 | What are private methods on an interface (introduced in Java 9), and what specific problem do they solve regarding code duplication between multiple default methods? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Advanced |
| 30 | Why program to an interface rather than a concrete type? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Beginner |
| 31 | What is an interface, and what can (and can't) it contain in its most basic form? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Beginner |
| 32 | What are default interface methods and when are they useful? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Intermediate |
| 33 | How do default interface methods (C# 8+) let an interface provide implementation, and what backward-compatibility problem do they solve? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Intermediate |
| 34 | How does explicit interface implementation work, and when would you use it instead of a normal (implicit) implementation? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Intermediate |
| 35 | What are static methods on an interface, and how do they differ from default methods in terms of inheritance and typical use case? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Intermediate |
| 36 | Can an interface extend another interface in PHP, and how does this let you build more specific contracts on top of a more general one? PHP › Interfaces & Abstract Classes | PHP | Interfaces & Abstract Classes | Intermediate |
| 37 | What is the Interface Segregation Principle and how does it apply in C#? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Advanced |
| 38 | How does interface segregation (the 'I' in SOLID) guide splitting a large, monolithic interface into several smaller, more focused ones? C# › Interfaces & Abstract Classes | C# | Interfaces & Abstract Classes | Advanced |
| 39 | How does a marker interface (an interface with no methods at all, like Serializable or Cloneable) work, and what's the modern alternative approach (annotations) for achieving similar 'tagging' purposes? Java › Interfaces & Abstract Classes | Java | Interfaces & Abstract Classes | Advanced |
| 40 | How would you implement a custom functional interface with generic type parameters, and what considerations apply when designing one instead of reusing a built-in java.util.function interface? Java › Functional Interfaces & Method References | Java | Functional Interfaces & Method References | Advanced |
| 41 | What is a trait in PHP, and how does it let you share a set of methods across multiple unrelated classes without using traditional inheritance? PHP › Traits | PHP | Traits | Beginner |
| 42 | What is covariance ('out T') and contravariance ('in T') in generic interfaces, and how does IEnumerable<out T> demonstrate covariance? C# › Generics | C# | Generics | Intermediate |
| 43 | Can a trait define abstract methods, and how does this let a trait enforce that any class using it must provide its own specific implementation of certain behavior? PHP › Traits | PHP | Traits | Intermediate |
| 44 | How would you implement generic operator constraints using .NET's generic math interfaces (like INumber<T>) to write a single Sum<T>() method working across int, double, and decimal? C# › Generics | C# | Generics | Advanced |
| 45 | How does structural typing handle two interfaces that are 'shape-identical' but declared completely independently? TypeScript › Structural Typing & Duck Typing | TypeScript | Structural Typing & Duck Typing | Intermediate |
| 46 | What is a delegate in C#, and what does it represent conceptually? C# › Delegates, Events & Lambdas | C# | Delegates, Events & Lambdas | Beginner |
| 47 | What is dependency injection, and what problem does it solve compared to a class creating its own dependencies directly? C# › Dependency Injection & IoC Principles | C# | Dependency Injection & IoC Principles | Beginner |
| 48 | How do you register and resolve a service using ASP.NET Core's built-in dependency injection container? C# › Dependency Injection & IoC Principles | C# | Dependency Injection & IoC Principles | Beginner |
| 49 | How does the Factory Method pattern work in C#, and what problem does it solve? C# › Design Patterns in C# | C# | Design Patterns in C# | Beginner |
| 50 | What do the built-in @Override, @Deprecated, and @SuppressWarnings annotations do? Java › Annotations | Java | Annotations | Beginner |
| 51 | What is the Factory Method pattern's simplest form -- a basic static factory returning different subtype instances based on input -- and why might you prefer it over exposing constructors directly? Java › Design Patterns in Java | Java | Design Patterns in Java | Beginner |
| 52 | What is the Iterator interface in PHP, and how does it relate to how a foreach loop actually works behind the scenes? PHP › Generators & Iterators | PHP | Generators & Iterators | Beginner |
| 53 | What are the four core principles of object oriented programming, and how does PHP support each of them? PHP › OOP | PHP | OOP | Beginner |
| 54 | What are the three visibility modifiers in PHP, public, protected, and private, and how do they control access to a class's properties and methods? PHP › OOP | PHP | OOP | Beginner |
| 55 | What is the difference between IEnumerable<T>, ICollection<T>, and IList<T> in the collection interface hierarchy? C# › Collections | C# | Collections | Intermediate |
| 56 | What is an event, and how does it differ from a plain public delegate field? C# › Delegates, Events & Lambdas | C# | Delegates, Events & Lambdas | Intermediate |
| 57 | How would you implement the Decorator pattern in C# to add behavior to an object without modifying its original class? C# › Design Patterns in C# | C# | Design Patterns in C# | Intermediate |
| 58 | How do generic type constraints ('where T : ...') restrict what types can be used, and what are the common constraint kinds? C# › Generics | C# | Generics | Intermediate |
| 59 | How would you implement a custom IEnumerable<T> on your own class using yield return, letting it support foreach? C# › Iterators & yield return | C# | Iterators & yield return | Intermediate |
| 60 | What is the purpose of the @FunctionalInterface annotation, and is it required for an interface to actually be treated as a functional interface? Java › Annotations | Java | Annotations | Intermediate |
| 61 | What is the Factory Method pattern, and how does it differ from the simpler Static Factory Method idiom (like List.of() or Optional.of())? Java › Design Patterns in Java | Java | Design Patterns in Java | Intermediate |
| 62 | What is the Adapter pattern, and when would you use it to make an existing class compatible with an interface it wasn't originally designed to implement? Java › Design Patterns in Java | Java | Design Patterns in Java | Intermediate |
| 63 | What is the difference between composition and inheritance as ways to reuse code, and why does the design principle "favor composition over inheritance" generally guide modern Java design (including many design patterns themselves)? Java › Design Patterns in Java | Java | Design Patterns in Java | Intermediate |
| 64 | How would you implement the Composite pattern to treat individual objects and groups of objects uniformly, such as a file system with files and directories? Java › Design Patterns in Java | Java | Design Patterns in Java | Intermediate |
| 65 | How would you implement an enum that also implements an interface, and what's the benefit of having different enum constants provide different behavior through a shared interface contract? Java › Enums | Java | Enums | Intermediate |
| 66 | How would you write a generic interface (like a custom Repository<T, ID> pattern common in data-access layers) and implement it for a specific entity type? Java › Generics | Java | Generics | Intermediate |
| 67 | What are extension methods in C#, and how do they let you add functionality to a type you can't modify? C# › Extension Methods | C# | Extension Methods | Intermediate |
| 68 | What is the IteratorAggregate interface, and how does it provide a simpler alternative to implementing the full Iterator interface directly? PHP › Generators & Iterators | PHP | Generators & Iterators | Intermediate |
| 69 | How does inheritance work in PHP using the extends keyword, and how do you call a parent class's constructor or method from within a child class? PHP › OOP | PHP | OOP | Intermediate |
| 70 | How do you use reflection to discover all types in an assembly that implement a specific interface, useful for plugin discovery? C# › Attributes & Reflection | C# | Attributes & Reflection | Advanced |
| 71 | How would you implement a custom, strongly-typed, read-only wrapper around a mutable collection to safely expose it from a class's public API? C# › Collections | C# | Collections | Advanced |
| 72 | How would you implement the Chain of Responsibility pattern in C# to process a request through a series of independent handlers? C# › Design Patterns in C# | C# | Design Patterns in C# | Advanced |
| 73 | How should Equals() be implemented differently for a class designed to support INHERITANCE, to correctly handle equality between a base type and derived types? C# › Equality: Equals, GetHashCode & IEquatable | C# | Equality: Equals, GetHashCode & IEquatable | Advanced |
| 74 | How would you write an extension method on an interface (like IEnumerable<T>) that provides a default implementation shared across EVERY concrete implementing type? C# › Extension Methods | C# | Extension Methods | Advanced |
| 75 | How would you implement a custom Stream subclass to wrap another stream with additional behavior, like counting bytes read? C# › File I/O & Streams | C# | File I/O & Streams | Advanced |
| 76 | How would you implement a generic method with MULTIPLE type parameters and constraints that reference EACH OTHER, like a generic mapping function? C# › Generics | C# | Generics | Advanced |
| 77 | How does PHP handle multiple inheritance limitations, and how do traits provide a mechanism for sharing reusable code across multiple unrelated class hierarchies? PHP › OOP | PHP | OOP | Advanced |
| 78 | How does PHP's type variance, specifically covariance and contravariance, affect how return types and parameter types can be safely changed when overriding a method in a child class? PHP › Type Declarations & Strict Types | PHP | Type Declarations & Strict Types | Advanced |