Interview round · every platform

Mobile system design interview prep

A mobile system design round is not the backend round with a phone drawn on the left. It is scored on what the client has to survive: no network, a killed process, a slow device, an old app version that stays installed for a year.

For: Senior and Staff iOS, Android, Flutter and React Native engineers with a design round in the loop.

What the round scores

Part of the roundWhat the interviewer writes down
Requirements and scopeWhether you ask what the feature must do offline, on which devices, and for how many users before you draw anything.
Client architectureWhere the source of truth lives on the device, how layers talk, and what owns each piece of state.
Data, cache and syncCache sizing by cost, invalidation, conflict handling and what the user sees while sync is running.
Platform constraintsLifecycle, background limits, memory pressure, battery and the network you get on a train.
Release and operationFeature flags, staged rollout, old clients in the field, and how you would know the design is failing.

Loops differ by company. This is the common shape of the round in senior mobile loops, not a promise about any one employer.

A weak answer and a strong one

Weak

Draws a server, a database and an arrow to the app, then talks about the backend.

Strong

Starts on the device: what is stored, what happens with no network, and what the user sees during a retry.

Weak

Adds a cache because designs have caches.

Strong

Sizes the cache by cost, says what evicts first, and names the one number to measure before tuning it.

Weak

Treats the app version as current forever.

Strong

Plans for the old client that never updates: API versioning, flags and a kill switch.

For the mobile system design interview as an explicit round, at Senior, Staff and architect level, on iOS or Android. It is about the decisions behind the diagram: how a mobile system evolves, migrates, ships and is operated, which is where senior design rounds are decided. It is not for platform fundamentals or last-minute triage.

The second question

Follow-ups that decide the round

“The user edits the same note on two devices while offline. What happens when both come back?”

Tests whether your sync design has a conflict rule or only a happy path.

“The feed image cache hits memory warnings on a three-year-old phone. What do you change first?”

Tests whether you measure and size by cost instead of guessing a count.

“Half of your users are on a version from last year. The API has to change. How?”

Tests whether the design survives the release train, which a backend round never asks.

How to prepare for it

  1. Learn the shape of the round

    Read how the round is run and scored, then the platform version you will face (iOS or Android).

  2. Practise two scenarios end to end

    An offline-first editor and an image-heavy feed cover sync, conflict, cache and memory, the four areas that recur.

  3. Rehearse the constraint change

    For each design, have someone change one fact (no network, 10x users, old clients) and answer out loud.

  4. Add the Staff layer if you need it

    Migration, rollout and who else the design affects. That is where Staff is scored against Senior.

Also for this round

For senior mobile engineers moving toward Staff, architect or tech lead scope, where a design or architecture round is judged on how far the answer reaches beyond the app. It connects the client to backend, security, reliability and the organisation around the system. It is not a fundamentals book and not LeetCode practice.