Design a suggestion system

Medium
Company: Premium
GoogleAmazon

Let's refine our suggestion system. Imagine we're building a system that suggests items to users based on their past interactions and preferences. This isn't about ranking search results; it's about proactively suggesting items a user might be interested in, even if they haven't explicitly searched for them. Think "Recommended for You" sections on e-commerce sites or suggested videos on streaming platforms. The core idea is to analyze user behavior (views, purchases, likes, etc.) to identify patterns and similarities, and then suggest items that other similar users have interacted with positively. This update will add the capability to filter suggestions based on a complex set of criteria that can be defined and adjusted at runtime, and to support different similarity metrics. We also want to make the system easily extensible with new types of interactions and suggestion strategies.

Requirements

Interview Simulation

Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.

Interviewer

Let's start by understanding the scope. What are the core functionalities this system needs to provide?

💡 Interview Tip

Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.

Press ⌘ + Enter to submit

Premium Content

View detailed solutions.

UNLOCK PREMIUM