← Google Interview Insights

Google·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Jul 2026

Summary

Google system design round for a software engineering role. The whole question was basically one big prompt covering a lot of ground, which was both nice (clear scope) and stressful (no obvious place to start).

Questions Asked (1)

Q1

Design a service that tracks each user's watched video history and lets them resume playback from where they left off. Cover the API design, data model, idempotent progress updates, cross-device sync, privacy controls, and how you'd handle read and write scale.

System DesignAPI & IntegrationsData Modeling
Author's notes

This was a lot to hold in your head at once.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements (e.g., scale, latency, privacy regulations) and then walk through the design in layers: API, data model, idempotent updates, cross-device sync, privacy, and scalability. Emphasize trade-offs and justify choices based on Google-scale constraints.

Pro tip: Highlight idempotency and conflict resolution early, as they are critical for cross-device sync and often overlooked. Also, mention that you'd use a write-optimized store for progress updates and a read-optimized store for history queries to handle scale.

1. Clarify Requirements and Scope

Ask questions to understand scale (users, videos, updates per second), latency requirements, privacy regulations (e.g., GDPR, COPPA), and cross-device expectations. Define functional and non-functional requirements.

2. Design API and Data Model

Define RESTful or gRPC endpoints for updating progress, fetching history, and resuming playback. Design a data model that captures user-video progress with timestamps and versioning for conflict resolution.

3. Ensure Idempotent Updates and Cross-Device Sync

Use idempotency keys or version numbers to make progress updates idempotent. Implement a sync strategy (e.g., last-write-wins with vector clocks or CRDTs) to handle concurrent updates from multiple devices.

4. Address Privacy and Security

Incorporate privacy controls such as opt-in/opt-out, data anonymization, and access controls. Ensure compliance with regulations and provide users with transparency and control over their data.

5. Scale Reads and Writes

Choose appropriate storage solutions (e.g., Bigtable for writes, Spanner for strong consistency, or a combination) and use caching, sharding, and async processing to handle high read/write throughput.

Key Points to Mention

  • Idempotency keys or versioning to prevent duplicate updates and ensure exactly-once semantics.
  • Conflict resolution strategies (e.g., last-write-wins, vector clocks, CRDTs) for cross-device sync.
  • Data model design: user_id, video_id, position, timestamp, device_id, and version.
  • Privacy controls: user consent, data retention policies, and anonymization.
  • Scalability: sharding by user_id, caching frequently accessed data, and using a write-optimized store.
  • API design: endpoints for update, get history, and resume, with proper authentication and rate limiting.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.