Here’s the 3rd part of the iOS developer interview questions and answers for you. Study and understand the concepts, wherever signified, to sound like a confident aspirant during your next interview.
What is the difference between a synchronous and an asynchronous task?
Synchronous: waits for the task to complete.
Asynchronous: completes the task in the background and notifies you of completion.
What is b-trees?
These are search trees that provide an ordered repository of critical values with excellent performance characteristics. Each node stores a sorted array of its own elements and another array for its children.
What is a NSError object?
There are three parts of the NSError object: a domain, an error code, and a dictionary with user information. A domain is a string that identifies which category the error belongs to.
What is the Enum?
Enum is a type, which contains a group of related values.
What is a bounding box?
The limiting parallelepiped is the term used in geometry; it means the smallest measure (area or volume) that contains a set of points.
Why do not we use strong for enum in Objective-C?
Since enum is not objected, we do not specify strong or weak here.
What is @synthesize in Objective-C?
Synthesize generates the getter and setter methods for your property.
What is @dynamic in Objective-C?
We use dynamic for subclasses of NSManagedObject. @dynamic tells the compiler about the implementation of getter and setters somewhere else.
Why do we use synchronized?
Synchronized ensures that only one thread can execute this code in the block at any one time.
What is the difference between strong, weak, read-only, and copy?
The attributes of the strong, weak, assign an attribute to determine the management approach for this property’s memory.
Strong refers to an increase of the counter of references to the assigned object in the generated setter. However, it maintains the reference to it during the lifetime of the object.
Weak means we point to an object, but do not increase the reference count. Often, we use it when creating parent-child relationships. The parent has a strong link to the child, but the child has only a weak reference to the parent.
Read-only – we can set the property from the beginning, but then cannot change it later.
Copy means that we copy the value of the object during the time of its creation. Also prevents changing its value.
What is Dynamic Dispatch?
Dynamic Dispatch is the process of selecting a polymorphic implementation that is a method or function for a run-time call. This happens when we want to call our methods as an object method. Swift does not default to Dynamic Dispatch.
What is code coverage?
Code coverage is a metric that helps us measure the value of our unit tests.
What is the termination handler?
The exit handlers are useful when our application calls the API, and we need to do something on completion of this task. For example, update the user interface to display data from the API call. Apple API contains these handlers, for example, dataTaskWithRequest, and they can be very useful in your code.
The termination handler takes a code with three arguments: (NSData? NSURLResponse? NSError?), which returns nothing: void. This means completion.
Since the execution of the exit handlers follows that of the function, they must carry the @escaping label.
How to define the place of usability in design?
To do this, you need to break the design process into four steps:
- Think like a user and then create an UX.
- Remember that users are people, not their demographic data.
- When promoting the application, think about all the situations in which it will be useful.
- Continue to work on the convenience of the application even after the launch.
Would you like to add to the list of iOS developer interview questions? Drop a comment below to share your feedback, views, and/or any new questions on your mind.