Design viewing history and resume service

Quick Overview

This question evaluates a candidate's ability in large-scale system design, covering distributed state management, API design, data modeling for per-user progress, idempotent update semantics, cross-device synchronization, and privacy/compliance considerations.

Design viewing history and resume service

Company: Google

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a service that stores each user’s watched video list and supports resuming a title from the last watched timestamp. Define APIs, data model, idempotent progress updates, cross-device synchronization, privacy controls, and read and write scale.

Overview: This question evaluates a candidate's ability in large-scale system design, covering distributed state management, API design, data modeling for per-user progress, idempotent update semantics, cross-device synchronization, and privacy/compliance considerations.

|Home/System Design/Google
Google logo
Google
Sep 6, 2025
hardSoftware EngineerTechnical ScreenSystem Design
14
0

Design: Watched-Video and Resume Playback Service

Context

Design a backend service that records each user’s watched video list and lets them resume any title from the last watched timestamp across devices. Assume a large-scale, consumer-facing video platform with millions of users and multiple device types (mobile, web, TV).

Requirements

  1. Core features
    • Store a per-user list of watched videos with last-watched timestamp and status (playing/paused/completed).
    • Resume playback on any device from the last saved timestamp.
  2. APIs
    • Define read/write APIs for single and batch operations, idempotent progress updates, and cross-device sync notifications.
  3. Data model
    • Schema for progress per (user, video) and a browsable watch history list.
  4. Idempotent updates
    • Handle network retries and out-of-order events from multiple devices/sessions.
  5. Cross-device synchronization
    • Near-real-time updates when a user pauses/stops on one device and resumes on another.
  6. Privacy and controls
    • Support “hide from history,” data minimization, deletion/export, encryption, and access control.
  7. Scale
    • State read and write access patterns and how to scale storage, throughput, and latency.

What to deliver

  • High-level architecture.
  • API definitions (endpoints, request/response shapes, idempotency semantics).
  • Data model (including indexes/keys) and storage choices.
  • Update semantics and conflict resolution across devices.
  • Privacy controls and compliance considerations.
  • Read/write scale estimates and capacity strategies.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...