Daily iOS
iOS system design

In-app notification center

Design the "notifications" tab of a commerce app: a list of order, promotion, and shipping notifications, read/unread state, and a badge. Focus on local storage and syncing read state with the server.

How would an interviewer hear this answer? You'll see whether they'd move on, dig in, or say no, and which sentences would trip you up. Your score doesn't change.
See the short answer

The server is the source and the client caches pages in a local DB. Marking as read applies locally right away and syncs to the server in batches (outbox). Deltas arrive through silent push, and on launch and foreground entry you refresh with a since cursor. For 1000+ items, use cursor pagination, DB indexes, diffable partial updates, and a server-aggregated unread count.

Share a question