iOS Worksheet v8
iOS Worksheet v8
Learning Swift/iOS for your next project or interview? Use this practical guide as a targeted study plan. Suc-
cessful apps solve ordinary problems in a variety of ways. The iOS Interview Worksheet highlights these
common, yet important, topics.
www.waynewbishop.com/ios-interview/cslab
SWIFT
Swift is the fabulous new standard for building iOS projects. As the language continues to evolve, develop-
ers will need to adapt their skills accordingly. To stay competitive, stay current. As a goal, demonstrate your
knowledge to hiring managers on the unique features of Swift. Beyond syntax, this includes demonstrating
the differences between Object-Oriented and Protocol-Oriented programming. With Swift now available
as open-source, developers should also be comfortable with Swift.org, Github change proposals, and the
Swift Evolution process.
Function Signatures
Arrays
Tuples
Dictionaries
//2 Swift Algorithms - iOS Interview Worksheet (Version 6.0)
Protocols
Type Extensions
Protocol Extensions
Error Handling
Bridging Headers
Swift.org
Guard Statement
In-Out Variables
Computed Properties
Subscripts
OBJECTIVE-C
Even though most new projects are now written in Swift, most large-scale iOS projects still exist in Objec-
tive-C. Knowledge of Objective-C will help you better understand the history and evolution of Swift and the
iOS SDK.
waynewbishop.com
//3
Dealloc
Method Signatures
Protocols
Blocks
Categories
NSDictionary
NSArray
NSDate
NSNumber
NSMutableString
NSError
NSURLSession
NSJSONSerialization
DESIGN PATTERNS
Once you’ve explored Objective-C and Swift, being able to recognize and implement design patterns will
help you build a scalable solution. While most patterns aren’t exclusive to iOS, being able to code specific
Apple-based designs will be your primary objective.
Object-Oriented Design
waynewbishop.com
//4 Swift Algorithms - iOS Interview Worksheet (Version 6.0)
Key-Value Coding
Delegation
Inheritance
Singleton
Factory
USER INTERFACES
With Xcode 12 will come a new method for creating mobile user interfaces, known as SwiftUI. While the
majority of existing iOS applications will continue to use standard tools such as Storyboards, Autolayout
and drag and drop techniques, its recommend that developers invest considerable time learning the new
SwiftUI design and data interaction concepts.
HStack
VStack
View - (Protocol)
Identifiable - (Protocol)
Button
UIView Lifecycle
UIView Animations
Gesture Recognizers
UITableViewController
Animation Chaining
waynewbishop.com
//5
UINavigationController
Core Animation
DATA MANAGEMENT
Writing solutions requires using Swift or Objective-C in conjunction with the iOS Framework. As you prepare
for your next interview, note that success in the process will depend on you solving problems that can be
explained using Big-O Notation or standard iOS Framework management tools.
Big-O Notation
Core Data
NSUserDefaults
Info.plist
URLSession
waynewbishop.com
//6 Swift Algorithms - iOS Interview Worksheet (Version 6.0)
Hash Tables
Dynamic Programming
Linked Lists
Breadth-First Search
Depth-First Search
VERSION CONTROL
Knowing how to manage code (either on your own or as part of a team) makes you a valuable asset. While
there are various version control systems available, knowledge of Git is highly valued in most development
situations. It is ideal that youww understand Git concepts, tools and processes.
Fork, Clone
waynewbishop.com