About the Author |
|
ix | |
Acknowledgments |
|
xi | |
Introduction |
|
xiii | |
Chapter 1 Questions for a Junior Developer |
|
1 | (20) |
|
Question 1 What is a struct in iOS? |
|
|
1 | (1) |
|
Question 2 What is a framework in MS? |
|
|
2 | (1) |
|
Question 3 How can you store information within your iOS app? |
|
|
3 | (1) |
|
Question 4 What is a dictionary? Is it similar to other structures in other programming languages? |
|
|
4 | (1) |
|
Question 5 What is a provisioning profile? |
|
|
4 | (1) |
|
|
4 | (1) |
|
Question 7 What is Auto Layout? |
|
|
5 | (1) |
|
Question 8 How do you manage dependencies in iOS? |
|
|
5 | (1) |
|
Question 9 How do you debug and profile on iOS? |
|
|
6 | (1) |
|
Question 10 What is the difference between an App ID and a Bundle ID in iOS? |
|
|
6 | (1) |
|
Question 11 How does code signing work? |
|
|
6 | (1) |
|
Question 12 What is the difference between a frame and bounds? |
|
|
7 | (1) |
|
Question 13 How do you cast between types? |
|
|
8 | (1) |
|
Question 14 Which method would you call to find an object type? |
|
|
9 | (1) |
|
Question 15 What's the difference between #if and #ifdef? |
|
|
9 | (1) |
|
Question 16 What are iOS compilers? |
|
|
10 | (1) |
|
Question 17 How can you keep different flavors for production and development releases? |
|
|
11 | (1) |
|
Question 18 What is the difference between viewDidLoad and viewDidAppear? Which one would you use to load data from a remote server and display it in the screen? |
|
|
11 | (1) |
|
Question 19 How do you track bugs? What are your tools of choice? |
|
|
12 | (1) |
|
Question 20 What is NSUserDefaults? |
|
|
12 | (1) |
|
Question 21 How do you test your code? How do you make your code testable? |
|
|
13 | (2) |
|
Question 22 What is the difference between atomic and nonatomic properties? Which is the default for synthesized properties? When would you use one vs. the other? |
|
|
15 | (1) |
|
Question 23 What are "strong" and "weak" references? Why are they important, and how can they be used to help control memory management and avoid memory leaks? |
|
|
15 | (1) |
|
Question 24 What is your process for tracing and fixing a memory leak? |
|
|
16 | (1) |
|
Question 25 What six instruments are part of the standard iOS set? |
|
|
16 | (1) |
|
Question 26 How do I add resources to my app? |
|
|
16 | (1) |
|
Question 27 What are blocks? |
|
|
17 | (1) |
|
Question 28 How do you insert a sanity check that will be disabled in release builds? |
|
|
17 | (1) |
|
Question 29 When are let and var appropriate in Swift? |
|
|
18 | (1) |
|
Question 30 What is a protocol, how do you define your own, and when is it used? |
|
|
18 | (1) |
|
Question 31 What is MVC, how is it implemented in iOS, and does it have any alternatives? |
|
|
19 | (1) |
|
Question 32 What are different ways in which you can specify the layout of elements in a UIView? |
|
|
20 | (1) |
|
Question 33 What format code is used to print a formatted message with NSString? |
|
|
20 | (1) |
Chapter 2 Questions for Prospective Candidates Who Have Been Working with iOS for Some Time |
|
21 | (20) |
|
Question 34 How is memory management handled on iOS? |
|
|
22 | (1) |
|
Question 35 What do you know about singletons? Where would you use one, and where would you not? |
|
|
22 | (1) |
|
Question 36 How do you typically do networking? |
|
|
23 | (1) |
|
Question 37 How would you download a JSON from a web server, serialize it, and save it in your local storage? |
|
|
23 | (1) |
|
Question 38 What design patterns are you aware of in iOS and use? |
|
|
24 | (1) |
|
Question 39 How do you handle async tasks? |
|
|
24 | (1) |
|
Question 40 What is managed object context, and what kind of functionality does it provide? |
|
|
25 | (1) |
|
Question 41 Can you compare and contrast the different ways of achieving concurrency in OS X and iOS? |
|
|
25 | (1) |
|
Question 42 What are the different background modes in iOS? |
|
|
26 | (1) |
|
Question 43 Can you list and explain the different types of iOS application states? |
|
|
27 | (1) |
|
Question 44 What are the differences between copy and retain? |
|
|
28 | (1) |
|
Question 45 What can force an object destruction with ARC? |
|
|
29 | (1) |
|
Question 46 What happens when you invoke a method on a nil pointer? |
|
|
29 | (1) |
|
Question 47 When is it mandatory to synthetize properties? |
|
|
29 | (1) |
|
Question 48 What is NSAssert? |
|
|
30 | (1) |
|
Question 49 What is a category in iOS? |
|
|
30 | (1) |
|
Question 50 What could you use to add a new method to NSString? |
|
|
30 | (1) |
|
Question 51 What's your preference when writing UIs: XIB files, storyboards, or programmatic UIView? |
|
|
31 | (2) |
|
Question 52 How would you securely store private user data offline on a device? What other security best practices should be taken? |
|
|
33 | (1) |
|
Question 53 Have you ever worked with NSOperationQueue? Can you explain it? |
|
|
34 | (1) |
|
Question 54 How would you serialize an array to disk? |
|
|
35 | (1) |
|
Question 55 How does instancetype work, and how is it useful? |
|
|
35 | (1) |
|
Question 56 What does the term reflection mean? |
|
|
35 | (1) |
|
Question 57 What are layer objects, and what do they represent? |
|
|
36 | (1) |
|
Question 58 In Swift enumerations, what's the difference between raw values and associated values? |
|
|
36 | (1) |
|
Question 59 What does @synthesize do? |
|
|
37 | (1) |
|
Question 60 What are the collection types available in Swift? |
|
|
37 | (1) |
|
Question 61 What is a custom operator in Swift? |
|
|
38 | (1) |
|
Question 62 What issues are you are aware of when working with blocks? |
|
|
38 | (1) |
|
Question 63 What is an iOS extension? |
|
|
38 | (1) |
|
Question 64 What is application sandboxing? |
|
|
39 | (1) |
|
Question 65 How do you develop applications for iPad and iPhone? |
|
|
39 | (1) |
|
Question 66 What are the different background modes in iOS? |
|
|
40 | (1) |
Chapter 3 We Need That Person on Board to Do Great Things! |
|
41 | (18) |
|
Question 67 What is the difference between delegation and KVO? |
|
|
42 | (1) |
|
Question 68 What is method swizzling? When would you use it? |
|
|
42 | (1) |
|
Question 69 Take three objects: a grandparent, parent, and child. The grandparent retains the parent, the parent retains the child, and the child retains the parent. The grandparent releases the parent. What happens? |
|
|
43 | (1) |
|
Question 70 What are two separate and independent reasons why-retainCount should never be used in shipping code? |
|
|
43 | (1) |
|
Question 71 How does an autorelease pool work at the runtime level? |
|
|
44 | (1) |
|
Question 72 Which is faster: to iterate through an NSArray or an NSDictionary? |
|
|
44 | (1) |
|
Question 73 Which is faster: to iterate through an NSArray or an NSSet? |
|
|
45 | (1) |
|
Question 74 Do you have to implement all the declarations from an adopted protocol? |
|
|
45 | (1) |
|
Question 75 What is a shortcut for calling alloc and init? |
|
|
46 | (1) |
|
Question 76 What kind of pointer can help to safely avoid a memory leak? |
|
|
47 | (1) |
|
Question 77 What can help to prevent an out-of-memory crash if you have a long-running execution loop? |
|
|
47 | (1) |
|
Question 78 What are the requisite considerations when writing a UITableViewController that shows images downloaded from a remote server? |
|
|
48 | (1) |
|
Question 79 What is KVC and KVO? What is an example of using KVC to set a value? |
|
|
49 | (1) |
|
Question 80 What mechanisms does iOS provide to support multithreading? |
|
|
49 | (1) |
|
Question 81 What is the responder chain? |
|
|
50 | (1) |
|
Question 82 What is the difference between using a delegate and notification? |
|
|
51 | (1) |
|
Question 83 How would you securely store private user data offline on a device? What other security best practices should be taken? |
|
|
52 | (1) |
|
Question 84 Are SQL injection attacks valid in iOS? How would you prevent them? |
|
|
52 | (1) |
|
Question 85 What are the common reasons for app rejections in the App Store? |
|
|
52 | (1) |
|
Question 86 How can you make a code snippet thread safe? |
|
|
53 | (1) |
|
Question 87 Why should we release the outlets in viewDidUnload? |
|
|
53 | (1) |
|
Question 88 What is the difference between a shallow copy and a deep copy? |
|
|
54 | (1) |
|
Question 89 How would you pass an unknown type as a parameter? |
|
|
54 | (1) |
|
Question 90 What is deinitializer and how it is written in Swift? |
|
|
54 | (1) |
|
Question 91 What is optional chaining? |
|
|
55 | (1) |
|
Question 92 What is the Fallthrough statement? What does it do? |
|
|
55 | (1) |
|
Question 93 What are lazy stored properties and when are they useful? |
|
|
55 | (1) |
|
Question 94 Have you heard of Handoff? |
|
|
56 | (1) |
|
Question 95 Can you have more UIWindows in iOS? |
|
|
56 | (1) |
|
Question 96 What is Metal? |
|
|
56 | (1) |
|
Question 97 Can you come up with strategies to increase efficiency in your networking? |
|
|
56 | (1) |
|
Question 98 What is the most complex problem you had to solve at your previous job? |
|
|
57 | (1) |
|
Question 99 What is an autorealease pool? |
|
|
57 | (1) |
|
Question 100 What is the class hierarchy from a UIButton to an NSObject? |
|
|
58 | (1) |
|
Can I ask you for a favor? |
|
|
58 | (1) |
Index |
|
59 | |