Step 2: Propose a high-level design and get buy-in
Play this lessonThis lesson comes with an interactive animation you can break, a live-code challenge and a chapter quiz.Now develop a high-level design together with the interviewer. Treat them as a teammate.
- Draft an initial blueprint and ask for feedback.
- Draw box diagrams with the key components: clients (mobile/web), APIs, web servers, data stores, cache, CDN, message queue…
- Do back-of-the-envelope calculations to check the blueprint fits the scale. Think out loud.
- If possible, walk through a few concrete use cases. This often reveals edge cases.
- Should you include API endpoints and the database schema? It depends on the problem. For "design Google search" that's too low-level; for a news feed it's fine.
For the news feed, the design splits into two flows: feed publishing and news feed building.
Key takeaways
- Boxes and arrows first; details later.
- Check the blueprint against estimates.
- Get the interviewer's agreement before going deeper.