Is a monolith bad architecture?
“Defend or attack the statement "a monolith is bad architecture". How does a monolith scale, and where is its real ceiling?”
What this tests
- Whether the candidate separates deployment shape from code quality
- Concrete knowledge of how a monolith scales horizontally
- Identification of the database as the actual ceiling
- Naming the real disadvantages honestly rather than dismissing them
Answers by level
Read the beginner answer first and notice what is missing.
The statement is false as stated. A monolith is one deployable; it says nothing about the boundaries inside it. Its advantages are real: one build, one deploy, local development that runs the whole product, in-process calls that cannot time out, and database transactions that span the whole domain. Most distributed-systems problems simply do not exist.
A monolith scales horizontally the same way services do: keep it stateless, run N copies behind a load balancer, put sessions in Redis. What does not scale that way is the database, and that ceiling is the same whether the app tier is one process or twenty. The honest disadvantages are elsewhere: a large codebase where boundaries erode, coupled deploys when many teams share one release, and inefficient scaling when one module needs far more CPU than the rest and drags every copy with it.
So the question is not monolith or not, but whether its internal boundaries are enforced and whether the team has hit one of those specific limits.
Green flags · Red flags
- Separates deployment shape from internal structure
- Describes horizontal scaling of a stateless monolith behind an LB
- Identifies the database as the shared ceiling
- Lists the genuine disadvantages (deploy coupling, heterogeneous scaling, boundary erosion)
- Mentions transactions and local development as concrete benefits
- "Monoliths do not scale."
- Cites Netflix or Amazon as proof without matching their scale or team size
- Cannot say how a monolith runs on more than one server
- Dismisses the disadvantages entirely (the opposite error)