FreeExam

Mobile system design

A senior mobile engineer interview on designing mobile apps end to end, from architecture, offline sync, and feeds to background limits, device budgets, old app versions, and staged rollouts.

These prompts are original practice. They are not questions from a named employer or a live hiring loop.

  1. 1.You are asked to design a mobile app for a farmers market where vendors post daily stock and shoppers reserve items. Before sketching screens or storage, what should you ask first?

  2. 2.You are designing an app for elevator repair technicians. The interviewer says it must work offline. Which follow-up question matters most?

  3. 3.You are designing the driver side of a ride dispatch app. Which requirement should you pin down early because it shapes the background design most?

  4. 4.You are designing a photo backup app, and the interviewer gives no numbers. Which estimate should you get first to size the upload pipeline?

  5. 5.A product manager for a clinic booking app asks for real-time slot availability. What should a senior engineer clarify before choosing a transport?

  6. 6.You are designing a staff chat app for a hospital. Which requirement, once confirmed, changes the design the most?

  7. 7.You have 45 minutes to design a grocery delivery app. After agreeing on requirements, what is a strong next step?

  8. 8.A banking app has 40 engineers in 6 teams working in one app module. Builds take 12 minutes and merge conflicts are constant. What structural change should come first?

  9. 9.In a layered shopping app, where should the rule that a cart total can never go below zero after discounts live?

  10. 10.In a recipe app, each screen calls the HTTP client directly and keeps its own copy of the data. Favoriting a recipe on one screen is not reflected on another. What is the best fix?

  11. 11.In an offline-first app with a local database, where should screens read their data from?

  12. 12.In a modular travel app, the checkout module must open a screen owned by the address book module. How should you avoid a direct compile-time dependency between them?

  13. 13.A city services super-app hosts mini-apps from several teams, such as parking, permits, and library holds. What is the main architectural risk to manage?

  14. 14.A sensor dashboard app streams Bluetooth readings from 8 sensors at 50 readings per second each and plots them live. The team is torn between native and cross-platform. What is the senior move?

  15. 15.A team shares code between its iOS and Android apps through a shared core library. Which part is the best candidate to share?

  16. 16.A notes app syncs by asking for rows with updated_at after the client's last cursor. Long server transactions sometimes commit after shorter ones that started later, and clients miss edits. What fixes it?

  17. 17.A field notes app keeps tombstones for deleted records so clients can learn about deletions. Devices may stay offline for up to 90 days. How long should tombstones be kept?

  18. 18.A hardware store app wants to keep its full catalog of 200,000 products on the phone, at about 1.5 KB per product before indexes. Roughly how large is that, and what follows?

  19. 19.A delivery app downloads 5,000 orders at about 2 KB each on every launch, and drivers launch it 8 times a day. How much data is that per driver per day, and what is the fix?

  20. 20.A new app version changes the shape of a task record. Users updating from the old version have queued offline writes in the old shape. What should the design include?

  21. 21.A journaling app stores entries that each include about 10 MB of photos. How should it store them locally?

  22. 22.A sales rep app must download 400 MB of customer and price data on first login, and the paged API takes 40 minutes to return it. What design is better?

  23. 23.After two weeks offline, a survey app's delta sync returns 50,000 changes. The sync sometimes dies halfway and starts over. What makes it resumable?

  24. 24.In a project task app, a typical user belongs to 30 projects but opens only 3 of them in a week. What sync scope makes sense?

  25. 25.An app creates tasks offline and shows them at once. When the server assigns its own IDs later, comments that point to the local IDs break. What design avoids this?

  26. 26.A team writing app lets several people edit the same document offline for hours. Edits must merge with no lost text. Which approach fits?

  27. 27.A concert ticket app's product manager wants users to pick and book seats while offline, then sync later. What should you recommend?

  28. 28.In an expense report app, a manager approves a report while the employee edits it offline. When the employee syncs, what should happen to the edit?

  29. 29.How should a server detect that an offline edit was made to an out-of-date copy of a record?

  30. 30.A home appraisal app cannot merge two conflicting edits to a report's summary text. What is the best user experience?

  31. 31.An offline outbox has two operations: create a folder, then add a note to it. The folder creation fails for good because the name is invalid. What should happen to the note?

  32. 32.One operation in a fitness app's outbox gets an HTTP 400 every time, and everything queued behind it is stuck. What should the outbox do?

  33. 33.In a shared family calendar, two people edit the same event offline. One changes the time, and the other changes the title. What is a good merge policy?

  34. 34.A recipe box app shows an edit at once and sends it in the background. The server later rejects it as invalid. What should the client design include?

  35. 35.A neighborhood news feed uses offset pagination. New posts arrive at the top while users scroll, and they see duplicates. What is the fix?

  36. 36.A ranked video feed reorders often as scores change, so page 2 sometimes repeats or skips items from page 1. What is the better design?

  37. 37.A local events app should show its feed instantly on launch, even offline. What is the best approach?

  38. 38.Photos in a travel feed are uploaded at 4,000 by 3,000 pixels and shown 360 points wide on phones with 3x screens. What should the image pipeline do?

  39. 39.How much memory does one decoded 1,080 by 1,080 image use at 4 bytes per pixel?

  40. 40.A pet adoption feed keeps 40 decoded images in memory at 1,080 by 1,080 pixels and 4 bytes per pixel. The views are only 540 pixels wide. How much memory is that, and what helps most?

  41. 41.A restaurant app updates dish photos at the same URL, and some phones show the old photo for weeks. What is the most robust fix?

  42. 42.A marketplace feed should feel smooth while users scroll fast. What prefetch policy is best?

  43. 43.A forum app's feed holds every loaded post in memory. After about 2,000 posts, the OS kills the app. What design fixes it?

  44. 44.A home screen makes 7 requests one after another on launch. On a cell network with a 300 ms round trip, what is the waiting cost, and what fixes it?

  45. 45.A moderation team removes a post from a parenting forum, but users who cached the feed still see it offline. What should the design include?

  46. 46.A sports scores app keeps a WebSocket open just to refresh its main feed, even though the feed changes a few times an hour. What is the better choice?

  47. 47.A news app sends a breaking alert to 5 million users. If 10 percent tap within one minute and each tap fetches the article, what peak load hits the backend?

  48. 48.A package tracking app sends up to 6 status pushes per shipment. Phones that were offline get all 6 at once. What is the better design?

  49. 49.A home video app uploads 2 GB files. Uploads stop when the user leaves the app. What design keeps them going?

  50. 50.An end-to-end encrypted chat app wants message previews in notifications. The server cannot read message text. What design works?

  51. 51.A medication reminder app must alert users at 8:00 each morning, even with no signal. How should reminders be delivered?

  52. 52.A ride dispatch driver app must report location every 4 seconds during trips, even in the background. What design fits the OS rules?

  53. 53.A reading list app runs a full sync in a background task, and the OS often stops the task after about 30 seconds. What should change?

  54. 54.A messaging app keeps a WebSocket open in the background to receive messages instantly. What is the better design?

  55. 55.A weather station app's radio draws 200 mA when active and stays active for 10 seconds after each request. It sends a request every 60 seconds. About how much of a 3,000 mAh battery does the radio use per day?

  56. 56.The same weather app batches readings and sends one request every 15 minutes. With 200 mA for 10 seconds per request, about how much battery does the radio use per day?

  57. 57.A driver app sends one location point every 4 seconds over a 10-hour shift. Each request has 100 bytes of location and about 700 bytes of headers. How much data is that, and what saves the most?

  58. 58.A short video app autoplays clips at 1.5 megabits per second. A typical user scrolls 20 minutes a day, with video playing half that time. About how much cellular data is that in a 30-day month?

  59. 59.A hiking app offers offline map regions. One region needs 12,000 tiles at about 25 KB each. What should the download screen do?

  60. 60.A recipe app has 3 million daily active users. Each opens it 6 times a day, and each open makes 4 API calls. What is the average request rate, and roughly the peak at 5 times average?

  61. 61.A budgeting app schedules a background sync on 2 million phones at exactly midnight in one time zone. If all syncs land within one minute, what rate hits the server, and what helps?

  62. 62.A photo backup app has 1 million daily active users, each backing up 10 photos a day at 3 MB each. What is the average ingest bandwidth?

  63. 63.Using the same photo backup app at 30 TB of new photos a day, what should the storage plan assume for one year before deduplication?

  64. 64.A list cell in a flight tracker takes 4 ms to bind, and during a fast fling 3 new cells appear each frame on a 120 Hz screen. What happens?

  65. 65.About 6 percent of a transit app's users run a 3-year-old version that will never update. The server team wants to remove an endpoint it uses. What should happen first?

  66. 66.A pet clinic app's backend must keep working for five years of app versions. What practice catches breaking API changes before release?

  67. 67.A retail app uses server-driven UI for its home screen. A new component type crashes older versions that do not know it. What design prevents this?

  68. 68.A job board API moves from offset pagination to cursor pagination. Many installed versions still send offset. What is the right migration?

  69. 69.Version 2.1 of a parking payment app has a bug that sends duplicate payment requests on retry. You cannot change that binary. What is the best response?

  70. 70.A marketplace API adds a large new field to its listing response. Older versions on low-memory phones start running out of memory while parsing. What design avoids this?

  71. 71.A GraphQL field in a fitness app's schema is marked deprecated, but old installed versions still query it. When can it be removed?

  72. 72.A hotel app must change how prices are rounded. Old versions compute totals on the phone with the old rule. What design avoids mismatched totals?

  73. 73.A food delivery app fetches feature flags only at launch and caches them for 24 hours. A new feature is crashing. What change makes the kill switch effective?

  74. 74.A flag flips while a user is in the middle of checkout in a furniture app, and the flow changes between steps. What is the better behavior?

  75. 75.A product manager asks to turn on a new loyalty screen for users on version 5.1 using a flag. The screen's code first shipped in 5.3. What do you tell them?

  76. 76.A transit card app is designing upgrade prompts. Which policy is best?

  77. 77.A forced upgrade check runs at launch. One day the version endpoint is down, and the app blocks every user from opening it. What should the design do?

  78. 78.A language learning app assigns A/B test groups on each device at random. Users with a phone and a tablet see both versions. What is better?

  79. 79.Before releasing a large rewrite of a parcel locker app's pickup flow, what makes a bad release recoverable without a new binary?

  80. 80.A home goods store app is a 210 MB download, and installs drop sharply on slow networks. What should the team do first?

  81. 81.A home improvement app has an augmented reality room planner that 3 percent of users open, and it adds 60 MB. What is a good approach?

  82. 82.A dating app's cold start is 2.4 seconds on low-end phones. The team wants to keep it under 1.5 seconds over time. What works best?

  83. 83.A news reader blocks its first screen on a token refresh call, which takes 1 to 3 seconds on cell networks. What is the better design?

  84. 84.A taxi app's cold start includes 5 software development kits (SDKs) that each take 120 ms on the main thread, an 80 ms database open, and 200 ms to draw the first screen. The target is under 500 ms. Which single change gets there?

  85. 85.A grocery app's warm start is fine, but cold start after an update is slow because it rebuilds a search index on the main thread. What is the better design?

  86. 86.A social app has 10 million daily active users, each sending 50 performance events a day at 500 bytes each. What is the daily volume, and what is a sensible policy?

  87. 87.A photo editor's average cold start is 900 ms, and the team calls it healthy. Users on older phones still complain. What should the team track?

  88. 88.How should a meal kit app upload its telemetry to respect battery and data?

  89. 89.A furniture marketplace defines a service level objective for its feed. Server latency looks great, but users report slow loads. What should the objective measure?

  90. 90.A support engineer has a client error log from a ticketing app but cannot find the matching server logs. What design closes the gap?

  91. 91.A navigation app's crash-free rate is steady, but users say turn-by-turn guidance freezes for a few seconds. What telemetry is missing?

  92. 92.A food co-op app rotates refresh tokens on each use. An attacker steals an old refresh token and tries it after the user has already rotated. What should the server do?

  93. 93.A health journal app stores entries in a local database. How should it protect them at rest?

  94. 94.A banking app pins a single leaf TLS (Transport Layer Security) certificate. The certificate renews yearly, and old app versions never update. What is the risk, and the better design?

  95. 95.A loyalty app detects rooted or jailbroken phones. How should the design use that signal?

  96. 96.A step-counting rewards app computes points on the phone and sends the total to the server. What is the design flaw?

  97. 97.A clinic booking app sends an access token with every request. Where should the server check that the token allows reading a given patient's records?

  98. 98.Which plan is best for releasing a major update to a 4 million user fitness app?

  99. 99.A change to a gift card app needs a new server endpoint and new client code. In what order should they ship?

  100. 100.At 1 percent rollout, a new version of a weather app shows a better crash-free rate than the old one. Why might that be misleading?

  101. 101.A meal planning app's release is at 20 percent when a serious data loss bug appears. What should the team do, in order?

  102. 102.Which signal should automatically stop a staged rollout of a pharmacy app?

  103. 103.A to-do app is replacing its polling code with a new sync engine. How should it migrate without risking users' data?

  104. 104.A sketchbook app is moving its local storage from one database library to another. What upgrade plan is safest?

  105. 105.In a grocery app design, you chose to show cached prices that may be up to 10 minutes old. How should you state the tradeoff?

  106. 106.A fleet maintenance app's sync payload is JSON, and an engineer proposes switching to a binary format to save data. What should the senior engineer ask first?

  107. 107.A smart thermostat app is reaching 5 times its current users. Which part of the mobile design is most likely to need change first?