NEW: ML Mock & Coaching now available

Overview

Types of Interviews

Understanding the different types of system design interviews and how to approach each one.

3 min read

System design interviews come in several flavors, and understanding which type you're facing is crucial for proper preparation. Each type has different expectations, evaluation criteria, and approaches.

Product Design Interviews

Product design interviews are the most common type of system design interview. You'll be asked to design a user-facing application like Twitter, Uber, or Netflix.

What Interviewers Look For

  • User empathy: Understanding who uses the product and why
  • Feature scoping: Prioritizing what to build
  • Scalability mindset: Designing for millions of users from the start
  • API clarity: Clean, intuitive interfaces

Example Questions

  • Design Twitter/X
  • Design a food delivery app like DoorDash
  • Design Instagram
  • Design a video streaming service
Tip

For product design interviews, always start by clarifying who the users are and what their primary use cases are. This demonstrates product thinking.

Infrastructure Design Interviews

Infrastructure design interviews focus on building the foundational systems that other applications depend on. These are typically asked at more senior levels.

What Interviewers Look For

  • Deep technical knowledge: Understanding of distributed systems
  • Trade-off analysis: CAP theorem, consistency models
  • Fault tolerance: Handling failures gracefully
  • Performance optimization: Latency, throughput considerations

Example Questions

  • Design a distributed cache (like Redis)
  • Design a message queue (like Kafka)
  • Design a rate limiter
  • Design a URL shortener

Object-Oriented Design (OOD)

Object-oriented design interviews, sometimes called "low-level design," focus on the detailed design of a specific component using OOP principles.

What Interviewers Look For

  • Clean abstractions: Well-defined classes and interfaces
  • Design patterns: Appropriate use of Factory, Strategy, Observer, etc.
  • SOLID principles: Single responsibility, open/closed, etc.
  • Extensibility: Easy to add new features

Example Questions

  • Design a parking lot system
  • Design an elevator system
  • Design a library management system
  • Design a chess game

Machine Learning System Design

A specialized type of interview for ML/AI roles, focusing on building ML-powered applications.

What Interviewers Look For

  • ML fundamentals: Understanding of model training, evaluation
  • Data pipelines: Feature engineering, data collection
  • Production ML: Model serving, monitoring, retraining
  • Product integration: How ML enhances user experience

Example Questions

  • Design a recommendation system
  • Design a search ranking system
  • Design a fraud detection system
  • Design a content moderation system

How to Identify the Interview Type

Before your interview, try to identify which type you'll face:

  1. Check the job description: ML roles often have ML system design
  2. Ask your recruiter: They can usually tell you the format
  3. Research on interview prep sites: Look for company-specific information
  4. Consider the level: Infrastructure design is more common for senior roles

Preparation Strategy

Interview Type Preparation Guide
NameDescription
Product DesignFocus: User flows, APIs, scaling | Practice: Design popular apps
InfrastructureFocus: Distributed systems, trade-offs | Practice: Study building blocks
OODFocus: Design patterns, SOLID | Practice: Practice with coding problems
ML System DesignFocus: ML pipelines, model serving | Practice: ML-specific resources
Warning

Don't assume all system design interviews are the same. Preparing for product design won't help you in an infrastructure interview.

What's Next

Now that you understand the types of interviews, let's dive into the key concepts you'll need regardless of which type you face.