Review this before your interviewer does.
AI writes Swift that compiles and still gets you rejected. The iOS Interview Handbook teaches you to spot what’s wrong, fix it, and explain why in the interview. 537 questions, free.
Get the free booktry? turns a network failure into an empty list. The screen says “no recipes” when the truth is “you’re offline”.
A 500 error page gets decoded as recipes, fails, and silently disappears too.
Now every outcome has a state: loading, loaded, failed. Leaving the screen isn’t a failure, and a cancelled request throws URLError(.cancelled), not only CancellationError, so catch both.
Comments cite rules from the Good Code or Slop? checklist, part of the video course.
Every topic an iOS interview covers, in one repo.
Ten topics, from value types to system design. Each question answers in the same three parts, and every Swift example compiles in Swift 6 mode at iOS 26 and 27.
- 754 compile clean in all four configurations
- 7 use iOS 27 APIs, tagged in the text
- 20 labelled bad examples fail exactly as described
- 17 third-party snippets checked by reading
One answer format, 537 times.
Interviewers decide in the first thirty seconds whether you understand something. Every question in the book is written the way a strong answer sounds.
The question
Exactly how an interviewer phrases it, so it sounds familiar on the day.
How to describe it
Lead with a confident two-sentence answer, then the key points, follow-ups and pitfalls.
How to use it
Working Swift 6 code and best practices, so you can show it as well as say it.
## 1. The Question
“What’s the difference between value types and reference types in Swift? When would you use each?”
## 2. How to Describe
A value type is copied on assignment and when passed, so every variable owns an independent value; a reference type is shared, so several variables point at one instance with an identity. Swift defaults to value types because local reasoning is easier: nothing changes behind your back.
- Structs, enums and tuples are value types; classes, actors and closures are references
- Array, Dictionary and String use copy-on-write to make copies cheap
- Value types made of Sendable parts are automatically Sendable
## 3. How to Use / Implement
A struct Point: Sendable copied and changed, next to a final class Account shared by two variables, with === showing the identity.
Then watch it done: the video course.
Swift Jobs in the AI Era turns the book into ten hours of video. Every lesson teaches a concept, drills one real interview question, and reviews a piece of AI-written code: good code, or slop?
Swift Jobs in the AI Era
- M00Welcome: Swift Jobs in the AI Era20 min
- M01Swift Fundamentals Through an AI Lens55 min
- M02SwiftUI and Observation60 min
- M03UIKit and Adaptive Apps42 min
- M04Concurrency and Swift 668 min
- M05Architecture That Survives AI-Generated Code50 min
- M06Networking and Security50 min
- M07Data Persistence38 min
- M08Testing (and Testing AI's Tests)42 min
- M09Performance and Debugging42 min
- M10Apple Intelligence and App Intents35 min
- M11Mobile System Design50 min
- M12Landing the Job50 min
Opening soon. The waitlist hears first, with the launch price.
Join the waitlistReviewed by someone who hires.
Richard Kelly has been building on Apple platforms since the Macintosh and Lisa era. He has spent over a decade interviewing candidates and leading development teams, sitting on both sides of the table as a technical lead who hires, manages and codes.
His work spans the whole ecosystem, from Objective-C and UIKit to Swift 6 and SwiftUI. The handbook and the course come from that mix: what interviewers actually ask, and what separates code that compiles from code that ships.
Know why every line is there.
Get the whole iOS 27 Edition free: 537 questions, the guides and the playgrounds. Read it on anything, print what you need, and walk in prepared.