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)