Books and interactive practice

iOS interview prep

A senior iOS loop rarely fails on syntax. It fails on the second question: the actor that is not isolated the way you said, the view that re-renders because of where you put the state, the cache you sized by count instead of cost.

What the iOS loop scores

RoundWhat the interviewer writes down
Swift and concurrencyWhether you can explain isolation, Sendable and cancellation from a real bug, not recite the definitions.
SwiftUI and UIKitState ownership, identity and what triggers a body evaluation; when you would still reach for UIKit.
ArchitectureModule boundaries, dependency direction, and the cost of the pattern you chose on a team of more than three people.
Mobile system designOffline behaviour, sync, caching and lifecycle constraints that a backend design round never asks about.
Live codingNarration, incremental progress and recovery while someone watches your screen.

Loops differ by company. This is the common shape of senior loops, not a promise about any one employer.

The second question

Follow-ups that decide the round

“You said the view model is @MainActor. What happens to the network call inside it?”

Tests whether you know isolation applies to the function, not the work it awaits.

“The list stutters on an iPhone 11. Where do you look first?”

Tests whether you measure before you change anything, and whether you know what Instruments shows.

“Two teams want to share this module. What changes?”

Tests whether your architecture survives a second owner.

Practice

Interview Runtime is the practice layer for iOS: one book and a dashboard that asks the question, scores your answer against a rubric, and asks the follow-up. See Interview Runtime.