Study plan
Interview in 2 days? Take the crash plan: the most-asked questions and your weak spots, up to 30 a day. Or take 7 or 30 days.
Pick your plan
With JavaScript on, this builds a day-by-day plan from how often each question comes up in interviews and from your weak spots. Without it, start with the most-asked questions below.
Most-asked questions (57)
- Sequential await vs async let
- async/await vs completion handlers
- async let vs TaskGroup
- What is an actor?
- @MainActor view models
- Sendable and Swift 6 strict checking
- Serial vs concurrent queues
- DispatchQueue.main.sync on the main thread
- SwiftUI vs UIKit: key differences
- Which property wrapper for which data?
- @State vs a plain var
- @StateObject vs @ObservedObject
- @Observable model keeps resetting
- @Observable vs ObservableObject
- @Binding and the $ prefix
- .task vs .onAppear + Task
- NavigationStack and deep links
- Optionals and why Swift has them
- Value types vs reference types
- Protocols vs abstract classes
- Closures and capture lists
- @escaping vs non-escaping closures
- Opaque types (some) vs existentials (any)
- How ARC works
- Retain cycles and how to break them
- Retain cycles in closures
- weak vs unowned
- The UIViewController lifecycle
- frame vs bounds
- Table and collection view cell reuse
- Passing data between view controllers
- Making a network request
- Codable and mismatched keys
- debounce vs throttle
- Combine vs async/await
- Preventing stale search results
- Choosing the right storage
- Using UserDefaults correctly
- Storing secrets in the Keychain
- SwiftData
- MVC, MVVM, VIPER and TCA compared
- MVVM done right
- Dependency injection
- Writing good unit tests with XCTest
- Testing async code
- Swift Testing
- Protecting API keys
- Profiling an iOS app
- Dropped frames and hitches
- App and scene lifecycle states
- How push notifications are delivered
- In-app purchases with StoreKit 2
- Privacy manifests
- Supporting VoiceOver
- Supporting Dynamic Type
- A thread-safe LRU cache
- Offline-first architecture