iOS system design interview questions
51 questions from real iOS interviews. Topics: Feeds, chat, image loaders, offline first, large app design.
- iOS system designShort answer
Clarifying requirements
In a mobile system design interview you get "design the Instagram feed." Before you start designing, what do you ask the interviewer and what do you pin down i…
#requirements #interview-process #scope #non-functional
- iOS system designMultiple choice
Cache layers
When the user enters the feed screen, which order of showing data is most appropriate?
#cache #memory #disk #network
- iOS system designShort answer
Shared features across teams
Several screens in the app (home, profile, settings) need the same "notification center" feature: an unread badge, a list, and mark as read. How would you desi…
#shared-component #notifications #team #merge-conflict
- iOS system designMultiple choice
Image loading memory
You show 60 thumbnails of 4000×3000 JPEGs in a 3-column grid and memory jumps to several hundred MB. What's the most effective fix?
#image #downsampling #memory #cache-key
- iOS system designShort answer
When to load data
A travel booking app goes list → detail → booking. For each screen, how do you decide whether to load its data when the screen appears or ahead of time from th…
#prefetch #loading-strategy #battery #bandwidth
- iOS system designShort answer
Pagination strategy
For a mobile feed, would you paginate by offset or by cursor (keyset)? Justify it with the differences between the two.
#pagination #cursor #offset #keyset
- iOS system designMultiple choice
Pagination
You're loading a feed with offset pagination. While the user is reading page 2, 3 new posts get added at the top of the feed. What happens when you request pag…
#pagination #offset #cursor
- iOS system designShort answerAppleinterview report
Notes app design
Design a simple notes app. Walk me through the architecture, how you store the data, and how it flows.
#notes #offline-first #sync #conflict
- iOS system designMultiple choice
Choosing a live update mechanism
A stock app needs a watchlist screen (prices updating several times a second in the foreground) and a "target price reached" alert while the app is closed. Whi…
#realtime #websocket #sse #polling
- iOS system designShort answerGoogleinterview report
Weather app design
Design an app that shows the weather for the current location and favorite cities. Focus on the components, the data sources, and the cache and refresh policy.
#weather #location #cache #widget
- iOS system designShort answerMetainterview report
Offline-first architecture
How is an "offline-first" app architecture different from the usual "network first, fall back to cache" approach?
#offline-first #sync #repository #single-source-of-truth
- iOS system designShort answerSpotifyinterview report
Search feature design
Design the search screen of a music app: autocomplete while typing, a results list, and recent searches. Focus on how you keep a request from going out on ever…
#search #debounce #cancellation #autocomplete
- iOS system designShort answerMetainterview report
Photo sharing app storage
Design the client storage system for a photo sharing app. Focus on where and how you store originals, thumbnails, and metadata.
#photos #storage #disk #thumbnail
- iOS system designMultiple choiceBooking.com
Spotting over-engineering
The system design round is "design an app with just two screens, a list and a detail." Which of these choices is the interviewer likely to judge as over-engine…
#over-engineering #simplicity #architecture #two-screen
- iOS system designShort answerSoundCloud
Feature blueprint and requirements
You're designing an iOS audio bookmark feature on a whiteboard, no code. Which questions do you ask first to pin down the vague requirements?
#requirements #blueprint #state-machine #feature-design
- iOS system designShort answer
News feed design
Design an infinite-scroll feed screen like Twitter's from the iOS client's point of view. Walk me through where the data goes between the network response and …
#feed #pagination #cache #offline
- iOS system designShort answer
Image loader and cache library
If you had to build an image loading library like SDWebImage or Kingfisher yourself, how would you structure the components and the cache layers?
#image-cache #lru #disk-cache #downsampling
- iOS system designShort answerTikTok
Thumbnail grid to detail
The first screen is a grid of photo thumbnails from an API, and tapping one opens a detail screen with comments, likes, sharing, and swipe left or right for th…
#grid #detail #image-loading #prefetch
- iOS system designShort answer
Upload queue design
A user picks 50 photos to upload, and they all have to get there eventually, even if they close the app or lose the network. How would you design the upload qu…
#upload #background-urlsession #queue #retry
- iOS system designShort answerRobinhoodinterview report
Live price screen
Design a portfolio and watchlist screen where hundreds of symbols change price dozens of times a second. Focus on how you control the UI refresh rate.
#realtime #websocket #throttle #diffable
- iOS system designShort answerMetainterview report
Online presence
You're adding an online/offline/last seen indicator to a contact list. Given that the app might be force quit or lose its connection and never get to announce …
#presence #heartbeat #websocket #battery
- iOS system designShort answerMetainterview report
Stories feature design
Design Instagram Stories: photos and short videos that vanish after 24 hours, tap left or right to advance, and a seen indicator. Focus on the media loading th…
#stories #media #preload #video
- iOS system designMultiple choice
Offline sync conflicts
In an offline-first to-do app, two devices edit the same item while offline and then sync. Which strategies are sound for handling this without losing data? Se…
#sync #conflict #lww #crdt
- iOS system designShort answerNetflixinterview report
Performance and observability
You're shipping a new feed feature. After launch, which client metrics and target values would you use to define "it works well"?
#observability #metrics #metrickit #hitch
- iOS system designShort answerMeta
Flight booking flow
Assume the backend already exists and design a flight booking iOS app. The flow runs search results → flight selection → seat and passenger entry → payment → c…
#booking #state-machine #idempotency #hold-expiry
- iOS system designShort answerSnap
Image grid discovery screen
Design a discovery screen full of thumbnail tiles, like Snapchat Discover. It scrolls infinitely and every tile shows a network image. Focus on which thread do…
#discover #infinite-scroll #image-loading #prefetch
- iOS system designShort answerX (Twitter)
Feature skeleton (DI, offline, experiments)
Sketch a single "save bookmark" feature as a Swift code skeleton. Instead of a whiteboard, work at the level of type and protocol signatures, and focus on how …
#dependency-injection #offline #ab-testing #feature-flag
- iOS system designShort answerPayPal
Transaction history screen
Design the client for a money transfer app's transaction history screen. Requirements: infinite-scroll pagination, recent history available offline, new transa…
#transaction-history #pagination #offline #realtime
- iOS system designShort answerCRED
Offline-friendly finance feature
Design the "this month's spending and remaining limit" card in a credit card app. The screen has to open even on a flaky network, and the data has to feel fres…
#offline #freshness #cache #conflict
- iOS system designShort answerMicrosoft
Alarms that survive a reboot
Design a wake-up alarm app for iOS that "keeps ringing even after the user turns the phone off and on." The app doesn't auto-launch after a reboot and backgrou…
#alarm #local-notification #critical-alert #reboot
- iOS system designShort answerDeliveroo
Delivery rider app
Design an app for delivery riders. The screen mockups are given: order list, order detail and accept, pickup, delivery complete. Walk me through the whole flow…
#delivery #rider #state-machine #location
- iOS system designShort answerFlipkart
In-app notification center
Design the "notifications" tab of a commerce app: a list of order, promotion, and shipping notifications, read/unread state, and a badge. Focus on local storag…
#notification-center #unread #background-fetch #push-token
- iOS system designShort answerTencent
IM message reliability and local schema
In a messenger app, what does the client have to guarantee so messages never get lost? Cover acks and resends in both directions, ordering, and deduplication.
#im #chat #reliability #ack
- iOS system designShort answerKuaishou
Download manager
Design a shared download manager for the app. Requirements: tasks can run serially or in parallel with a cap on concurrency, and it must not be coupled to the …
#download #concurrency-limit #resume #urlsession
- iOS system designShort answerRobinhood
Photo library
Design a photo library app that shows tens of thousands of photos in a grid and backs them up to the cloud. Focus on grid scroll performance: thumbnail generat…
#photos #grid #thumbnail #photokit
- iOS system designShort answer쿠팡
Design system component
Design a "toast" component for a design system. With several apps and teams using it, how would you define the public API you expose to callers, the way it's c…
#design-system #component #api-design #theming
- iOS system designMultiple choice센드버드interview report
Client SDK design
You're designing an iOS client SDK for chat and calling that other companies' apps should be able to integrate easily. Which design principles lower integratio…
#sdk #api-design #integration #chat-sdk
- iOS system designShort answerRobloxinterview report
Large-scale photo feed pagination
An iOS app implements infinite scroll for a photo feed seen by hundreds of millions of users. How would you design the page key so duplicates and gaps stay low…
#feed #pagination #cursor #cache
- iOS system designShort answerElectronic Artsinterview report
System scheduling for an alarm app
You're designing an iPhone alarm app. When you have to guarantee the user is alerted at a set time, which system API do you use instead of an in-app Timer?
#notifications #alarm #ios #scheduling
- iOS system designShort answerZyngainterview report
Ordering in a real-time news feed
A real-time social news feed receives incremental WebSocket events and an initial REST list. To make sure no events get lost during the initial sync, in what o…
#websocket #realtime #sequence #feed
- iOS system designShort answerNianticinterview report
Offline chat outbox
In an iOS chat app where the network drops often, messages the user sends must not be lost. How would you design the state transitions of the local outbox?
#chat #offline #outbox #idempotency
- iOS system designShort answerRiot Gamesinterview report
News feed state model
In a gaming news feed, refresh, pagination, and bookmarking all happen at the same time. What single state and event flow would you define so the screen doesn'…
#state-management #feed #stale-response #reducer
- iOS system designShort answerMonzointerview report
Mobile feature blueprint
You're explaining a card freeze feature for a banking app in a one-hour system design session. What interfaces would you use to separate the screen, the domain…
#banking #use-case #optimistic-ui #rollback
- iOS system designShort answerHopperinterview report
File manager sync model
An iOS file manager shows a listing, offline files, and upload progress. How would you separate the storage of file metadata from the actual bytes?
#file-manager #sync #upload #metadata
- iOS system designShort answerTikTok
1:1 chat app design
Design the iOS client for a 1:1 chat like WhatsApp. Focus on message ordering, duplicates, and the offline send queue.
#chat #websocket #message-ordering #offline-queue
- iOS system designShort answerAppleinterview report
Large-scale app architecture
Design the architecture for an iOS app with tens of millions of users built by 60 developers. Focus on the module structure and the boundaries between teams.
#modularization #spm #feature-flags #observability
- iOS system designShort answer
Native vs cross-platform
You're the CTO of a startup building new iOS and Android apps. Lay out your criteria for choosing between native, Flutter, React Native, and Kotlin Multiplatfo…
#cross-platform #native #flutter #react-native
- iOS system designShort answerUber
Cross-screen state consistency
When the user double-taps to like a post in the Instagram detail screen, the same post in the feed, on the profile, and in search results all have to update im…
#consistency #optimistic-update #single-source-of-truth #like
- iOS system designShort answerWhoop
BLE command serializing handler
Design the command handler for an app that talks to a wearable over BLE. Constraints: only one command can be in flight at a time, and the next command has to …
#ble #corebluetooth #serial-queue #timeout
- iOS system designShort answerAudible
Timestamp-synced audiobook
Design an "enhanced playback" feature for an audiobook app. For supported titles, the app has to show a specific image at set timestamps while the audio plays.…
#avplayer #audio #timed-metadata #prefetch
- iOS system designShort answerXiaohongshu
Comment feed page
Design the comment feed page for a community app. Constraints: comments are shown flat (no tree), globally sorted by an interaction weight (likes, reply count)…
#comments #ranking #pagination #cursor