A small guide to help those looking to hire a developer or designer for iOS work. While tailored for iOS, many questions could be used for Android developers or designers as well. A great self-test if you're looking to keep current or practice for your own interview.
Inspired by the wonderful Front-end Job Interview Questions, I've done my best to match their format and have pulled some of their best questions for inclusion here. Pull requests and suggestions to this repository are highly encouraged.
Contributors: Original work by Cameron Banga. Big thanks to Joe Pasqualetti for his significant additions here so far!
Explain Handoff, and in general, how it allows iOS and Mac/web apps to communicate?
What technologies/services are contained inside of iCloud?
What is an iOS extension? Can you list a few examples of popular/common extensions?
What is HealthKit?
What is HomeKit?
What is Apple Pay? Could you describe a way we could use it in our applications?
Explain application sandboxing.
What is VoiceOver? Explain some of the accessibility features included in iOS and how developers can utilize them.
How does application multitasking work on iOS?
What features does Game Center offer for iOS games?
What are iBeacons?
What is Cocoa/Cocoa Touch?
Explain in general, what Core Audio, Core Data, and Core Location are, and how they help iOS apps.
Describe the role of SpriteKit and SceneKit.
What is Metal?
What is the responder chain? How does it work?
What are the different actions that buttons and other controls can respond to?
What is the role of the application delegate?
Explain NSUserDefaults. How would you serialize an array to disk?
How would you store user's credentials?
Explain Keychain Services.
Why are caching and compression important on mobile devices?
Explain ~/Documents, ~/Library, ~/tmp. What directory is ~ on iOS?
How does AirPlay work? How would you use it (programmatically) to enhance the utility and presentation of an app?
Give a brief overview of what sensors, IO and communication methods (Wifi, telephony, etc) are available on iOS. How can you make use of these?
What are the hardware performance differences among the iPad 2 / iPad mini 1-3, iPad Retina, iPad Air 2, iPhone 5, 5s, 6, and 6+. What do these constraints mean for performance intensive apps?
Why do Cocoa Touch classes start with two capital letters?
What is Swift, what is Objective-C and how do they relate and compare?
Explain why optionals are useful in Swift.
Explain NSError and how it works (or doesn't) in Swift.
How does instancetype work and how is it useful?
When is let appropriate in Swift? var?
Why and where is the map function useful.
How do you track down bugs? What are your tools of choice?
You found a bug in Cocoa. What do you do?
There is a regression in a new distributed version of our app causing crashes. How do you mitigate it? How will you prevent new bugs from reaching customers?
How are Objective-C classes implemented? Describe how the Objective-C runtime is implemented.
What security does iOS offer to protect customers and privileged information?
Our app downloads data and displays it immediately. In accordance with MVC where is the best place to perform the download?
How does MVC influence the design of a codebase?
What methods are part of the controller life-cycle? The view life-cycle?
What design patterns does iOS make use of? What design patterns do you use in your codebase?
What queues does iOS provide and how can you best utilize them?
Give a brief description of how UIScrollView is implemented. How does it operate with gesture recognizers, multiple touches and the run loops?
请发表评论