How do you decide where to draw service boundaries?
Assesses fundamental understanding of Microservices conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
Boundaries should follow the business domain, not technical layers. Techniques:
- Domain-Driven Design bounded contexts: each context has its own model and ubiquitous language. A word like "account" may mean different things in billing and in identity, which signals separate services.
- Business capability mapping: align services to what the business does, such as pricing, fulfilment or recommendations.
- Subdomain classification: invest careful design in the core domain and keep generic or supporting subdomains simpler.
- Team topology: a service should be ownable end to end by a team, consistent with Conway's Law.
- Change frequency and scale: things that change together or scale together belong together.
Good seam: Ordering | Payments | Inventory | Notifications
Bad seam: Controllers | Services | DAOs
Validate boundaries with real usage; wrong ones show up as chatty synchronous calls, shared tables and coordinated releases. The Strangler Fig pattern lets you peel services out of a monolith incrementally along these seams rather than doing a risky big-bang rewrite.
Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.