PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Google

Design viewing history and resume service

Last updated: Mar 29, 2026

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.

  • hard
  • Google
  • System Design
  • Software Engineer

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.

Quick Answer: 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.

Related Interview Questions

  • Design a Security Monitoring Framework - Google (medium)
  • Design an Online Coding Judge Platform - Google (medium)
  • Design Calendar Event Conflict Handling - Google (medium)
  • Design a pub-sub replay system - Google (hard)
  • How to host many domains on one IP? - Google (medium)
Google logo
Google
Sep 6, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
7
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.

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Google•More Software Engineer•Google Software Engineer•Google System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.