ISBN-13: 9781484242728 / Angielski / Miękka / 2018 / 62 str.
ISBN-13: 9781484242728 / Angielski / Miękka / 2018 / 62 str.
Chapter 1. Get a Junior Developer
Question 1: What is a Struct in iOS?
Question 2: Explain what is a framework in iOS
Question 3: How can you store information within your iOS app?
UserDefaults can be used to persist a small amount of data. Typical examples are part of the configuration required to run the application. UserDefaults can persist the primitive types in iOS (String, Data, Number, Date, Array and Dictionary)Question 4: What is a Dictionary? Is it similar to other structures in other programming languages?
Question 5: What is a provisioning profile?
Question 6: What is ARC?
Question 7: What is an AutoLayout?
Question 8: How do you manage dependencies in iOS?
Question 9: How do you debug and profile on iOS?
Question 10: What is the difference between an “app id” and a “bundle id” in iOS?
Question 11: Explain how Code Signing Works?
Question 12: What is the difference between frame and bounds?
Question 13: How do you cast between types?
Question 14: Which method would you call to find an object type?
Question 15: What's the difference between #if and #ifdef?
Question 16: Tell us about iOS compilers
Question 17: How can you keep different flavours for production and development releases?
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?
Question 19: How do you track bugs? What are your tools of choice?
Question 20: Explain NSUserDefaults
Question 21: How do you test your code? How do you make your code testable?
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?
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?
Question 24: Explain your process for tracing and fixing a memory leak.
Question 25: List six instruments that are part of the standard iOS set
Question 26: How do I add resources to my app?
Question 27: What are blocks?
Question 28: How do you insert a sanity check that will be disabled in release builds?
Question 29: When is let appropriate in Swift? var?
Question 30: What is a protocol, how do you define your own and when is it used?
Question 31: What is MVC? How is it implemented in iOS? Are there any alternatives to MVC?
Question 32: What are different ways that you can specify the layout of elements in a UIView?
Question 33: What format code is used to print a formatted message with NSString?
Chapter 2. That guy who has already been working with iOS for some time.
Question 34: How memory management is handled on iOS?
Question 35: What do you know about singletons? Where would you use one and where you wouldn't?
Question 36: How do you typically do networking?
Question 37: How would you download a JSON from a web server and serialize it and save in your local storage?
Question 38: What design patterns are you aware of in iOS and use them?
Question 39: How do you handle async tasks?
Question 40: Describe managed object context, and which kind of functionality they provide.
Question 41: Compare and contrast the different ways of achieving concurrency in OS X and iOS.
Question 42: Explain me the different background modes in iOS
Question 43: List and explain the different types of iOS Application States.
Question 44: What are the differences between copy and retain?
Question 45: What can force an object destruction with ARC?
Question 46: What happens when you invoke a method on a nil pointer?
Question 47: When it is mandatory to synthetise properties?
When they are declared in protocols
Question 48: What is NSAssert?
Question 49: What is a category in iOS?
Question 50: What could you use to add a new method to NSString?
Question 51: What's your preference when writing UI's? Xib files, Storyboards or programmatic UIView?
Advantages with Storyboards
Advantages with views created programmatically
Question 52: How would you securely store private user data offline on a device? What other security best practices should be taken?
Question 53: Have you ever worked with NSOperationQueue? Can you explain it?
Question 54: How would you serialize an array to disk?
Question 55: How does instancetype work and how is it useful?
Question 56: What means the term reflection?
Question 57: What are layer objects and what do they represent?
Question 58: In Swift enumerations, what’s the difference between raw values and associated values?
Question 59: Explain what does @synthesize do
Question 60: Mention what are the collection types available in Swift?
Question 61: What is a custom operator in swift?
Question 62: Any issues you are aware of working with blocks?
Question 63: What is an iOS extension?
Question 64: Explain application sandboxing
Question 65: How do you develop applications for iPad and iPhone?
Question 66: Explain me the different background modes in iOS
Chapter 3. We need that guy on board, we want to do great things!
Question 67: Could you explain what is the difference between Delegate and KVO?
Question 68: Explain method swizzling. When you would use it?
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. Explain what happens.
Question 70: Give two separate and independent reasons why retainCount should never be used in shipping code.
Question 71: Explain how an autorelease pool works at the runtime level.
Question 72: Which is faster: to iterate through an NSArray or an NSSet?
Question 73: Which is faster: to iterate through an NSArray or an NSSet?Question 74: Do you have to implement all the declarations from an adopted protocol?
Question 75: What is a shortcut for calling alloc and init?
Originally in Objective-C, objects were created with new. As the OpenStep/Cocoa framework evolved, the designers developed the opinion that allocating the memory for an object and initializing its attributes were separate concerns and thus should be separate methods (for example, an object might be allocated in a specific memory zone). So the alloc-init style of object creation came into favor. Basically, new is old and almost-but-not-quite deprecated — thus you'll see that Cocoa classes have a lot of init methods but almost never any custom new methods.
Question 76: What kind of pointer can help to safely avoid a memory leak?
Question 77: What can help to prevent an out of memory crash If you have a long running execution loop?
Question 78: What considerations do you need when writing a UITableViewController which shows images downloaded from a remote server?
Question 79: What is KVC and KVO? Give an example of using KVC to set a value.
Question 80: What mechanisms does iOS provide to support multi-threading?
Question 81: What is the Responder Chain?
Question 82: What's the difference between using a delegate and notification?
Question 83: How would you securely store private user data offline on a device? What other security best practices should be taken?
Question 84: Are SQL injection attacks valid in iOS? How would you prevent them?
Question 85: What are the common reasons for app rejections in the Store?
Question 86: How can you make a code snippet thread safe?
Question 87: Why should we release the outlets in viewDidUnload?
Question 88: What is the difference between a shallow copy and a deep copy?
Question 89: How would you pass an unknown type as a parameter?
Question 90: What is de-initializer and how it is written in Swift?Question 91: Explain what is optional chaining
Question 92: What is the Fallthrough statement? What does it do?
Question 93: Explain what Lazy stored properties is and when it is useful?
QuestionHave you heard of Handoff?
Question 95: Can you have more UIWindows in iOS?
Question 96: What is Metal?
Question 97: Can you come up with strategies to increase efficiency in your networking?
Question 98: Tell me the most complex problem you had to solve at your previous work
Question 99: What is autorealease pool?
Question 100: Outline the class hierarchy for a UIButton until NSObject.
Can I Ask you for a favor?
Enrique López Mañas is a Google Developer Expert and independent IT consultant. He has been working with mobile technologies since 2007. He is an avid contributor to the open source community and a FLOSS (Free Libre Open Source Software) enthusiast, and is among the top 10 open source Java contributors in Germany. He is a part of the Google LaunchPad accelerator, where he participates in Google global initiatives to influence hundreds of the best startups from all around the globe. He is also a big data and machine learning aficionado.
Are you an iOS developer, looking forward to your next career move? Or are you interviewing for positions at your company or start-up? Either way, this book provides the right questions and answers to help you in the review process.
If you are an interviewer, this book can guide you on which questions are the most useful to ask to find the perfect candidate. Generic interview questions found online are repetitive and often unrelated to the day-to-day tasks of an iOS developer. If you are aiming at hiring a professional programmer you should consider more advanced questions about architecture, patterns, or frameworks such as those included in this book.
All questions are answered clearly and comprehensively and each one is categorized and reviewed from some of the top iOS engineers worldwide. Some of the questions provide quick follow-ups, which might make the difference between a good enough answer and a stellar one. Questions are divided in three different levels, so whether you are a beginner or an advanced iOS developer, this book will help you to land your dream iOS development Job!
1997-2024 DolnySlask.com Agencja Internetowa