✏️ Explanatory Question
The most common failure is splitting by technical layer rather than by domain.
Good boundaries:
Bad boundaries: splitting into "read service" and "write service" for the same entity; a service so small that every feature needs three of them to change together (a distributed monolith); and splitting before the domain is understood.
The test to state: "If a typical feature request requires changing three services and coordinating their deploys, the boundaries are wrong." A well-bounded service can ship a feature alone.
Safest position in an interview: start with a modular monolith with clear internal boundaries, then extract services where a boundary has proven itself under real load.