Introduction to Objective C Interview Questions and Answers
Objective C is a programming language that was developed in 1980. It can be said as a general-purpose, object-oriented programming language that adds Small talk style messaging to C programming. This is mainly famous as this was the main language that Apple used for building macOS and iOS operating systems. Later it was also selected as the main language which was to be used by NeXT. Below are a few questions that can be asked in an interview on objective C.
If you are looking for a job related to Objective C, you need to prepare for the 2020 Objective C Interview Questions. Every interview is indeed different as per the different job profiles. Here, we have prepared the important Objective C Interview Questions and Answers, which will help you succeed in your interview.
In this article, we shall present the 10 most important and frequently asked Objective C Interview questions. These questions are divided into two parts are as follows:
Part 1 – Objective C Interview Questions (Basic)
This first part covers basic Objective C Interview Questions and Answers.
Q1. How do you manage memory in Objective C?
Memory allocation in Objective C is done dynamically. This means memory is allocated during the runtime of any program. It is being utilized, and later it is freed when it is no longer required. This helps in using as little memory as possible. In this entire lifecycle of memory, the objects take up as much memory as they need and then free them when it is not required. For allocating memory in Objective C, there are two ways:
- Manual Retain Release (MRR): In this type of memory management, memory is explicitly managed, and all objects have kept track of. It uses the reference counting model for keeping this track.
- Automatic Reference Counting (ARC): Here, the system can insert appropriate memory management method calls, which are called the runtime.
The two main drawbacks with memory management are that once they are over freeing, it causes multiple system crashes, and when it is not freeing, then it leads to memory leaks, which results in the increase in-memory footprint of the application.
Q2. What is declared properties in Objective C?
In Objective C, any property that is to be used can be defined by declaring different instance variables by implementing getter and setter methods that help enforce encapsulation. There are three aspects to properties. These include the declaration, implementation, and access. The properties can be declared in any class, category, and protocols in the declarative section. The syntax for this is as follows:
It also has optional attributes. Attributes can be as follows:
- Readonly: This property can only be read and not written into. This compiler does not have a setter accessor.
- Read-write: This property enables reading and writing both. The default mode is read-only.
- Assign: This is a simple assignment that can be used in the implementation of any setter.
- Retain: Retain is sent to the property once it is assigned.
- Copy: Like retain, this operation is also performed once the property is assigned.
Let us move to the next Objective C Interview Questions.
Q3. What are the characteristics of a category?
A category has the following characteristics: A category should be declared for any class even though there is no original source code available for implementation. The methods that are defined in a particular category are available for all instances to the class where it actually belongs. It can also be used in the subclasses of the original class, like an inheritance. There should not be any variation in a method that is appended by any category. Once the original class implements it, it can be used at runtime.
Q4. What is Retain count?
This is the basic Objective C Interview Question asked in an interview. The policy of ownership is implemented through reference counting. This retain count is taken after the retain method. Each object has a retain count, and when an object is created, its default retain count is 1. When this newly created object is sent as a retain message, the count increases by 1. This count is decreased by 1 when an object is sent as the release message. It also decreases when an object is sent an autorelease message at the end of the current autorelease pool. The object is released and deallocated when a retain count is decreased to 0.
Q5. When do we use NSArray and NSMutableArray?
NSArray is advised to be used when data in the array is not going to change. An example of this can be a company name that is going to change seldom, and hence NS Array can be used so that no one manipulates it.
NSMutable Array: Unlike NS Array, this array is used when data in an array tends to change. Here an example can be considered a function with values passing to the array as function, and this function will append some elements to that array. At this time NSMutable array can be used.
Part 2 – Objective C Interview Questions (Advanced)
Let us now have a look at the advanced Interview Questions.
Q6. Is it possible to use ARC and Non-ARC code together in a project?
Yes, a project can use both ARC and Non-ARC codes. When a project chooses Non-ARC codes, then –fobj-arc compiler flag is set. This ARC can be disabled for specific classes by using –fno-objc-arc.
This entire process can be done by Xcode → Project→ Build Phase→ Compile Sources→ Double Click on the class and set the –fno-objc-arc.
Q7. What are the methods of using the NSURL connection?
The methods that can be used in NSURL connection are the following connections:
- A connection that received the response
- A connection that receives data
- A connection that fails with an error
- A Connection that did finish on loading
Let us move to the next Objective C Interview Questions.
Q8. What is the protocol in Objective C?
A protocol is a language feature that provides multiple inheritances in a language with single inheritance. Objective C mainly supports two protocols:
Formal protocols are also known as compiler protocols, and informal protocols, also known as ad-hoc protocols.
Q9. How does the message work in Objective C?
This is the most asked Objective C Interview Questions in an interview. Messaging is not bound to happen until a method is implemented in Objective C. A call messaging function objc_msgSend() is called when the compiler transforms a message expression. This function connects to the receiver, and the name of the method is mentioned in the message.
Q10. What is atomic and non-atomic in Objective C, and which one is considered to be a default?
This method is used to specify the accessor methods which are not atomic. This ensures that the CPU completes the process which is being currently run before any other process accesses the variable. Non-atomic is for the non-atomic variables. These are faster but not thread-safe.
This has been a guide to the list of Objective C Interview Questions and Answers. Here we have listed the most useful 10 interview sets of questions so that the jobseeker can crack the interview with ease. You may also look at the following articles to learn more –