iOS Interview Questions and Answers PDF Download For Freshers & Experienced: Dear readers, Welcome to iOS interview questions and answers section. In this section, we have provided latest and most frequently asked iOS interview questions in PDF format. These questions will be handy at the time of job interview if you are trying for iOS developer jobs. Bookmark (Ctril+D) Freshersnow.com for latest interview questions and answers.
★★ You can also check: Latest Technical Interview Questions ★★
Latest iOS Interview Questions and Answers (FAQ’s)
1) Define iOS?
iOS is a mobile operating system which was developed by Apple Company. It was originally named as the iPhone OS, but it was renamed to the iOS in June 2009. This iOS currently runs on the iPhone, iPod touch, and iPad.
2) Differences between the Cocoa and Cocoa Touch?
Cocoa | Cocoa Touch |
---|---|
It is application development environments for OS X | It is an application development environments for iOS |
It includes the Foundation and AppKit frameworks | It includes Foundation and UIKit frameworks |
It is used to refer any class/object which is based on the Objective-C runtime & inherits from the root class | It is used to refer the application development using any programmatic interface |
3) Why the design pattern is important?
Design patterns are the reusable solutions to the common problems in software design. Most commonly used Cocoa design patterns are as follows:
- Creational: Singleton.
- Structural: Decorator, Adapter, Facade.
- Behavioral: Observer, and, Memento
4) What is the usage of reuseIdentifier?
The reuseIdentifier is used to group the similar rows together in an UITableView. That is the rows that differ only in their content, otherwise, have similar layouts.
5) Explain the Abstract class in Cocoa?
If the Cocoa doesn’t provide anything then that is called Abstract. We can create the class abstract that gets checked at the runtime if it not checked at compile time.
6) What are the common execution states in iOS?
The common execution states in iOS are:
1) Not Running: When the app is completely switched off, and no code is being executed.
2) Inactive: When the app is running in the foreground without receiving any events.
3) Active: When the app is running in the foreground and receiving events.
4) Background: When the app is executing code in the background.
5) Suspended: When the app is in the background but it is not executing any code.
7) What is meant KVC and KVO in iOS?
Full form of KVC is Key-Value Coding. It’s a mechanism by which is used to access an object’s properties using string’s at runtime rather than having to statically know the property names at development time. KVO stands Key-Value Observing and allows a controller or class to observe the changes to property value.
8) What is frame and bound of a view in iOS?
Bound is a rectangle that relative to its own coordinate system (0,0). The frame is the rectangle that relative to the superview.
9) Explain about Nil Coalescing and Ternary Operator?
NilCoalescing & Ternary Operator can simply be interpreted for an easy return and optional value can be unwrapped. In the case of not having any value to assign, we can set zero or any other default value.
10) What is CodingKey Protocol?
The CodingKeys enum renames the specific properties in case the serialized format doesn’t match with the requirements of the API. CodingKeys should have the nested enum.
11) What are the solid principles in an iOS application?
Solid principles are:
S– Single responsibility principle
O– Open closed principle
L– Liskov substitution principle
I– Interface segregation principle
D– Dependency Inversion principle
12) Explain about Content offset?
While scrolling the scrollView properties may change in the process it is known as offset. The scrollView can calculate the new bounds and redraw any of its subviews.
13) Which is the application thread from where UIKit classes should be used?
UIKit classes must be used only from an application’s main thread.
14) Explain about MVC?
Model- Models are responsible for the domain data or a data access layer which can manipulate the data, think of ‘Person’ or ‘PersonDataProvider’ classes.
Views— Views are responsible for the presentation layer, for iOS environment thinks about everything starting with ‘UI’ prefix.
Controller— The mediator between the Model and the View, In general, it is responsible for altering the Model by reacting to the user’s actions performed on the View and updating the View with changes from the Model.
15) What are the rendering options for JSONSerialization?
1) MutableContainers: Arrays and dictionaries are created as variable objects, not as constants.
2) MutableLeaves: Leaf strings in the JSON object graphs are created as instances of variable strings.
3) allow fragments: The parser should allow top-level objects that are not an instance of the arrays or dictionaries
16) What is an App ID?
An App data is a two-part string to identify one or more apps from a single development team and the string consists of a Team ID and a bundle ID search string, with a period (.) separating of two parts.
17) Draw the Structure for Responder chain?
18) What are the Delegate and Notification?
Delegate: It creates the relationship between the objects and which is one to one communication.
Notification: These are used if an object wants to notify to the other objects of an event and it is one to multiple communication.
19) What are the reasons to use the higher-order functions?
Higher-order functions can simply be interpreted as the functions that can take up the value of another function as a parameter, or a return function. These functions are the collective type and filter is expressed as a basic higher-order function.
20) What is URLSession?
When we want to retrieve the contents from a certain URL, we need to choose the use of URL Connection. There are three types of tasks in URLSession:
Data tasks: This is used for getting data to memory
Download tasks: This task is used to downloading a file to disk
Upload tasks: This task is used for uploading the file from disk and receiving a response as data in memory
21) What is Dependency inversion principle?
It is defined as the higher level module should not depend on the lower level module, but they can depend on abstractions and the entities also must depend on abstractions, not on concretions.
22) How the retain is different from assign?
Assign is default in terms of Objective C, and this should be used for attributes that are not pointers.
Retain is required when the attribute is used as a pointer to any specific object.
23) Which API would you use to write test scripts to exercise the application’s UI elements?
UI Automation API is used to automate the test procedures. JavaScript tests the scripts that are written to the UI Automation API. Simulate the user interaction with the application and return the log information to the host computer.
24) What is made up of NSError object?
There are three parts are present in the NSError object. They are
1) A domain,
2) An error code, and
3) A user info dictionary.
25) Define bundle in iOS?
A bundle is a directory in the file system which is having all executable code and related resources such as images and sounds together placed in one place.
26) What is SnapKit that make a difference from Auto layout?
SnapKit is used to do Auto Layout on both iOS and OS X with code, and we should use two libraries with that.
27) What are the different types of NSLayoutAnchor?
There are 3 subclasses present in NSLayoutAnchor:
1) NSLayoutXAxisAnchor: Horizontal constraints can be created using this subclass.
2) NSLayoutYAxisAnchor: Vertical constraints can be created using this subclass.
3) NSLayoutDimension: This subclass is used to create the width and height of the constraints.
28) What is Xcode, Cocoa and Objective C?
Xcode: It is an integrated development environment (IDE). In this, the developer uses to write software for IOS or OS X.
Objective-C: It is the language most commonly preferred by developers to write programs for Apple.
Cocoa: Cocoa is the application
29) What are the steps in getting Request?
We will create the task and send the request to th server to process it. We are going to receive the data back from the server and we only have to handle it based on the errors and the data is.
30) Mention what are the build phases available in Xcode?
There are three build phases in Xcode that are available by default
1) Compile Sources
2) Link binary with libraries
3) Copy bundle resources
Download Latest iOS Interview Questions and Answers in PDF Format: Click Here