Design a suggestion system
MediumLet'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
Think like an Architect
Before revealing the requirements, imagine you're in the interview right now."How would you clarify the scope with your interviewer?"