Grokking Modern API Design Interview
Vote

0% completed

Offline, Sync, and Conflict

A person edits a note while a phone is offline.

During the same hour:

  • a laptop changes the note's title;
  • another user deletes a second note; and
  • the phone application is restarted twice.

When the phone reconnects, "send the latest copy" is not a design.

The client needs answers to two questions:

  1. What changed on the server after the last point I applied?
  2. What happens when I send my local changes and the server changed too?

The first question produces a changes operation and a durable sync position.

The second produces:

.....

.....

.....

Like the course? Get enrolled and start learning!