Bird
Raised Fist0
HLDsystem_design~20 mins

Video recommendation system in HLD - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Video Recommendation System Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Architecture
intermediate
2:00remaining
Identify the correct high-level architecture for a video recommendation system

Which of the following diagrams best represents a scalable high-level architecture for a video recommendation system that handles millions of users and videos?

AUser requests → Load Balancer → Cache → Recommendation Service → Video Metadata DB → User
BUser requests → Cache → Load Balancer → Recommendation Service → Video Metadata DB → User
CUser requests → Recommendation Service → Load Balancer → Cache → Video Metadata DB → User
DUser requests → Load Balancer → Recommendation Service → Video Metadata DB → Cache → User
Attempts:
2 left
💡 Hint

Think about the order of components to optimize latency and scalability.

scaling
intermediate
2:00remaining
Estimate the capacity needed for the recommendation service

A video recommendation system expects 10 million daily active users, each making 20 recommendation requests per day. Each request requires 200ms of CPU time on the recommendation service. How many recommendation service instances are needed to handle peak load assuming 10% of daily requests happen in the busiest hour and each instance can handle 50 requests per second?

A400 instances
B800 instances
C1600 instances
D200 instances
Attempts:
2 left
💡 Hint

Calculate total requests in peak hour, then divide by requests per instance per second and seconds in an hour.

tradeoff
advanced
2:00remaining
Choose the best data storage for user watch history

Which storage option is best suited for storing user watch history to support fast personalized recommendations in a video recommendation system?

ARelational database with normalized tables
BDistributed key-value store with TTL (time-to-live)
CDistributed graph database
DFlat files stored on a network file system
Attempts:
2 left
💡 Hint

Consider the relationships between users and videos and the need for fast traversal.

🧠 Conceptual
advanced
2:00remaining
Identify the main challenge in real-time recommendation updates

What is the primary challenge when updating recommendations in real-time as users watch videos in a large-scale video recommendation system?

AUsing batch processing to update recommendations once a day
BStoring all user data in a single database for consistency
CAvoiding any caching to always serve fresh data
DEnsuring low latency while processing large volumes of streaming data
Attempts:
2 left
💡 Hint

Think about the balance between speed and data volume.

component
expert
3:00remaining
Determine the correct request flow for personalized video recommendations

Given a video recommendation system with components: User Interface (UI), API Gateway, Recommendation Engine, User Profile Store, Video Metadata Store, and Cache, what is the correct sequence of steps when a user requests personalized recommendations?

A1,3,2,4,5,6,7
B1,2,3,4,5,6,7
C1,2,4,3,5,6,7
D1,2,3,5,4,6,7
Attempts:
2 left
💡 Hint

Consider the logical order of request handling and cache usage.

Practice

(1/5)
1. What is the primary goal of a video recommendation system?
easy
A. To store all videos in a single database
B. To delete unpopular videos automatically
C. To compress videos for faster streaming
D. To personalize video content to increase user engagement

Solution

  1. Step 1: Understand the purpose of recommendation systems

    Recommendation systems aim to suggest content that matches user preferences to keep them engaged.
  2. Step 2: Identify the main goal in video platforms

    Personalizing video content helps users find videos they like, increasing engagement and satisfaction.
  3. Final Answer:

    To personalize video content to increase user engagement -> Option D
  4. Quick Check:

    Personalization = Engagement [OK]
Hint: Focus on user benefit and engagement goals [OK]
Common Mistakes:
  • Confusing storage with recommendation
  • Thinking compression is the main goal
  • Assuming deletion is automatic
2. Which component is essential for real-time video recommendations?
easy
A. Real-time data streaming and processing
B. Offline video transcoding
C. Batch processing system only
D. Static video metadata storage

Solution

  1. Step 1: Identify real-time needs in recommendations

    Real-time recommendations require processing fresh user interactions quickly.
  2. Step 2: Match components to real-time processing

    Data streaming and processing systems handle live data to update recommendations instantly.
  3. Final Answer:

    Real-time data streaming and processing -> Option A
  4. Quick Check:

    Real-time = Streaming & Processing [OK]
Hint: Real-time means instant data handling, not batch [OK]
Common Mistakes:
  • Choosing batch processing for real-time needs
  • Confusing transcoding with recommendation
  • Ignoring dynamic data updates
3. Consider a system where user watch history is updated every hour, but recommendations are generated in real-time. What is the likely output when a user watches a new video?
medium
A. The new video immediately influences recommendations
B. Recommendations update only after the next hourly batch
C. Recommendations never change after initial setup
D. The system crashes due to conflicting updates

Solution

  1. Step 1: Understand real-time recommendation generation

    Real-time generation means recommendations can change instantly based on new data.
  2. Step 2: Analyze watch history update frequency

    Even if watch history updates hourly, real-time components can use streaming data to update recommendations immediately.
  3. Final Answer:

    The new video immediately influences recommendations -> Option A
  4. Quick Check:

    Real-time generation = Immediate update [OK]
Hint: Real-time generation overrides batch delay [OK]
Common Mistakes:
  • Assuming batch update controls recommendation timing
  • Thinking system crashes on data conflict
  • Believing recommendations are static
4. A video recommendation system is showing outdated videos despite recent user activity. What is the most likely cause?
medium
A. User profiles are deleted frequently
B. Real-time data pipeline is broken or delayed
C. Video metadata is missing thumbnails
D. Batch processing runs too frequently

Solution

  1. Step 1: Identify the symptom - outdated recommendations

    Outdated videos suggest the system is not processing recent user actions timely.
  2. Step 2: Check real-time data pipeline status

    If the real-time pipeline is broken or delayed, fresh user data won't update recommendations promptly.
  3. Final Answer:

    Real-time data pipeline is broken or delayed -> Option B
  4. Quick Check:

    Outdated = Pipeline delay [OK]
Hint: Outdated results often mean broken real-time updates [OK]
Common Mistakes:
  • Blaming user profile deletion
  • Confusing metadata issues with recommendation freshness
  • Assuming batch runs cause outdated data
5. To scale a video recommendation system for millions of users, which design choice best balances freshness and computational cost?
hard
A. Generate recommendations on-demand without caching
B. Only use batch processing with daily updates
C. Use a hybrid approach combining batch model training with real-time feature updates
D. Store all user data in a single monolithic database

Solution

  1. Step 1: Understand scalability challenges

    Millions of users require efficient computation and timely recommendations without overload.
  2. Step 2: Evaluate design options for freshness and cost

    Hybrid systems use batch training for accuracy and real-time updates for freshness, balancing cost and performance.
  3. Final Answer:

    Use a hybrid approach combining batch model training with real-time feature updates -> Option C
  4. Quick Check:

    Hybrid approach = Freshness + Cost balance [OK]
Hint: Hybrid systems combine batch and real-time strengths [OK]
Common Mistakes:
  • Relying only on batch causes stale data
  • On-demand without caching is costly
  • Monolithic DB limits scalability