Backend Engineer
When would you split a monolith into separate services, and when would you argue against it?
What the interviewer is looking for
- This question tests distributed systems & scalability. Discusses queues, retries, idempotency, caching and failure modes, and reasons about when added complexity is justified.
- Strong answers: Clear reasons like independent scaling or team ownership, awareness of operational and consistency costs, starting with modular boundaries, and incremental extraction.
- Likely follow-up: Which piece would you pull out first, and why?
Another way it may be asked: Your team wants to break the big app into microservices. How would you decide whether that's a good idea?
A structure to follow: Answer, explain, example, limits
- Step 1
Answer
Give your direct answer in the first sentence so the interviewer knows where you are going.
- Step 2
Explain
Say how it works or why you would do it that way, in plain words before jargon.
- Step 3
Example
Anchor it in something you have actually done or seen, with the detail that shows hands-on experience.
- Step 4
Limits
Say when your approach would not be the right one. It shows judgement.
This is guidance on shape, not a script. Use your own real experience and facts; never invent details to fill a gap. See the STAR guide and answer frameworks.
Common slips
- Reciting a definition without showing you have applied it.
- Using terms you cannot explain if asked a level deeper.
- Claiming experience beyond what you can discuss in detail.
How to practise it
Say the answer in 90 seconds, then answer the follow-up as if it were a new question.
Related questions
- How would you design a system that sends order confirmation emails reliably, even if the email provider is down for a while?
- If you were building an API for a simple to-do app, what endpoints would you create, and how would you handle errors?
- What is a database index, and how would you decide whether a column needs one?
- How do you protect a web application from someone sending malicious input, such as an SQL injection attack?
- Tell me about a time you changed a database schema on a live system. How did you do it without downtime?