Design an Offline-First Client That Syncs Edits and Resolves Multi-Device Conflicts
Company: Google
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Overview: Design the client side of an app where users keep editing data offline, store every edit locally, and sync with the server when the network returns. Covers the local data model and edit queue, a sync protocol that is safe to retry, and detecting and resolving version conflicts when several devices change the same data.
Read the full Google Software Engineer interview experience this question came from