Content-Based Recommendation System

A popular ML system design interview question asked at Netflix, Spotify, and Amazon.

Interview Problem

Interviewer: "Design a content-based recommendation system for a streaming platform like Netflix or Spotify. The platform has millions of users and a large catalog of content. Focus on how you would recommend content based on item characteristics rather than collaborative filtering."

This is a common ML system design interview question that tests your ability to design a recommendation system that can scale to millions of users while providing personalized recommendations.

Interview Context

Content-based recommendation systems analyze the attributes of items that a user has interacted with and recommend similar items. For example, if a user watches several sci-fi movies with a particular actor, the system might recommend other sci-fi movies featuring that actor.

Interviewers at companies like Netflix, Amazon, and Spotify frequently ask this question to assess:

  • Your understanding of recommendation systems
  • Your ability to design scalable ML systems
  • Your knowledge of feature engineering for content
  • Your approach to handling the cold start problem

Interview Constraints

Interviewer: "Let me give you some constraints for this problem:"

  • The platform has 100 million users worldwide
  • The content catalog contains 100,000 items
  • Each content item has 50-100 features (genre, actors, director, release year, etc.)
  • The system should update recommendations in near real-time as users interact with content
  • The system should be able to handle 10,000 recommendation requests per second during peak hours
  • Recommendations should be generated with low latency (< 200ms)