I need some help crafting some better iOS interview questions.<p>These are the questions I've been asking, but I feel they are too
beginner/intermediate. Need some more advanced questions to find the
top talent.<p>* Explain what ARC is and how it works?
* Why does your app crash when the device is low on memory?
* What is a retain-cycle and how do you find and fix them?
* What is fast enumeration?
* How many bytes can we send to apple push notification server?
* Describe the flow of push notifications?
* What is the difference between retain & assign?
* Explain the difference between a category and a protocol?
* What is Delegation in iOS?
* Assume that your app is running in the foreground but is currently not
receiving events. In which state it would be in?
* What are some distribution options for iOS apps?
* What's the process for publishing to the App Store?
* What does it mean to call objective-c a messaging language?<p>I appreciate your feedback!
What are four uses of categories and what other construct can you replace each of them with (bonus: when should you replace them with those constructs)?<p>Explain the interior pointer problem, when it applies, and what you can do about it.<p>Describe what happens in objc_msgSend, and give two reasons why it's implemented in assembly rather than C.<p>How would you implement NSMutableSet?<p>Explain the proper uses of (__bridge), (__bridge_retained) and (__bridge_transfer) casts.<p>Explain all the important differences between direct ivar access and access through a property, under MRC and under ARC.<p>When should you use +/-conformsToProtocol: instead of +/-respondsToSelector:?<p>How would you implement toll-free bridging?
Just a few off the top of my head, hope this helps:<p>- Explain the relationship between a UIView and a CALayer<p>- When it comes to animation, what are the differences between animatable properties on a UIView and a CALayer.<p>- How would you go about creating an UIImage and using Core Graphics primitives outside of a drawRect method.<p>- When initializing ivars in a UIViewController being used in a XIB or Storyboard, which method would you want to override?<p>- Walk through the flow of a UIVIewController. What methods get called and in which order?<p>- How would you check to see if an object implements a protocol?<p>- What is KVO? Give an example of how to use it.
Write a doubly linked list in C#.
(I shit you not, I had a large consultancy interview me for an IOS position and this was the one interview question that they asked).
If the interviewee has an app in the App Store, a good option might be to let them tell you about the technical details. Go over their code and ask them to explain everything. In the right situation, this may be a good section to add on to the questions you already have.