All resources
guide
Mobile System Design Prompt Pack
Mobile system design prompts with the constraints interviewers actually care about: offline state, sync, cache correctness, battery, memory and lifecycle recovery.
Use this in practice
Use these prompts to rehearse mobile-specific system design. For each prompt, start from the device and user state before you draw services.
Prompt 1: personalized feed
- Design a feed that opens fast, supports pagination, survives poor network and lets the user keep reading previously loaded content offline.
- Cover: initial load, pull to refresh, cursor pagination, cache storage, stale content labels, optimistic actions, image prefetching and memory pressure.
- Failure modes: duplicate items after refresh, missing items after pagination, stale likes, old responses overwriting new state, cache growing without bounds.
- Senior tradeoff: explain when you choose cached-first, network-first or stale-while-revalidate, and how the UI tells the truth without feeling broken.
- Metrics: feed open time, first contentful item, scroll hitch rate, image cache hit rate, pagination failure rate and stale response drops.
Prompt 2: offline notes
- Design notes that can be created, edited and deleted offline, then synced across devices later.
- Cover: local IDs, operation log, conflict policy, tombstones, retry queue, last-write-wins risks, user-visible conflict resolution and account switching.
- Failure modes: deletion resurrects a note, edits apply out of order, the same note appears twice, sync drains battery, app is killed mid-sync.
- Senior tradeoff: decide where conflict resolution belongs, client, server or user flow, and explain why that choice is acceptable for the product.
- Metrics: sync success rate, unresolved conflicts, retry age, local queue depth, data loss reports and battery impact during background sync.
Prompt 3: image loading layer
- Design an image pipeline for a high-scroll app with avatars, thumbnails and detail images.
- Cover: memory cache, disk cache, request coalescing, cancellation, priority, decoding off the main thread, placeholders and progressive loading.
- Failure modes: wrong image in reused cells, scroll jank from decoding, runaway memory, cache poisoning, duplicated downloads and no cancellation during fast scroll.
- Senior tradeoff: explain separate policies for avatars, feed thumbnails and full-screen images instead of using one cache rule for everything.
- Metrics: cache hit rate by tier, decode time, main-thread work, memory warnings, cancelled requests and visible image swap errors.
Prompt 4: background upload
- Design reliable photo or video upload from mobile when the app can be backgrounded, killed or moved between Wi-Fi and cellular.
- Cover: resumable upload, local pending state, background sessions, retry policy, user cancellation, compression, progress persistence and server idempotency.
- Failure modes: duplicate uploads, lost progress after kill, retry storm, upload completes but UI says failed, user logs out mid-upload.
- Senior tradeoff: define what happens if the upload is important enough to preserve but not important enough to drain battery.
- Metrics: completion rate, retry count, median upload time, stuck uploads, duplicate server objects and background termination events.
Answer shape
- Open with constraints: device lifecycle, network variability, local storage, memory, battery, privacy, release risk and team ownership.
- Define state ownership before components: what lives in memory, on disk, on the server, in the queue and in UI state.
- Draw the happy path only after naming offline, retry, stale response and app-kill behavior.
- Add observability: logs, counters, sampled traces, debug screens and support tooling for reproducing user state.
- End with evolution: migrations, feature flags, compatibility with older app versions and how teams own the boundaries.
Use this resource inside a path.
The free tools are designed to plug into the larger Salari career system.