Interview FAQ Flashcards
What security measures/tools/solutions have you worked with, in what project, and how?
N
How do you differentiate the account between a user using TouchID for one user and another one
without? Also, what challenges can you face in this?
N
Can you differentiate if the TouchID is of one user or the other?
N
Talk about your experience with key chain.
N
What are the best practices to encrypting a key?
N
What is encryption?
n
What is obfuscation?
n
What is SSL?
n
What are tokens in relation to security?
n
What is certificate pinning in relation to security?
n
How do you install bluetooth in an app and talk about experience with this in a project.
n
- How do you install location, Core Location capabilities in an app and talk about experience with this in a project.
n
How do you install in-app pay capability in an app, and talk about experience with this in a project.
n
How do you install mapping and Map Kit capability in a project, and talk about experience with this in a
project.
n
What is TDD?
n
What’s the value of TDD?
n
How does TDD work and what’s the process?
n
What is your experience with TDD on a project?
n
What is your experience with pull requests for code reviews?
n
How do pull requests work?
n
What do you look for in sound code?
n
- What is your experience with code coverage percent and what is it and why is it valuable?
n
What is your experience with paired programming what is it and why is it valuable
n
What is your experience with unit testing andw hat tools have you use other than XCTest?
n
- What is your experience with UI-Automated testing and what tools have you used?
n
- Talk about Appium, its use, and why it’s a useful tool.
n
- Talk about Calabash, its use, and why it’s a useful tool.
n
- What are retain cycles and how to avoid retain cycles?
n
- How do you manage memory in iOS–and what tools are available to do such?
n
- How do you proactively avoid issues in the first place with the app (bugs, memory, battery)?
n
- Describe a time you faced a challenge in memory management, what you found, and how you handled it.
n
- How do you make sure your app is optimized, overall?
n
- What steps do you take to debug a crash?
n
- What is actually shown to you in crash logs – what information?
n
- What is the different between Crashlytics crashlogs and iTunes Connect crash logs?
n
- How do you install Crashlytics?
n
- Talk about your experience in making network calls? What tools did you use?
n
- What do you have to consider with security in making network calls?
n
What are the Apple Human Interface Guidelines and what’s your experience with them? What are they
important? How have they informed what native iOS users have grown to expect in their UI/UX experience?
n
Talk about AR (augmented reality) in relation to your experience. If no experience in it, how would it at least
be implemented and what are some uses you can think of for it in an app and for the end user?
n
Talk about WatchKit in relation to your experience. If no experience in it, how would it at least be
implemented and what are some uses you can think of for it in an app and for the end user?
n
Talk about media streaming solutions experience.
n
How you populate a picker view with an API call?
n
How you send a message to an API?
n
Describe the process to publishing one app into the appstore.
n
What is Test Flight and other tools that do the same function (to create beta builds) and how can you relate
it to you resume/project?
n
Describe Apple Push Notifications work flow and how do you relate this to your profile?
n
In Apple Push Notifications - what is the payload size?
n
What is a silent push notification and when would it be good for an app to employ this?
n
Talk about what iBeaconsare, how they work, how to implement, and the value of using them.
n
Talk about geofencing, how it works, how to implement, and a use case of why a dev would want to
implement it in an app.
n
- Talk about your experience with storyboards.
n
- Talk about your experience with different size classes and auto layout.
n
- If you change the frame of the view at runtime and you’re using Auto Layout what happens at runtime if you
modify it programmatically?
n
How do you go about building out the UI, generally?
n
How you can achieve multiple inheritance in Swift?
n
Talk about the use of bridging headers in Swift.
n
- Which would you choose to code in Swift or Obj-Candwhy?
n
- What does Swift offer over Obj-C?
n
- What does Obj-C offer over Swift?
n
- How do you perform a migration from Obj-C to Swift?
n
- Talk about the difference between overloading vs overriding? Talk about the difference between overloading vs overriding?
n
- What is abstraction?
n
- What is inheritance?
n
- What is encapsulation?
n
Describe polymorphism
n
Open and Closed principles in swift – describe this, and also give an example of how you can use these
principles in your last project.
n
- Have you worked with the Decorator pattern and also give an example of actually * when.*
n
- What is your most familiar design patterns across these categories: creational, structural, behavioral–gives
examples of all three and when you used.
n
- If you created an app from scratch, which architecture would you use (MVC, MVVM, MVP, Viper) and why? If you created an app from scratch, which architecture would you use (MVC, MVVM, MVP, Viper) and why?
n
- What is KVO?
n
- What is delegation?
n
- What is the difference between KVO and Delegation and NSNotification?
n
- Explain Notifications in terms of a design pattern.
n
- Give an example of when you’d use the design pattern Notifications in your project.
n
- Talk about Foundation objects.
n
What’s the difference in NSSet and NSString?
n
- How to determine equality between NSObjects, and is native to NSObject class?
n
- Have you use MRR?
n
- What are the states of the app?
n
- If a user is actually using the app and receives a call, what state does the app go into?
n
What are the latest updates in the latest version of Xcode and when was it released and do you experience
any issues with it?
n
What are the latest updates in the latest version of Swift and when was it released and do you experience
any issues with it?
n
What are the latest updates in the latest version of iOS and when was it released and do you experience any
issues with it?
n
What interests you from the last WWDC (World Wide Dev Conference)?
n
- What resources do you use to stay up to date in iOS and Apple, generally, and how so?
n
- What is lightweight migration in Core Data?
n
Give an example of lightweight migration you have actually done (in CoreData), and how does it actually
work?
n
- Describe the creation of an app that makes a request to an API which populates a TableView with models created with a JSON, using MVVM.
n
Which mechanism would you to safely save a password in the end user’s device and why do you chose this
mechanism.
a. Sub-Question: Give an example of doing this in a previous project.
n
- Value Types vs Reference Types–describe the difference, and how are these related to Swift?
reference typessharea single copy of their data
value typeskeepa unique copy of their data.
- Any vs Any Object – describe the difference.
AnyObject is only for reference types (classes), Any is for both value and reference types.
- Can you use Any Object with enums and arrays?
No. AnyObject refers to any instance of a class. Not enums and structs
- What is a Swift protocol?
Protocol is a blueprint of some methods, properties and some functionalities that suit for some particular tasks.
- Differences between Obj C protocols and Swift protocols – describe.
In obj-c only a class can adopt a protocol, not a struct or enum.
- What is an optional?
Optional tells us a value is nil or not. We use it when there might be an absent of value.
- What is optional chaining?
letting you build a “chain” of optionals that stops executing whenever an optional in the chain is nil.
- What is optional binding?
Optional binding used when we try to find out an optional contains value or not.
- What is a tuple?
Tuple groups multiple values into a single compound value. The values within the tuple can be any types.
- Are tuples limited to only two or three?
No
- Difference between Guard and Let?
Guard let will exit the scope if the value is nil.
If let will not run if the value is nil
102.What is Generics?
Help us to create flexible and reusable code in swift. Generics are used to avoid duplicates and provides abstraction.
- Explain GCD and NSOperations, and the differences.
Grand Central Dispatch (GCD) is a low-level API for managing concurrent operations.
NSOperation is an Objective-C API and that brings some overhead with it.
- Describe why it’s valuable to employ GCD and NSOperations.
n
- Explain when you’d use one over the other – GCD versus NSOperations.
n
- It is possible to add a dependency in GCD?
n
- What are the three URL Configurations?
n
- What are the differences between URL Configurations you’ve listed above?
n
- What’s the rate limit of silent notifications?
n
- What is difference between atomic and non-atomic?
n
- How does iOS achieve thread safety?
n
- What is difference between strong and weak?
n
- What are categories in Obj-C.
n
- What are extensions in Obj-C?
n
- Why do you have to set IBOutlets set to weak?
n
- What are stacks? Which control in iOS uses Stacks?
n
- What is MVVM and MVC? (not just the words or definition, but the advantages over other architectural designs – the aim here is to do a senior-level comparison and what one may address over the other)
n
- What is a REST API?
n
- What is SOAP?
n
- What is the difference between SOAP and Restful web services?
n
- What is the difference between stateless and stateful web services?
n
- In Obj-C, what problems do you have in blocks?
n
- In Obj-C, how can you avoid retain cycle in blocks?
n
- What is an Extension in Swift?
n
- In Obj-C, can you add properties in Categories?
n
- What is toll-bridging and describe its purpose?
n
- Define class cluster and describe the purpose?
n
- What is difference between KVC and KVO?
n
- What is method swizzling and the purpose?
n
- What is a linked list?
n
- Difference between array and linked list?
n
- How does an array work in terms of memory and in comparison to a linked list – which is faster?
n
- What is a queue in relation to GCD?
n
- What are the different queues in GCD?
n
- How do we assign priority to queues in GCD?
n
- What is the value of assigning priorities to queues in GCD and give an example of doing this?
n
- What object in iOS uses a stack?
n
- What is Singleton?
n
- How do you create a singleton in Obj-C?
n
- How do you create a singleton in Swift?
n
- Give an example of when actually using and choosing Singleton make sense to use?
n
- Give me the exact syntax of a singleton.
n
- Give me an example of when you’ve used this on project.
n
- What is a closure in Swift?
n
- Difference between Retain and Copy?
n
- Difference between shallow versus deep copy?
n
- Give of an example of when using a copy property makes sense.
n
- What Databases have you used?
n
- What are the different components making up Core Data?
n
- In Core Data, can you have multiple managed contexts?
n
- What is Core Data Faulting?
n
- How do you ensure thread safety in Core Data?
n
- What are the different contexts you can use in Core Data?
n
- How do you fetch data from Core Data? Explain steps.
n
- What is mapping model in data bases and how is this related to lightweight migration in Core Data?
n
- Different types of URLSession’s data task?
n
- What are the different session types?
n
- Difference between Sync vs Async?
n
- What is Apple Notification Center Service?
n
- How would you set constraints to center 3 buttons on the UI?
n
- How would you synchronize contact in offline apps and locally?
n
- In obj c and swift- what do they mean by type safe language?
n
- What are the benefits of having a type safe language?
n
- What is NS error object and how do you use it?
n
- What are the three parts to NS error object?
n
- Why better to throw an error vs default state?
n
- Whichonemaybebetter,andvalidatewhyyouthinksuch(inrelationtothrowinganerrorversusdefault
state)
n
- Have you written code in your job where you threw errors? Can you at least describe that code?
n
- Forsingletondesignpattern,ifyouhavealoginfunctionisitagoodideatousesingletonandexplainwhy.
n
- What is a binary tree and give an example of using one (and when) – both in Obj-C and Swift (two uses
cases) .
n
- I want to be able to make multiple API requests at the same time, however, I also what to ensure they
return in a certain (or sequential) order – what is the process I do to ensure this?
n
- Give an example of when you’ve had to ensure something similar to the above in a previous project?
n
- Have you used XCTest, on what project, and in what way?
n
- Have you used JENKINS, on what project, in what way, and what does Jenkins enable and why is it
valuable?
n
- Have you actually set up the Jenkins sever and environment?
n
- Have you written code using Fastlane and if not Fastlane, what tool similar have you used and how so?
n
177.What is ARC and how does it work?
n
178.Obj-C – properties that are dynamic vs synthesize – discuss this.
n
- How are dispatch groups implemented?
n
- Have you used dispatch groups in your projects?
n
- How do child contexts work?
n
- How do you ensure all the conditions are met for Unit Tests?
n
- Can you capture the unit test results?
n
- Singleton – do you still need to overload the init
n
- Discuss a specific scenario working with locks.
n
- What is the difference between dispatch sync and dispatch async?
n
- NSFetchResultsController – describe how to use it and its purpose.
n
- What’s the advantage of using NSFetchResultsController vs other options?
n
- Difference between nil and none?
n
- How is the implementation of structure different in Obj-C and Swift?
n
- Can you have service responses with SOAP?
n
- Is there an iOS framework for XML?
n
- What are the different parsers in XML?
n
- Difference between mode-based parsing and event-based parsing?
n
- Talk about your experience with RxSwift and how to implement it, too.
n
- Talk about your experience with RxCocoa and how to implement it, too.
n
- Have you used HTTP and how does it work?
n
- Have you worked with RFP’s?
n
- Have you worked with hybrid apps?
n