Which design patterns do you use most often?

Your hiring manager may ask this question to gauge your knowledge of abstract and theoretical concepts and to get a better understanding of your work process. Before your interview, it is often helpful to review common software engineering terminology to prepare yourself for specific or technical questions. This may help you remember the technical names for patterns and processes to best articulate what you use each day.

Example: “For gaming projects, I implement my level state and player characters as singletons, and, for enemy creation, I use a factory to produce different enemies based on inputs. However, if a game is more complex, I may switch to using a compositional model, such as an Entity-Component-System. The system functions would leverage dependency injection to better separate concerns and increase the testability of the game logic.”