20 iOS Developer
Interview Questions
Question 1
• On a UITableViewCell constructor:
What is the reuseIdentifier used for?
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString
*)reuseIdentifier
Question 2
• Explain the difference between atomic and nonatomic
synthesized properties?
Question 3
• Explain the difference between copy and retain?
Question 4
• What is method swizzling in Objective C and why would you
use it?
Question 5
• What’s the difference between not-running, inactive, active,
background and suspended execution states?
Question 6
• What is a category and when is it used?
Question 7
• Can you spot the bug in the following code and suggest how to fix it:
@interface MyCustomController : UIViewController
@property (strong, nonatomic) UILabel *alert;
@end
@implementation MyCustomController
- (void)viewDidLoad {
CGRect frame = CGRectMake(100, 100, 100, 50);
self.alert = [[UILabel alloc] initWithFrame:frame];
self.alert.text = @"Please wait...";
[self.view addSubview:self.alert];
dispatch_async(
dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
0),
^{ sleep(10);
self.alert.text = @"Waiting over";
}
);
}
@end
Question 8
• What is the difference between viewDidLoad and
viewDidAppear? Which should you use to load data from a
remote server to display in the view?
Question 9
• What considerations do you need when writing a
UITableViewController which shows images downloaded from a
remote server?
Question 10
• What is a protocol, how do you define your own and when is
it used?
Question 11
• What is KVC and KVO? Give an example of using KVC to set a
value.
Question 12
• What are blocks and how are they used?
Question 13
• What mechanisms does iOS provide to support multi-
threading?
Question 14
• What is the Responder Chain?
Question 15
• What's the difference between using a delegate and notification?
Question 16
• What's your preference when writing UI's? Xib files,
Storyboards or programmatic UIView?
Question 17
• How would you securely store private user data offline on a
device? What other security best practices should be taken?
Question 18
• What is MVC? How is it implemented in iOS? What are some
pitfalls you've experienced with it? Are there any
alternatives to MVC?
Question 19
• A product manager in your company reports that the
application is crashing. What do you do?
Question 20
• What is AutoLayout? What does it mean when a constraint is
"broken" by iOS?
Standard Questions
• “Tell me about yourself”.
• "Describe an interesting problem and how you solved it."
Let’s jump into the WEIRD questions
• How would you test a toaster?
• How many pens can you fit into an airplane?
• How many windows are in San Francisco?
• How many golf balls can fit in a school bus?
• How many Big Macs does McDonald's sell each year in the U.S.?
THANK YOU

20 iOS developer interview questions

  • 1.
  • 2.
    Question 1 • Ona UITableViewCell constructor: What is the reuseIdentifier used for? - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
  • 3.
    Question 2 • Explainthe difference between atomic and nonatomic synthesized properties?
  • 4.
    Question 3 • Explainthe difference between copy and retain?
  • 5.
    Question 4 • Whatis method swizzling in Objective C and why would you use it?
  • 6.
    Question 5 • What’sthe difference between not-running, inactive, active, background and suspended execution states?
  • 7.
    Question 6 • Whatis a category and when is it used?
  • 8.
    Question 7 • Canyou spot the bug in the following code and suggest how to fix it: @interface MyCustomController : UIViewController @property (strong, nonatomic) UILabel *alert; @end @implementation MyCustomController - (void)viewDidLoad { CGRect frame = CGRectMake(100, 100, 100, 50); self.alert = [[UILabel alloc] initWithFrame:frame]; self.alert.text = @"Please wait..."; [self.view addSubview:self.alert]; dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ sleep(10); self.alert.text = @"Waiting over"; } ); } @end
  • 9.
    Question 8 • Whatis the difference between viewDidLoad and viewDidAppear? Which should you use to load data from a remote server to display in the view?
  • 10.
    Question 9 • Whatconsiderations do you need when writing a UITableViewController which shows images downloaded from a remote server?
  • 11.
    Question 10 • Whatis a protocol, how do you define your own and when is it used?
  • 12.
    Question 11 • Whatis KVC and KVO? Give an example of using KVC to set a value.
  • 13.
    Question 12 • Whatare blocks and how are they used?
  • 14.
    Question 13 • Whatmechanisms does iOS provide to support multi- threading?
  • 15.
    Question 14 • Whatis the Responder Chain?
  • 16.
    Question 15 • What'sthe difference between using a delegate and notification?
  • 17.
    Question 16 • What'syour preference when writing UI's? Xib files, Storyboards or programmatic UIView?
  • 18.
    Question 17 • Howwould you securely store private user data offline on a device? What other security best practices should be taken?
  • 19.
    Question 18 • Whatis MVC? How is it implemented in iOS? What are some pitfalls you've experienced with it? Are there any alternatives to MVC?
  • 20.
    Question 19 • Aproduct manager in your company reports that the application is crashing. What do you do?
  • 21.
    Question 20 • Whatis AutoLayout? What does it mean when a constraint is "broken" by iOS?
  • 22.
    Standard Questions • “Tellme about yourself”. • "Describe an interesting problem and how you solved it." Let’s jump into the WEIRD questions • How would you test a toaster? • How many pens can you fit into an airplane? • How many windows are in San Francisco? • How many golf balls can fit in a school bus? • How many Big Macs does McDonald's sell each year in the U.S.?
  • 23.