Cracking System Design Questions

Debashis Nayak
3 min readApr 8, 2024

While in-depth technical knowledge might not be a daily requirement for product managers, having a strong grasp of system design principles is crucial. Why? Because it shows you can think critically about the big picture, collaborate effectively with engineers, and make trade-off decisions that are essential for successful product development. Let’s dive into how to approach and answer system design questions in interviews, even if you don’t have a deep coding background.

The Importance for Product Managers

  • Informed Decisions: Understanding system design empowers you to make trade-offs between features, scalability, and cost, backed by a solid understanding of their technical implications.
  • Communication is Key: System design thinking helps you communicate effectively with engineers, ensuring your product vision aligns with technical constraints and possibilities.
  • Identifying Potential Roadblocks: Anticipating bottlenecks and scalability issues early keeps projects on track, preventing costly rework down the line.

A Framework Tailored for Product Managers

Here’s a my version of the framework, with an added emphasis on the parts that matter most to a PM:

Step 1: Define the Problem Space

  • Focus on User Needs: Ask questions to clarify the why behind the system. What user problems are we solving? What are the core functionalities?
  • Prioritise Requirements: Distinguish between “must-haves” and “nice-to-haves”. Consider the trade-offs between features, cost, and potential complexity.
  • Set Realistic Constraints: What limits exist around time, budget, and available technology? This is where a PM’s real-world understanding shines.

Step 2: Design the System from a User’s View

  • Sketch a User-Focused Flow: Don’t dive into tech just yet. How will a user experience the system (e.g., sign-up, search, checkout)?
  • API Basics: Understand what APIs are needed, even generally, to support this user flow. This gives engineers a starting point for the discussion.
  • Keep it Simple: Don’t overcomplicate. A basic whiteboard-style diagram demonstrating the major user interactions is ideal.

Step 3: Dive into Decisions that Impact the User

  • Explain Trade-offs: Why might you choose database X over Y? What impact does that have on search speed vs. storage?
  • Scaling is Your Friend: How will you handle a sudden surge in users? Think load balancing, basic caching. Show you understand the system needs to grow.
  • Don’t Be Afraid of “I don’t know”: It’s better to admit technical limitations and then show how you’d find the answer collaboratively.

Step 4: Bottlenecks are a PM’s Opportunity

  • Think Like a User: Where are the points of friction in the system? Where might things slow down or break?
  • Cost vs. Performance: Can we improve the experience with tech solutions, or is this a place to redesign the user flow itself?
  • Real-World Data: Consider peak usage times and estimate the volume. This makes your scaling suggestions more concrete.

Step 5: Review and Show Your Growth Mindset

  • Highlight Key Decisions: Why did you make the choices you did? Show you considered user needs, constraints, and scalability together.
  • Admit Limitations: Where would you need more technical input? This demonstrates self-awareness and a collaborative approach.

Product managers don’t need to be system architects, but demonstrating a solid system design thought process is invaluable. Focus on user needs, clear communication, and understanding the trade-offs within constraints — that’s where product managers can truly shine in these interviews.

--

--

Debashis Nayak

Product manager by day, aquascaper by night. Transforming ideas into user-centric solutions with code & creativity. Let's build! #ProductManagement