Interview prep · iOS and Android
Mobile system design interview: how Meta, Google, Uber and others test it
The mobile system design interview is the round where an iOS or Android engineer designs an app or a client library out loud. Most guides teach a framework for answering it. This one is about how companies actually run it: who asks it and at which level, the prompts candidates report, the follow-ups, and what got people turned down. The constraints are the test, and the interviewer expects you to raise them.
Updated 12 October 2026 · from candidate reports dated 2016 to 2026 and company pages
The short version
- Meta, Google, Uber, DoorDash and Lyft run a mobile design round for iOS and Android engineers, mostly from mid-level up.
- The prompts candidates report most are a client SDK or library, and a chat app with images.
- Some mobile candidates still get a backend design question. Ask your recruiter which one you have.
- The follow-ups keep raising the difficulty: pagination, offline edits, sync, a bad network.
- Candidates fail by starting with servers, staying too simple, or waiting to be asked about offline and caching.
Is your round mobile or backend?
This is the question candidates ask most, and the honest answer is that it depends on the interviewer. One candidate wrote that “some interviewers are focused completely on frontend side, some want you to shine on FE + BE both”. Another found that starting with the backend got them pulled back to the app, and starting with the app got them pulled to the backend. Candidates at Meta (2017), Google (2022) and Amazon (2025) were given a design question with no mobile angle at all, and one Android engineer put it down to the interviewer not being a mobile developer.
Recruiters do not always know either. One candidate's written guide described a generic system design round, and the recruiter, asked directly, confirmed it would be mobile. So ask, then prepare for both: the app in depth, and enough of the backend (the API, sockets, pagination) to talk about it. A Meta E5 iOS candidate in 2024 said their round was mostly iOS, “You should definitely know some backend stuff tho”.
Which companies run a mobile system design round
Counts are independent candidate reports found in one pass of Reddit and LeetCode Discuss, with Glassdoor and Blind read as search snippets only. Treat the counts as how well documented each round is.
Meta
Mobile design round, 45 minutes, usually no code. Meta's own Android prep page asks how you would design an email client
One round at E4 and E5, two at E6 · About 12 reports, plus Meta's own page
An Android or iOS domain round. L5 Android candidates were offered three algorithm rounds and one Android round, or two and two
Design from L5; L4 reports conflict · About 9 reports
Uber
A mobile systems design round, often a client SDK. One report calls it the Design and Bar Raiser round
Mid-level and up · About 7 reports
DoorDash
An architectural interview where you are given a feature and whiteboard an iOS system, in the words of its iOS team
L4 and up, per DoorDash · DoorDash's blog and 3 reviews
Lyft
An architecture round of about an hour without coding, in Glassdoor reviews from 2017 and 2020; one asked for the server API first, then the client
Mid-level and up · 4 reports
Two 30-minute design rounds in one 2024 iOS loop: a past project, then design WhatsApp
One report, iOS 2-2 · 1 report
A mobile system design round alongside a separate Android platform round
One report, staff · 1 report
A 2022 recruiter promised a mobile design round; 2025 Android candidates found it generic, or were told to skip it at SDE I
SDE II and up · 3 reports
We found no mobile design reports for Airbnb, Snap, Pinterest or Robinhood. Shopify's published process has no system design stage at all; read the Shopify guide for what it runs instead.
The prompts candidates report
Grouped by the kind of problem, with the number of independent reports:
A client library or SDK 6 reports
A feature flag SDK, a places search SDK with a search bar (Uber); an in-house push notification system (Meta); a disk cache for several platforms (Spotify, 2020); an image caching library
Chat or messaging, usually with images 4 reports
A 1:1 chat for sharing images and text (Meta); a chat app (Uber); design WhatsApp with group chat and stickers (TikTok)
A feed, stories or photo app 3 reports
Something like Instagram stories (Meta, 2022); a photo sharing app (Meta); an API for an app holding a user's photos, asked on several occasions
Google's own one-offs 1 report each
An app controlling a Google neon logo on a bad network; a collaborative task list; a YouTube-like app, then a bug that only happens at certain times of day; a stopwatch
Library questions deserve more practice than most prep lists give them: at Uber they were the most common prompt in our sample. Design an app like Uber with live driver location, a standalone offline-first notes app, a news feed, a video player and a file downloader all appear on prep lists, and we found no candidate who was asked them. They can still come up. Prepare the patterns underneath them.
What interviewers probe
The opening prompt is the easy part. Candidates describe follow-ups that keep raising the difficulty, and these are the ones they name:
- The API between app and backend. A Meta Android candidate in 2025 designed it in REST and was asked for a better approach. Others were asked whether one heavy call beats several light ones, and which data can be cached and which must always be fetched.
- Pagination with new items arriving. In one photo app round: how do you paginate, where do new photos go, and what happens when you are on page 2 and a photo on page 1 changes?
- Offline edits and sync. The same round asked how a change made offline is eventually synced. A Meta push notification design in 2024 focused on how sync works on the device.
- Concurrency and a bad network. Google's neon logo prompt was about state shared across devices, failures and poor connections.
- The whole client stack, one layer at a time. One Android interviewer walked through dependency injection, the screen's data model, images, offline mode, testing and low network.
- Performance and debugging. A 2025 Google L5 Android loop was mostly performance questions, and one Google follow-up was a bug that only appeared at certain times of day.
- Resources. Meta's own prep page asks how you balance battery, network and CPU against what the app needs to do.
Why candidates fail it
- Starting with the servers. A senior iOS candidate opened with backend servers and load balancers, was cut off and asked for the app-side architecture, and called the round a bomb.
- Waiting to be asked. An Android candidate was rejected after the interviewer raised offline mode, testing and dependency injection one by one. The comments were blunt: a mid-to-senior engineer should steer the design to offline and caching without prompting.
- A design that stays simple. One Google candidate's feedback was that the design was too simplistic.
- Choices without reasons. A commenter reviewing one rejected design asked for better justifications for the technology choices than “it is popular”.
- The wrong first approach. A Meta E4 Android candidate was given an extra design round after taking the wrong approach in the first.
The round can decide the outcome on its own. An Uber SDE 2 Android candidate in 2024 was turned down because of the design round after positive feedback on both coding rounds, and an Uber L4 Android candidate in 2025 got a no hire on the design round although it felt like it went well.
How to prepare
- Ask your recruiter whether the design round is mobile or general, and who usually runs it.
- Practise one client library end to end, such as an image cache or a feature flag SDK: its public API, threading, memory and disk limits, and how an app adopts it.
- Practise one chat app with images: the API, local storage, sending while offline, and delivery and read states.
- For every design, say what lives on the device and what lives on the server, and why, before the interviewer asks.
- Draw what happens when the network drops in the middle of a write, and when two devices change the same thing.
- Rehearse the follow-ups candidates report: pagination with new items, cache versus always fetch, REST against the alternatives.
- Prepare one real story about a performance or reliability problem you fixed in an app, with the numbers.
- Give a reason for every choice as you make it: the library, the storage, the sync strategy.
Role-level detail on the iOS and Android loops is in the senior iOS engineer and senior Android engineer guides, and the general version of the round is covered in the Google system design section.
Questions
What is a mobile system design interview?
A round of about 45 to 60 minutes where an iOS or Android engineer designs an app or a client library out loud, usually with little or no code: the screens' data, the API to the backend, caching, offline behaviour and sync. Meta, Google, Uber, DoorDash and Lyft all run a version of it for mobile engineers.
Is the mobile system design round different from backend system design?
It is meant to be, but candidates at Meta, Google and Amazon have been given a backend design question in a mobile loop, and one engineer put it down to an interviewer who was not a mobile developer. Ask your recruiter which kind of design round you have, and prepare enough backend (sockets, pagination, the API) to hold a conversation either way.
What questions are asked in mobile system design interviews?
The prompts candidates report most are a client library or SDK, such as a feature flag SDK, an image or disk cache, a places search SDK or a push notification system, and a chat or messaging app, usually with images. A feed, stories or photo app comes next. Prompts like design Uber with live driver location show up on prep lists far more than in candidate reports.
Which levels get a mobile system design round?
Mostly mid-level and above. Meta runs one design round at E4 and E5 and two at E6. Google Android candidates report design from L5. DoorDash says its system design interview is typically for L4 and up, and 2025 Amazon SDE I reports had it skipped or generic.
Why do people fail the mobile system design interview?
The reasons candidates report: starting with backend servers when the interviewer wanted the app, a design called too simplistic, waiting for the interviewer to raise offline mode and caching, and choosing a tool because it is popular. At Uber, one candidate was turned down on the design round despite positive feedback on both coding rounds.
Your mobile role
See the rounds and the design question for your posting
Paste the iOS or Android posting you are applying to. Calibrd predicts the rounds and the questions for that role, and you can practise the design round out loud in a mock interview before the real one.
Free to start · No card · Encrypted at rest, never used to train AI, remove anytime
Sources
- Meta Careers, preparing for your Android engineering interview (14 July 2016): the 45-minute design interview, the email client example, fetching and storing mail, and battery, network and CPU trade-offs
- DoorDash, technical interview preparation (search snippet, page blocked): whiteboard an iOS system from a feature and design; system design typically for L4 and up
- LeetCode Discuss, Meta E5 Android, London (29 April 2022): a design round specific to Android: something similar to Instagram stories
- LeetCode Discuss, Meta E6 Android, London (9 September 2022): two coding, one behavioural and two system design rounds at E6
- LeetCode Discuss, Meta E5 Android offer (18 June 2024): an in-house push notification system, with the focus on how sync works on mobile
- LeetCode Discuss, Meta E4 iOS (19 February 2025): a final round of one behavioural, one system design and two algorithm interviews
- Reddit r/leetcode, Meta E4 Android (19 July 2025): an extra Android design round after taking the wrong approach in the first
- Reddit r/leetcode, Meta Android design (7 September 2025): a deep API design discussion: REST first, then asked for a better approach
- Reddit r/androiddev, Google L5 Android (11 July 2024 and replies): the choice of three algorithm rounds and one Android, or two and two; a collaborative task list; a YouTube app with a time-of-day bug; a design called too simplistic (2025 reply)
- LeetCode Discuss, Google L5 Android offer (6 August 2024): an app controlling a Google neon logo: concurrency, state, bad network and failures; rated Strong Hire
- Reddit r/leetcode, Google L5 Android (1 July and 29 September 2025): design mostly on Android apps; mostly performance questions
- LeetCode Discuss, Google L5 Android, India (12 April 2026): two algorithm rounds and one system design onsite, with a choice between algorithms and Android
- LeetCode Discuss, Uber SDE 2 Android (22 August 2024): an SDK design question; no hire from the Design and Bar Raiser round despite positive coding feedback
- LeetCode Discuss, Uber SWE II iOS, Canada (19 March 2025): design a chat app, with an interviewer who stayed quiet throughout
- LeetCode Discuss, Uber L4 Android (23 November 2025): an Android SDK with a search bar listing places; no hire
- Reddit r/leetcode, Lyft iOS offer, Toronto (3 June 2025): four rounds on iOS development, coding and design; mobile and general system design prepared separately
- LeetCode Discuss, TikTok iOS, Singapore (28 July 2024): a past-project design discussion and design WhatsApp
- LeetCode Discuss, Agoda staff mobile, Bangkok (27 October 2025): an Android platform round and an in-depth mobile system design round
- LeetCode Discuss, Spotify Android/iOS client design (8 September 2020): a disk-based cache for several client platforms; an older report
- Reddit r/iOSProgramming, the photo app API question (3 January 2025): pagination, new items at the top, offline edits and sync, with the complexity ramped up through the round
- Reddit r/iOSProgramming, backend-first answer (25 March 2025): a senior iOS candidate cut off for starting with servers and load balancers
- Reddit r/androiddev, rejected after a guided round (8 May 2025): dependency injection, the data model, images, offline mode, testing and low network, each raised by the interviewer
- Reddit r/iOSProgramming, mobile or backend round (4 January 2023): a generic recruiter guide for a round that turned out to be mobile; one heavy API call or several light ones