Interview preparation guide for iOS developers

iOS Interview Preparation Guide

A repository of iOS questions and recommended blog posts relevant to various topics of iOS development.

For anyone practicing for an upcoming interview or even otherwise to just stay current.

Pull requests and suggestions to this repo are highly encouraged - Contribution guidelines.

  1. iOS SDK

  2. Objective-C runtime

  3. Memory Management

  4. How does reference counting work in Objective-C?

  5. What is NSAutoreleasePool And autorelease?

  6. What are retain cycles and best practices to avoid them?

  7. Under what circumstances would an app crash with EXC_BAD_ACCESS error?

Recommended reading: - Memory Management with Objective C / Cocoa / iPhone - Memo Akten - Memory Management - RyPress - An In-depth Look At Manual Memory Management In Objective-C - Tom Dalling

4. Auto Layout

  1. Multi-tasking - GCD, NSOperations etc.

  2. Design Patterns - Delegation, Singleton, Blocks etc.


  3. What are blocks and when would you use them in your app?

  4. How can a block mutate variables declared outside the block?

  5. How can blocks lead to memory retain cycles?

Recommended reading: - Understanding Objective-C Blocks - Intertech - Blocks in Objective-C (Without Tears) - Tim Duckett - Blocks - RyPress -

7. App Architecture

  1. Core Data —
  2. What is core data and what are the different classes the build the core data stack?
  3. How would you implement core data to work in a multi-threaded environment?

Recommended reading: - Exploring all the different core data concurrency configurations - A real guide to core data concurreny - New in core data and iOS8 batch updating - Maintaing a silky smooth UI with core data

9. Objective-C Language Features

  1. Swift Language Features

  2. Instruments and Profiling

  3. Debugging

  4. Code Signing

Top Contributors