How the interviewer opens it
“Design a system that recommends relevant articles or posts from a large catalog. Users expect fast responses.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
What to clarify first
- Product behavior
- Users and traffic
- Catalog
- Read and write mix
- Relevance and signals
- Cold starts
- Latency
- Freshness and consistency
- Durability and retention
- Deployment and exclusions
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
Scope of a strong answer
Core requirements
- Return a page of relevant posts for a user.
- Support new users and new posts.
- Reflect recent user actions in later recommendations.
- Exclude deleted posts and honor explicit user blocks.
Usually out of scope
- Content creation and delivery
- Ads and notifications
- Detailed model mathematics
- Development of content safety classifiers
- Multiple regions for the initial release
What interviewers ask about
- Catalog scale
- The catalog contains 200 million posts. The service must return 20 useful posts without breaking latency or deletion rules.
- New users and new posts
- New users have no known interests. New posts have no response history. Popularity alone can prevent useful content from receiving its first exposure.
- Recent-action freshness
- Recent actions can show new interests or accidental choices. Late events and recovery tasks can restore old preferences.
- Recommendation quality
- The service controls which posts receive exposure. Feedback reflects both user interests and the service's earlier choices.
Common mistakes
- The service scores every catalog post for each request.
- The model treats an absent click as proof that a user dislikes a post.
- The service uses popularity alone for every new user and every new post.
- The service updates user profiles only once each day.
- The team measures clicks without useful reading or hide rates.
- The service returns cached results without current content and block checks.
The bar by level
- Senior (L5/E5)
- Sizes retrieval and rank capacity. Defines latency budgets and fallbacks. Handles recent actions, duplicate events, profile versions, and authoritative blocks. Proposes a useful experiment.
- Staff (L6+/E6+)
- Defines freshness and eligibility contracts across failures. Controls exposure bias and harm to user groups. Plans compatible model releases, index releases, replay, and recovery. Quantifies quality versus cost.