intermediate
Design Patterns
Use named design patterns as vocabulary for recurring creation, composition, behavior, frontend, and backend design problems.
Pattern interviews test recognition of recurring structure and judgment about cost—not Gang of Four trivia. Explain what problem a pattern solves, what it costs, and what you would use instead in a small codebase.
Coverage includes creational, structural, and behavioral GoF patterns plus frontend (container/presentational, compound components, hooks reuse) and backend patterns (repository, unit of work, service layer, DTO, DI, middleware).
On interviews: name the pattern, draw the roles briefly, and say when you would not introduce it.
Common pitfalls: pattern obsession, confusing similar patterns (strategy vs state), and patterns without a clear variation point.
Checklist:
- Start from the variation or extension need.
- Compare pattern cost to a simpler function or module.
- Map pattern to a library or framework you have used.
- Mention testability impact.