When you're ready to hire someone new for your team, it's important to think about what questions you should ask during the interview. You want to focus on the questions that are most relevant for your team and role you're hiring for, so you can understand how candidates will use their skills and experience to contribute to your company.
Look for someone with different areas of expertise from your own—this way, you can supercharge your team and get more done!
What Are the Questions Asked in an iOS Interview?
Sitting someone down for an interview is often stressful and difficult, but with some preparation ahead of time you can make it much easier to find the right person for your team.
We’ve put together a list of iOS interview questions that will help you evaluate candidates and determine whether they’re a good fit for your team.
Below are the iOS interview questions we've had the most success with over the years. They're meant to be used as a guide. You can add your own questions and tweak them as needed.
We've divided them into five sections:
What is let and var in Swift?
What are properties and instance variables in Objective-C and Swift?
What is Optional in Swift and nil in Swift and Objective-C?
What is the difference between struct and class in Swift? When would you use one or the other?
What is a protocol (both Obj-C and Swift)? When and how is it used?
What is a category/extension? When is it used?
What are closures/blocks and how are they used?
How is memory management handled in iOS?
How do you typically implement networking on iOS?
What are the concerns and limitations of networking on iOS?
What should go into the networking/service layer?
What is NSURLSession? How is it used?
What is AFNetworking/Alamofire? How do you use it?
What is RestKit? What is it used for? What are the advantages and disadvantages?
How do you handle multi-threading with networking on iOS?
How do you serialize and map JSON data coming from the backend?
How do you download images on iOS?
How would you cache images?
How do you download files on iOS?
Have you used sockets and/or pubsub systems?
How do you test network requests?
What is the storage layer for in iOS applications?
What can you use to store data on iOS?
What is NSCoding?
What is NSUserDefaults?
What is Keychain and when do you need it?
How do you save data to a disk on iOS?
What database options are there for iOS applications?
How is data mapping important when you store data?
How would you approach major database/storage migration in your application?
What are the challenges in working with UI on iOS?
What do you use to lay out your views correctly on iOS?
What are CGRect Frames? When and where would you use them?
What is AutoLayout? When and where would you use it?
What are compression resistance and content hugging priorities for?
How does AutoLayout work with multi-threading?
What are the advantages and disadvantages of creating AutoLayouts in code versus using storyboards?
How do you work with storyboards in a large team?
How do you mix AutoLayout with Frames?
What options do you have with animation on iOS?
How do you do animation with Frames and AutoLayout?
How do you work with UITableView?
How do you optimize table views performance for smooth, fast scrolling?
How do you work with UICollectionView?
How do you work with UIScrollView?
What is UIStackView? When would you use it and why?
How do you unit and integration test UI?
What design patterns are commonly used in iOS apps?
What is MVC?
What is MVVM?
What are the common layers of responsibility that an iOS application has?
What are SOLID principles? Can you give an example of each in iOS/Swift?
How do you manage dependencies in iOS applications?
What is Functional Programming and Functional Reactive Programming?
What are the design patterns besides common Cocoa patterns that you know of?
Interview Scorecard Templates by InterviewTime
To save everyone’s time, InterviewTime has created a list of templates available for you to use as-is or as inspiration for creating your own interview scorecard template based on what information will be useful for hiring in your company!