Topics
537 questions across ten topics, in the order the book teaches them. Every one has the question, how to describe it, and how to use it.
Swift Fundamentals
swift-fundamentals/ · 55 questions- Value Types vs Reference Types
- Noncopyable Types (~Copyable)
- InlineArray and Span
- Optionals and Optional Binding
- guard vs if let
- Closures and Escaping
- Protocols and Protocol-Oriented Programming
- Generics
- Parameter Packs (Variadic Generics)
- Error Handling
- Typed Throws
- Property Wrappers
- and 43 more in the book
UIKit & Views
uikit-views/ · 59 questions- View Lifecycle
- Automatic Observation Tracking
- Auto Layout
- UITableView vs UICollectionView
- Cell Reuse
- Empty, Loading and Error States
- Safe Area
- UIStackView
- Responder Chain
- Hit Testing
- Storyboards vs Programmatic UI
- Size Classes
- and 47 more in the book
SwiftUI
swiftui/ · 56 questions- Observable Macro
- @State, @Binding, @Bindable, and (legacy) @ObservedObject
- @StateObject vs @ObservedObject
- View Lifecycle
- body as Computed Property
- ObservableObject and @Published
- Optional Binding
- NavigationStack and Navigation
- TabView and Tab
- Sheets and fullScreenCover
- @Environment and (legacy) @EnvironmentObject
- GeometryReader
- and 44 more in the book
Architecture
architecture/ · 53 questions- MVC
- MVVM
- VIPER
- Coordinator Pattern
- Dependency Injection
- Repository Pattern
- Delegate Pattern
- NotificationCenter
- Clean Architecture
- SOLID Principles
- Protocol-Oriented Architecture
- Use Case / Interactor
- and 41 more in the book
Networking
networking/ · 54 questions- URLSession
- A Networking Layer for Swift 6 Strict Concurrency
- Codable and JSON
- REST API Design
- Error Handling
- Authentication
- Passkeys
- App Attest and DeviceCheck
- Caching Policy
- Background Downloads
- Alamofire vs URLSession
- SSL Pinning
- and 42 more in the book
Concurrency
concurrency/ · 54 questions- async/await
- MainActor
- Approachable Concurrency (Swift 6.2)
- Isolated Conformances
- Task
- Grand Central Dispatch
- OperationQueue
- Actors
- Sendable
- Region-Based Isolation and `sending`
- Thread Safety
- Retain Cycles in Async Code
- and 42 more in the book
Memory & Performance
memory-performance/ · 52 questions- Retain Cycles
- ARC
- Instruments
- Finding SwiftUI Performance Problems
- Debugging Swift Concurrency Performance
- Image Loading and Caching
- Scroll Performance
- Lazy Loading
- Autoreleasepool
- NSCache
- Main Thread Best Practices
- Hangs vs Hitches
- and 40 more in the book
Data Persistence
data-persistence/ · 50 questions- UserDefaults
- When to Use UserDefaults
- Data Modeling for Mobile
- SwiftData vs Core Data
- SwiftData Basics
- ModelContainer and ModelConfiguration
- SwiftData Attributes
- SwiftData Relationships
- #Predicate and FetchDescriptor
- Dynamic SwiftData Queries
- SwiftData Index and Unique
- ModelActor and SwiftData Concurrency
- and 38 more in the book
Testing
testing/ · 54 questions- Unit Testing
- Mocking and Stubbing
- UI Testing
- Testing Resizable Layouts and iPhone Duo
- XCTest and Async
- ViewModel Testing
- Snapshot Testing
- TDD
- Accessibility Identifiers
- Test Doubles: Mock, Stub, Spy, Fake
- Code Coverage
- Quick and Nimble
- and 42 more in the book
System Design
system-design/ · 50 questions- Image Caching System
- Scalable Chat App
- Feed Loading (Instagram-style)
- Offline Mode Design
- Push Notification System
- Pagination Design
- Modular App Architecture
- Analytics Implementation
- Infinite Scroll Feed
- Caching Layer Design
- App State Restoration
- Background Uploads
- and 38 more in the book