# Design a personalized content recommendation system: system design interview question

> Recommend useful content from a large catalog despite limited user history, changing interests, and strict response time targets.

Source: https://sysround.com/questions/design-personalized-content-recommendation-system
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a system that recommends relevant articles or posts from a large catalog. Users expect fast responses."

## 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

## 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 probe

### 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:** 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+:** 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.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=content-recommendations


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
