API Design for Distributed Systems · TL;DR

1 min read
Mid-level10 min read
Rapid overview

TL;DR

In an interview the API is where you demonstrate that you have actually thought about the system rather than only drawn it. Three decisions carry almost all the weight: the protocol style, which follows from who the caller is rather than from preference; pagination, where offset-based paging is subtly broken on changing data; and idempotency, which is not optional in any system where a client may retry — and every network client may retry, because a timeout is indistinguishable from a slow success.

See also