Content & privacy
Architecture · INTERVIEW GUIDE

System design

Architecture decisions, distributed systems, and ten design scenarios.

Practice this topic
Filters
6 questions

How should I start a system design answer?

System design·Architecture & API design

System design is the process of choosing components, data flows and trade-offs that meet a product's requirements. It starts with what users need and the scale and failure conditions the system must handle. A design is easier to evaluate when assumptions are explicit instead of hidden behind a list of technologies.

Intermediate2 min read

Monolith vs modular monolith vs microservices?

System design·Architecture & API design

A monolith is deployed as one application, a modular monolith keeps clear internal feature boundaries within that deployment, and microservices are independently deployable services. These choices affect how teams change code, scale workloads and handle failure. Microservices reduce some coupling but introduce network calls, distributed data and operational coordination.

Intermediate2 min read

What are layered, clean and hexagonal architecture?

System design·Architecture & API design

Layered architecture separates responsibilities such as HTTP handling, business rules and persistence. Clean and hexagonal architecture emphasize keeping core business decisions independent of frameworks and external systems. Ports describe what the core needs, and adapters implement those contracts for a particular database or service.

Intermediate2 min read

What are DDD, SOLID and dependency inversion?

System design·Architecture & API design

Domain-driven design models software around business concepts and their boundaries. SOLID is a group of design principles for keeping responsibilities focused and dependencies manageable. Dependency inversion is one of those principles: high-level business policy depends on an abstraction rather than a particular low-level implementation.

Intermediate2 min read

What makes a good REST API?

System design·Architecture & API design

A REST-oriented API exposes resources through consistent HTTP operations and representations. A useful API contract explains identifiers, input rules, outcomes, errors and pagination so clients do not need to guess. The goal is predictable behavior and evolvable interfaces, not forcing every business operation into a simplistic CRUD shape.

Intermediate2 min read

How do I choose SQL vs MongoDB?

System design·Architecture & API design

Relational databases organize data into related tables with constraints, while MongoDB organizes records as documents that can embed related values. The choice should follow transaction boundaries, relationships, queries and operational needs. Both can scale and both can fail under poor data modeling or inefficient access patterns.

Intermediate2 min read

Difficulty is an editorial estimate. Completion means you chose to mark a question as understood.