DevPrep

All topics

🎯 Real interview tasks: iOS interview questions

  1. Implement parallel image loading without a data race (GCD + async) Senior PRO
  2. Implement a debouncer with DispatchWorkItem Middle PRO
  3. Implement a thread-safe dictionary (reader-writer) Senior PRO
  4. Implement WeakArray<T: AnyObject> Middle PRO
  5. Code review: async loading in a UIViewController Middle PRO
  6. A table view stutters while scrolling — what do you do? Middle PRO
  7. Implement == for a custom Optional Middle PRO
  8. any, some or generic: what compiles and what's the difference? Middle PRO
  9. Unique numbers from nested arrays, descending Junior PRO
  10. Why does memory grow in a loop with UIImage(named:)? Middle PRO
  11. Implement a weak-reference collection that conforms to Collection Senior PRO
  12. Parallel loading with request deduplication and preserved order Senior PRO
  13. Refactoring: find the real leak instead of sprinkling weak self Senior PRO
  14. String of 0, 1 and !: minimum error cost Senior PRO
  15. k channels: maximize the sum of medians Middle PRO
  16. How many segments have max − min ≤ k? Middle PRO
  17. A FIFO request queue with type erasure (any / some) Senior PRO
  18. Find the bug in this DispatchGroup code Middle PRO
  19. Implement map, filter and compactMap for Collection Middle PRO
  20. An Atomic @propertyWrapper on os_unfair_lock: what's wrong here? Senior PRO
  21. Debounced search on Task: cancellation and stale results Middle PRO
  22. Decoding awkward JSON: dates, keys, malformed items Middle PRO
  23. Implement an LRU cache with O(1) get and set Senior PRO
  24. Memory + disk cache with deduplication: find the bugs Senior PRO
  25. One-shot token refresh under concurrent requests Senior PRO
  26. A mini network layer: URLRequest → Result<T, APIError> Middle PRO
  27. Reverse a singly linked list Junior PRO
  28. Parse a string into brand, model and generation Middle PRO
  29. A list screen with async loading: state, @MainActor, errors Middle PRO
  30. A reused cell shows someone else's image Middle PRO
  31. A counter incremented 1000 times from multiple threads: fix it three ways Middle PRO
  32. Code review: a completion-based network layer — five interviewer questions Middle PRO
  33. Debounce vs Throttle: what's the difference, and implement throttle Middle PRO
  34. 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