0% found this document useful (0 votes)
58 views

iOS Worksheet v8

The document provides an iOS interview worksheet to help candidates prepare for technical interviews. It covers topics like Swift, Objective-C, user interfaces, data management, algorithms and data structures, and version control. It includes tables to self-assess proficiency in explaining and coding examples for each topic. It also advertises a free online computer science lab for practicing coding challenges.

Uploaded by

wicaxah
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

iOS Worksheet v8

The document provides an iOS interview worksheet to help candidates prepare for technical interviews. It covers topics like Swift, Objective-C, user interfaces, data management, algorithms and data structures, and version control. It includes tables to self-assess proficiency in explaining and coding examples for each topic. It also advertises a free online computer science lab for practicing coding challenges.

Uploaded by

wicaxah
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

IOS INTERVIEW WORKSHEET

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.

IOS COMPUTER SCIENCE LAB


With an average technical interview lasting 3-6 hours, passing requires a combination of coding expertise,
knowledge of software development processes, and keeping calm under pressure. If you are preparing for
your next technical interview, testing your knowledge and understanding of code challenges is vital. Going
beyond the book, the computer science lab provides the opportunity to solve iOS questions and collabo-
rate with other developers in a virtual whiteboard setting. Register for the next free session at:

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.

Swift Topic Ability to Explain Ability to Code

Variables vs. Constants

Structs, Classes, Methods & Properties

Value types vs. Reference types

Function Signatures

String manipulation - ASCII & Unicode

Arrays

Sets vs. Arrays (when and why)

Tuples

Dictionaries
//2 Swift Algorithms - iOS Interview Worksheet (Version 6.0)

Swift Topic Ability to Explain Ability to Code

Optionals (e.g. Regular, Implicit & Unwrapping)

Generics (e.g. Types, Functions & Constraints)

Protocols

Type Extensions

Protocol Extensions

Closures (e.g. Trailing Closures / Syntax)

Initializers (single and multiple)

Error Handling

Bridging Headers

Swift.org

Swift API Design Guidelines

Building custom types that conform to Comparable, Hash-


able & Equatable

Guard Statement

Custom (Advanced) Operators

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.

Objective-C Topic Ability to Explain Ability to Code

Classes, Methods & Properties

Synthesize Keyword (@synthesize)

waynewbishop.com
//3

Objective-C Topic Ability to Explain Ability to Code

Dealloc

Reference Counting Rules (retain, release)

Property References (strong, weak)

Method Signatures

Protocols

Blocks

Categories

NSDictionary

NSArray

NSNull vs. Nil

NSSet (when and why)

NSDate

NSNumber

Initializers (single and multiple)

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.

Design Patterns Topic Ability to Explain Ability to Code

Object-Oriented Design

Protocol-Orientated Design (Swift)

waynewbishop.com
//4 Swift Algorithms - iOS Interview Worksheet (Version 6.0)

Design Patterns Topic Ability to Explain Ability to Code

MVC (Model View Controller)

Key-Value Coding

Notifications (register and receive)

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.

User Interface Topics Ability to Explain Ability to Code

HStack

VStack

View - (Protocol)

Identifiable - (Protocol)

Button

UIView Lifecycle

UIView Animations

Gesture Recognizers

UITableViewController

Animation Chaining

Human Interface Guidelines (document)

Asynchronous UITableView data loading (multithreading)

waynewbishop.com
//5

User Interface Topics Ability to Explain Ability to Code

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.

Data Management Topic Ability to Explain Ability to Code

Big-O Notation

HTTP (e.g PUT, POST, GET )

Grand Central Dispatch (e.g DispatchQueue)

Core Data

NSUserDefaults

XCTest Framework (e.g. creating unit tests)

Info.plist

File’s Owners Object

URLSession

UITableView (Delegate & Datasource)

Swift Package Manager

Decodable & Encodable (Native JSON Parsing)

ALGORITHMS & DATA STRUCTURES


When creating modern apps, much of the theory inherent to algorithms is often overlooked. For solutions that
consume relatively small amounts of data, decisions about specific techniques or design patterns may not be
as important as just getting things to work. However, as your audience grows, so will your data. Making sense
of data allows users to connect, share, complete transactions, and make decisions.

waynewbishop.com
//6 Swift Algorithms - iOS Interview Worksheet (Version 6.0)

Algorithm Topic Ability to Explain Ability to Code

Big O Notation - O(n), O(1), O(log n), O(n log n)

Hash Tables

Dynamic Programming

Linked Lists

Stacks & Queues

Breadth-First Search

Depth-First Search

Graph Theory Basics

Binary Search Trees

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.

Version Control Topic Ability to Explain Ability to Code

Working Copies, Branches & Stashes

Local vs. Remote Repositories

Stage, Pull, Push & Fetch

Merge vs. Rebase

Fork, Clone

Managing Code Conflicts

Working with Github

Managing Pull Requests

waynewbishop.com

You might also like