Architectural Patterns and Anti-Patterns Questions

Architecture-level patterns and the anti-patterns that signal a wrong turn. Patterns: layered and n-tier architecture, including where cross-cutting concerns like authentication, rate-limiting and tracing belong, dependency injection trade-offs, and thin-versus-fat controller design; hexagonal (ports and adapters) and clean architecture; CQRS and event sourcing; backend-for-frontend; plugin (microkernel) extension models; and the coupling, cohesion, encapsulation and separation-of-concerns principles behind them, including when each applies and what it costs. Anti-patterns: distributed monolith, chatty services, shared-database coupling, cyclic service dependencies, leaky abstractions that expose internal schemas, and golden-hammer pattern adoption. Covers the detection signals (deploy coupling, call-graph fan-out, change amplification, trace evidence), incremental remediation, and architecture governance that keeps smells from recurring. This is about diagnosing and fixing the smell in an existing design, not the monolith-versus-microservices decision itself.

EasyTechnical
98 practiced

Explain modularity as an architecture principle and how it differs from simple componentization. Give a concrete example of module boundaries for a ride-sharing service (matching, billing, routing), and describe how you'd enforce those module boundaries at the code, CI, and runtime levels.

EasyTechnical
91 practiced

Describe a typical three-tier (multi-tier) layered web architecture: presentation/UI, application/business logic, and persistence/data. For each tier, name its responsibilities, then trace how a single request flows through the system, from the client through ingress, load balancing, and the application tier down to the data tier and back. What are the trade-offs of this architecture (scalability, deployment complexity, testability) compared to a simpler two-tier design or a flatter, event-driven one?

MediumTechnical
139 practiced

Explain dependency injection (DI) and the differences between constructor injection, setter injection, and the service-locator approach. When designing a layered backend, what are the advantages and the potential pitfalls of leaning on a DI framework in your service and repository layers?

HardSystem Design
73 practiced

A developer platform is adding support for third-party plugins that execute arbitrary code. Two isolation strategies are on the table: sandboxed isolated runtimes (like WebAssembly or containers) and running plugins in-process behind a restricted API. Walk through the trade-offs (think: security blast radius, performance, and the developer experience of building and debugging a plugin) and recommend an approach, distinguishing internal trusted plugins from external third-party ones.

EasyTechnical
95 practiced

What is a 'distributed monolith' anti-pattern? Describe two signs that a microservices deployment has effectively become a distributed monolith, and propose one concrete mitigation step.

Unlock Full Question Bank

Get access to all 21 Architectural Patterns and Anti-Patterns interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.