Lifecycle, offline sync, and mobile system design for Android and iOS loops - plus the machine coding round that decides most of them.
Mobile loops test constraints the web does not have: an unreliable network, a device that kills your process at will, battery and memory budgets, and an app store release cycle that makes a bad ship expensive to undo. Mobile system design questions are almost always about those constraints rather than about server scale.
Offline sync is the canonical question and it comes up in some form in most senior mobile loops. Design a feature that works with no connection, queues writes locally, resolves conflicts when the connection returns, and does not show the user a state the server later rejects. Answers that assume connectivity fail immediately.
The platform fundamentals round is unforgiving because the failure modes are specific: Android process death and saved state, configuration changes, and coroutine scoping; on iOS, retain cycles, main-thread work and the structured concurrency model. These are memorisable and interviewers expect precision.
45 min
Lifecycle, process death, memory management, threading and concurrency model.
60-90 min
Build a working screen: paginated list, image loading with cache, offline-capable form.
60 min
Offline sync, caching, conflict resolution, push, and app architecture layering.
45 min
Present at big tech, usually medium difficulty.
Everything that follows from an unreliable client. Offline queuing, conflict resolution, local storage limits, battery and data budgets, background execution restrictions, and the fact that a bad release takes days to roll back through an app store rather than minutes.
The system design and machine coding rounds transfer almost entirely. The fundamentals round does not - lifecycle, process death and threading are platform-specific, and interviewers expect precise answers about the platform you claim.
It is usually the heaviest round at product companies. Build the standard screens repeatedly - paginated list with retry, image grid with caching, form with validation and offline queuing - until the scaffolding is automatic and your time goes to edge cases.
Design an offline-first feature and get pushed on the conflict cases.