Master technical and career interviews with structured answers—short definition, real examples, pitfalls, and how to answer in 60–90 seconds.
Short answer: And subject to change. By defining expressions as objects, it’s easy to extend or modify the grammar without affecting other parts of the system. Real-world example (ShopNest) Use a GoF pattern in ShopNest…
Short answer: single button or command (like WatchMovie()), where the user only needs to press one button to turn everything on. Real-world example (ShopNest) Use a GoF pattern in ShopNest only when it removes duplicatio…
Short answer: mplifier: public class Amplifier { public void On() => Console.WriteLine("Amplifier is on."); public void Off() => Console.WriteLine("Amplifier is off."); } DVDPlayer: public class…
Short answer: And subdirectories, and those subdirectories can contain further files or subdirectories. The Composite Pattern allows for easy traversal and management of this hierarchical structure. Real-world example (S…
Short answer: llow users to redo the previous undo operation. Real-world example (ShopNest) Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the inte…
Short answer: While adding new operations is easy, adding new element types can be challenging. Every new element requires modifying all existing visitor classes to implement the new Visit method. Real-world example (Sho…
Short answer: The elements in the object structure (Book, Fruit) implement the Accept method, which is designed to accept a visitor. This method typically calls the appropriate visit method (Visit(Book book) or Visit(Fru…
Short answer: The IShoppingCartVisitor interface defines the operations that can be performed on the IShoppingCartElement objects. In this case, the visitor defines Visit(Book book) and Visit(Fruit fruit) methods for dif…
Short answer: The pattern enforces a rigid structure for the algorithm, meaning that subclasses cannot change the overall order or flow of steps. If you need to adjust the structure of the algorithm, it may require chang…
Short answer: When you have a series of steps that must be followed in a specific order, but some of the steps need to be customized for different situations. For example, when creating frameworks for processes like data…
Short answer: The common structure of the algorithm is defined in the abstract class, so subclasses don't have to repeat the same steps. Only the details of specific steps need to be implemented in each subclass. Real-wo…
Short answer: The Cook method in the Recipe class defines the skeleton of the algorithm. It calls GatherIngredients, Prepare, CookMethod, and Serve in a fixed order. The first three steps are abstract and need to be impl…
Short answer: The Recipe class defines the template method Cook, which contains the algorithm's skeleton. It delegates the implementation of specific steps (GatherIngredients, Prepare, and CookMethod) to subclasses by ma…
Short answer: Use the Strategy Pattern when you have multiple algorithms for a specific task and want to switch between them easily (e.g., sorting, encryption, compression). Say this in the interview Define — one clear s…
Short answer: The strategy pattern allows algorithms to be swapped at runtime, making the code more flexible. You can add new sorting algorithms without changing the context class, thus adhering to the Open/Closed Princi…
Short answer: The ISortStrategy interface allows any concrete sorting algorithm to be swapped in and out. The context (Sorter) doesn't need to know the specifics of the algorithm; it only knows that it can call the Sort…
Short answer: The ISortStrategy interface defines a common method (Sort) that all concrete strategies must implement. This allows clients (in this case, the Sorter class) to work with any strategy that implements this in…
Short answer: The State Pattern introduces a separate class for each state, which can lead to an increase in the number of classes in the system. For systems with many states, this can cause complexity. Real-world exampl…
Short answer: When you have an object that can be in multiple predefined states and its behavior depends on the current state (e.g., traffic lights, order processing systems). Say this in the interview Define — one clear…
Short answer: The ITrafficLightState interface defines a method (Change) that allows the traffic light to transition between states (Red, Green, Yellow). Real-world example (ShopNest) Use a GoF pattern in ShopNest only w…
Short answer: The ITrafficLightState interface defines a method (Change) that allows the state to transition to another state. The method accepts a TrafficLight object as a parameter to facilitate the state change. publi…
Short answer: The Singleton can act as a global variable, which may make it harder to track state changes and can lead to issues with dependencies. Real-world example (ShopNest) Use a GoF pattern in ShopNest only when it…
Short answer: The singleton instance is created when the class is loaded, guaranteeing thread safety without locking. However, it may have a slight performance overhead due to the instance being created regardless of whe…
Short answer: When there is a need to store and share global configuration settings across the application (e.g., database connection strings, file paths, API keys). Say this in the interview Define — one clear sentence…
Short answer: The Singleton Pattern ensures that a class has only one instance, and it provides a global access point to that instance. This is especially useful when managing resources that should be shared across the a…
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: And subject to change. By defining expressions as objects, it’s easy to extend or modify the grammar without affecting other parts of the system.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: single button or command (like WatchMovie()), where the user only needs to press one button to turn everything on.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: mplifier: public class Amplifier { public void On() => Console.WriteLine("Amplifier is on."); public void Off() => Console.WriteLine("Amplifier is off."); } DVDPlayer: public class DVDPlayer { public void Play(string movie) => Console.WriteLine($"Playing {movie}."); } mplifier: public class Amplifier { public void On() => Console.WriteLine("Amplifier is… public void Off() => Console.WriteLine("Amplifier is off."); }…
{
public void Play(string movie) => Console.WriteLine($"Playing {movie}."); }
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: And subdirectories, and those subdirectories can contain further files or subdirectories. The Composite Pattern allows for easy traversal and management of this hierarchical structure.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: llow users to redo the previous undo operation.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: While adding new operations is easy, adding new element types can be challenging. Every new element requires modifying all existing visitor classes to implement the new Visit method.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The elements in the object structure (Book, Fruit) implement the Accept method, which is designed to accept a visitor. This method typically calls the appropriate visit method (Visit(Book book) or Visit(Fruit fruit)) on the visitor.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The IShoppingCartVisitor interface defines the operations that can be performed on the IShoppingCartElement objects. In this case, the visitor defines Visit(Book book) and Visit(Fruit fruit) methods for different product types. public interface IShoppingCartVisitor
{ void Visit(Book book); void Visit(Fruit fruit); }
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The pattern enforces a rigid structure for the algorithm, meaning that subclasses cannot change the overall order or flow of steps. If you need to adjust the structure of the algorithm, it may require changes to the base class.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: When you have a series of steps that must be followed in a specific order, but some of the steps need to be customized for different situations. For example, when creating frameworks for processes like data parsing, game initialization, or file handling.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The common structure of the algorithm is defined in the abstract class, so subclasses don't have to repeat the same steps. Only the details of specific steps need to be implemented in each subclass.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The Cook method in the Recipe class defines the skeleton of the algorithm. It calls GatherIngredients, Prepare, CookMethod, and Serve in a fixed order. The first three steps are abstract and need to be implemented by subclasses, while the Serve method is concrete and always works the same way.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The Recipe class defines the template method Cook, which contains the algorithm's skeleton. It delegates the implementation of specific steps (GatherIngredients, Prepare, and CookMethod) to subclasses by making them abstract. The Serve method is concrete and always executes the same way for all recipes. public abstract class Recipe
{
public void Cook()
{ GatherIngredients(); Prepare(); CookMethod(); Serve(); } protected abstract void GatherIngredients(); protected abstract void Prepare(); protected abstract void CookMethod(); private void Serve() => Console.WriteLine("Serving the dish.");
}
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: Use the Strategy Pattern when you have multiple algorithms for a specific task and want to switch between them easily (e.g., sorting, encryption, compression).
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The strategy pattern allows algorithms to be swapped at runtime, making the code more flexible. You can add new sorting algorithms without changing the context class, thus adhering to the Open/Closed Principle (open for extension, closed for modification).
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The ISortStrategy interface allows any concrete sorting algorithm to be swapped in and out. The context (Sorter) doesn't need to know the specifics of the algorithm; it only knows that it can call the Sort method on any strategy that implements this interface.
Discount rules are Strategy objects: PercentageOff, FlatOff, BuyOneGetOne—checkout picks one without a huge if/else.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The ISortStrategy interface defines a common method (Sort) that all concrete strategies must implement. This allows clients (in this case, the Sorter class) to work with any strategy that implements this interface. public interface ISortStrategy
{ void Sort(List<int> list); }
Discount rules are Strategy objects: PercentageOff, FlatOff, BuyOneGetOne—checkout picks one without a huge if/else.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The State Pattern introduces a separate class for each state, which can lead to an increase in the number of classes in the system. For systems with many states, this can cause complexity.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: When you have an object that can be in multiple predefined states and its behavior depends on the current state (e.g., traffic lights, order processing systems).
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The ITrafficLightState interface defines a method (Change) that allows the traffic light to transition between states (Red, Green, Yellow).
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The ITrafficLightState interface defines a method (Change) that allows the state to transition to another state. The method accepts a TrafficLight object as a parameter to facilitate the state change. public interface ITrafficLightState { void Change(TrafficLight light); } Each concrete state class (Red, Green, Yellow) will implement this interface, defining the specific behavior of the traffic light for that state.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The Singleton can act as a global variable, which may make it harder to track state changes and can lead to issues with dependencies.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The singleton instance is created when the class is loaded, guaranteeing thread safety without locking. However, it may have a slight performance overhead due to the instance being created regardless of whether it is needed. public class Singleton
{
private static readonly Singleton _instance = new Singleton();
private Singleton() { }
public static Singleton Instance => _instance;
}
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: When there is a need to store and share global configuration settings across the application (e.g., database connection strings, file paths, API keys).
Gang of Four Patterns Design Patterns in C# · GoF Patterns
Short answer: The Singleton Pattern ensures that a class has only one instance, and it provides a global access point to that instance. This is especially useful when managing resources that should be shared across the application, such as configuration settings, logging, or database connections.
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Install Toolliyo like an app Free
Home-screen access to tutorials, coding practice & career tools — no app store needed.
On iPhone/iPad: tap Share then Add to Home Screen.