Top iOS Interview Questions You Must Prepare For In 2016

Recommended by 10 users

May 28, 2016
Top iOS Interview Questions You Must Prepare For In 2016
Add to Bookmark Email this Post 41.3K    6

The Verge reports that, as of January 2016, there are more than one billion active Apple devices in the world. With the number of iOS users growing steadily across the world, the future looks bright for iOS app developers. Despite a slight decline in iPhone sales in early 2016, Apple and iOS devices continue to have a loyal customer base, helped in part by innovative new devices such as Apple TV and Apple Watch. In fact, the demand for qualified developers who can develop and maintain apps for iOS is expected to shoot through the roof owing to high adoption of iOS devices. There has never been a better time to become an iOS developer. If you are preparing to break into a a career in iOS app development, look no further! We have created a list of top frequently-asked iOS interview questions that will help you ace your iOS job interview.

However, if you have already given an iOS interview, or have more questions, we encourage you to add them in the comments tab below. Our experts will answer them for you.

iOS Interview Questions

1. Which JSON framework is supported by iOS?

iOS supports SBJson framework. SBJson is a JSON parser and generator for Objective-C. It provides flexible APIs and additional control, making JSON handling easier.

2. What is Cocoa/Cocoa Touch?

Cocoa and Cocoa Touch are the application development environments for OS X and iOS. Both Cocoa and Cocoa Touch include the Objective-C runtime and two core frameworks:

  • Cocoa includes the Foundation and AppKit frameworks and is used for developing applications that run on OS X.
  • Cocoa Touch includes Foundation and UIKit frameworks. It is used for developing applications that run on iOS.

More about it here.

3. What is the difference between atomic and nonatomic properties? Which is the default for synthesized properties?

Properties specified as atomic always return a fully initialized object. This also happens to be the default state for synthesized properties. But, if you have a property for which you know that retrieving an uninitialized value is not a risk (e.g. if all access to the property is already synchronized via other means), then setting it to nonatomic can give you better performance than atomic.

4. Differentiate ‘app ID’ from ‘bundle ID’. Explain why they are used.

An App ID is a two-part string used to identify one or more apps from a single development team. The string consists of a Team ID and a bundle ID search string, with a period (.) separating the two parts. The Team ID is supplied by Apple and is unique to a specific development team, while the bundle ID search string is supplied by the developer to match either the bundle ID of a single app or a set of bundle IDs for a group of apps.

The bundle ID defines each App and is specified in Xcode. A single Xcode project can have multiple targets and therefore output multiple apps. A common use case is an app that has both lite/free and pro/full versions or is branded multiple ways.

5. Which are the ways of achieving concurrency in iOS?

The three ways to achieve concurrency in iOS are:

  • Threads
  • Dispatch queues
  • Operation queues

6. Explain the different types of iOS Application States.

The different iOS application states are:

  • Not running state: when the app has not been launched or was running but was terminated by the system.
  • Inactive state: when the app is running in the foreground but is currently not receiving events. An app stays in this state briefly as it transitions to a different state. The only time it stays inactive is when the user locks the screen or the system prompts the user to respond to some event such as a phone call or SMS message.
  • Active state: when the app is running in the foreground and is receiving events. This is the normal mode for foreground apps.
  • Background state: when the app is in the background and executing code. Most apps enter this state briefly on their way to being suspended. However, an app that requests extra execution time can remain in this state for some time. Also, an app being launched directly into the background enters this state instead of the inactive state.
  • Suspended state: A suspended app remains in memory but does not execute any code. When a low-memory condition occurs, the system may purge suspended apps without notice to make more space for the foreground app.

15. What is SpriteKit and what is SceneKit?

SpriteKit is a framework for easy development of animated 2D objects.

SceneKit is a framework inherited from OS X that assists with 3D graphics rendering.

SpriteKit, SceneKit, and Metal are expected to power a new generation of mobile games that redefine what iOS devices’ powerful GPUs can offer.

16. What are iBeacons?

iBeacon.com defines iBeacon as Apple’s technology standard which allows Mobile Apps to listen for signals from beacons in the physical world and react accordingly. iBeacon technology allows Mobile Apps to understand their position on a micro-local scale, and deliver hyper-contextual content to users based on location. The underlying communication technology is Bluetooth Low Energy.

17. What is autorealease pool?

Every time -autorelease is sent to an object, it is added to the inner-most autorelease pool. When the pool is drained, it simply sends -release to all the objects in the pool.
Autorelease pools are a convenience that allows you to defer sending -release until “later”. That “later” can happen in several places, but the most common in Cocoa GUI apps is at the end of the current run loop cycle.

18. Differentiate between ‘assign’ and ‘retain’ keyword.

Retain -specifies that retain should be invoked on the object upon assignment. It takes ownership of an object.
Assign – specifies that the setter uses simple assignment. It is used on attribute of scalar type like float,int.

19. What are layer objects?

Layer objects are data objects which represent visual content and are used by views to render their content. Custom layer objects can also be added to the interface to implement complex animations and other types of sophisticated visual effects.

20. Outline the class hierarchy for a UIButton until NSObject.

UIButton inherits from UIControl, UIControl inherits from UIView, UIView inherits from UIResponder, UIResponder inherits from the root class NSObject.

Got a question for us? Mention them in the comment section and we will get back to you. 

Related Posts:

Get Started with iOS App Development Using Swift 2.0

All You Need to Know About a Career in iOS Development

Why iOS and OS X Developers are Choosing Swift

Pallavi PoojaryAbout Pallavi Poojary (14 Posts)

Pallavi is a technology enthusiast who writes on hot technologies such as Big Data and DevOps, and industry-relevant skills like Project Management. She is a believer in transformation of careers through learning.


Share on
Comments
6 Comments
  • Anjani Pandey

    keeps you in touch with the basics. Nice post !

  • shaik riyaz

    hey , can we expect some more advanced questions .. post is good but need some more depth for experienced guys.

    • EdurekaSupport

      Hey Shaik, thanks for checking out the blog! Yes, we will be coming up with an advanced interview questions blog in the future. Do subscribe to our blog to stay posted. Cheers!

  • Dhanraj bhandari

    Good Post.

24 X 7 Customer Support X

  • us flag 1-800-275-9730 (Toll Free)
  • india flag +91 88808 62004