🎯 Real interview tasks: iOS interview questions
- Implement parallel image loading without a data race (GCD + async) Senior PRO
- Implement a debouncer with DispatchWorkItem Middle PRO
- Implement a thread-safe dictionary (reader-writer) Senior PRO
- Implement WeakArray<T: AnyObject> Middle PRO
- Code review: async loading in a UIViewController Middle PRO
- A table view stutters while scrolling — what do you do? Middle PRO
- Implement == for a custom Optional Middle PRO
- any, some or generic: what compiles and what's the difference? Middle PRO
- Unique numbers from nested arrays, descending Junior PRO
- Why does memory grow in a loop with UIImage(named:)? Middle PRO
- Implement a weak-reference collection that conforms to Collection Senior PRO
- Parallel loading with request deduplication and preserved order Senior PRO
- Refactoring: find the real leak instead of sprinkling weak self Senior PRO
- String of 0, 1 and !: minimum error cost Senior PRO
- k channels: maximize the sum of medians Middle PRO
- How many segments have max − min ≤ k? Middle PRO
- A FIFO request queue with type erasure (any / some) Senior PRO
- Find the bug in this DispatchGroup code Middle PRO
- Implement map, filter and compactMap for Collection Middle PRO
- An Atomic @propertyWrapper on os_unfair_lock: what's wrong here? Senior PRO
- Debounced search on Task: cancellation and stale results Middle PRO
- Decoding awkward JSON: dates, keys, malformed items Middle PRO
- Implement an LRU cache with O(1) get and set Senior PRO
- Memory + disk cache with deduplication: find the bugs Senior PRO
- One-shot token refresh under concurrent requests Senior PRO
- A mini network layer: URLRequest → Result<T, APIError> Middle PRO
- Reverse a singly linked list Junior PRO
- Parse a string into brand, model and generation Middle PRO
- A list screen with async loading: state, @MainActor, errors Middle PRO
- A reused cell shows someone else's image Middle PRO
- A counter incremented 1000 times from multiple threads: fix it three ways Middle PRO
- Code review: a completion-based network layer — five interviewer questions Middle PRO
- Debounce vs Throttle: what's the difference, and implement throttle Middle PRO
- Reader-writer with a barrier: four interviewer questions Senior PRO
Practice this before your interview
DevPrep turns these answers into one-minute challenges: what does this code print, find the bug, mock interviews. One challenge a day.
Get DevPrep on the App Store