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:
- What changed on the server after the last point I applied?
- 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!