I have had many IOS interviews in the past months. These are the most common questions that I have been asked. I hope these help you land your first, second, or even tenth IOS job. Good luck.
1. Question: What is the subclass of UIButton?
Answer: UIControl
2. Question: What is the subclass of UITableView and UICollectionView?
Answer: UIScrollView
3. Question: What delegate does AppDelegate implement?
Answer: UIApplicationDelegate
4. Question: What is the difference between Frameworks, and Libraries?
Answer: A framework calls your code, unlike a library where you call its code.
5. Question: Differences between static, and dynamic libraries?
Answer: Static libraries are locked into the app at compile time unlike dynamic libraries where the app does not need to recompile when modified. Static libraries make the app .ipa files larger as all the files have to be included in the executable.
6. Question: What is the difference between frame, and bounds in a view?
Answer: Frame is the coordinates relative to the view’s parent space. Bounds is the coordinates relative to its own space.
7. Question: Give an example of dependency injection
Answer: @IBoutlet and @IBAction which are used when attaching your viewController to storyboards is a great example of dependency injection.
8. Question: What is the difference between classes and structs
Answer: Classes are pass by reference, structs are pass by value.
9. Question: What is the difference between Extensions and Categories?
Answer: category is a way to extend class API in multiple source files while extension is a way to add required methods outside the main interface file.
10. Question: Difference between ViewDidLoad vs and ViewDidAppear?
Answer: ViewDidLoad is called when the View is entered into memory, generally only called once. ViewDidAppear is called whenever the view is shown on the screen.
11. Question: What is CI/CD?
Answer: CI/CD allows the app to be updated in production as often as multiple times a day. Using tools like Jenkins, or CircleCI
12. Question: What is MQTT protocol?
Answer: MQTT is a lightweight protocol for transmitting messages from a device to a client.
13. Question: Subclass of UIView
Answer: UIResponder
14. Question: What is telematics?
Answer: The intersection of information technology, and telecommunications.
15. Question: What are the five states an IOS app can be in?
Answer: Active, Inactive, Background, Suspended, Not Running
16. Question: What is CoreData?
Answer: Core Data is an object graph and persistence framework.It allows data organized by the relational entity-attribute model to be serialized into XML, binary, or SQLite stores.
17. Question: What pattern does SwiftUI use?
Answer: MVVM
18. Question: What is Combine framework?
Answer: Provides a Swift declarative API for processing values over time. Commonly paired with SwiftUI.
19. Question: What is UIViewRepresentable?
Answer: Use UIViewRepresentable to add UIKit Views into your SwiftUI views.
20. Question: What is a bridging header?
Answer: A bridging header is used to expose Objective-C code to Swift.