Covid-19 Update!!    We have enabled all courses through virtual classroom facility using Skype or Zoom.    Don't stop learning.    Enjoy Learning from Home.

30% Discount Python        30% Discount Webdesign        30% Discount SEO        30% Discount Angular8        Free SQL Class        Free Agile Workshop       Free HTML Sessions        Free Python Basics

Important iOS Mobile App Development Interview Questions and Answers

iOS Interview Questions and Answers

1. What is Regular expressions?

The special string patterns that describe how to search through a string are called Regular expressions.

2. What is the difference between Synchronous & Asynchronous task?

Synchronous: waits until the task has completed Asynchronous: completes a task in background and can notify you when complete

3. What is B-Trees?

B-trees are search trees which provide an ordered key-value store with excellent performance characteristics. In principle, each node maintains a sorted array of its own elements, and another array for its children.

4. What is made up of NSError object?

NSError object a domain, an error code, and a user info dictionary. The domain is a string that identifies what kind of errors is coming from.

5. What is Enum?

Enum is a type that generally contains a group of related values in same umbrella.

6. What is the difference strong, weak, read only and copy?

Strong, weak, assign property ascribes define how memory for that property will be managed.
Strong means that the reference count will be increased and the reference to it will be maintained through the life of the object
Weak, means that we are pointing to an object but not increasing its reference count. It’s often used when creating a parent child relationship. The parent has a strong reference to the child but the child only has a weak reference to the parent.

7. What is Dynamic Dispatch?

Dynamic Dispatch is the process of selecting and implementation of a polymorphic operation that’s a method or a function to call at run time.

8. How to Prioritize Usability in Design?

Broke down its design process to prioritize usability in 4 steps:
  • Think like the user, then design the UX.
  • Remember that users are people, not demographics.
  • When promoting an app, consider all the situations in which it could be useful.
  • Keep working on the utility of the app even after launch.

    9. What is Responder Chain?

    A Responder Chain is a hierarchy of objects that have the chance to respond the events received.

    10. What is TVMLKit?

    TVMLKit is a glue which link TVML, JavaScript, and native tvOS application.

    11. What is Platform limitations of tvOS?

    tvOS first provides no browser support of any kind, nor is there any WebKit or other web-based rendering engine you can program against. This means your app can’t link out to a web browser for anything, including web links, OAuth, or social media sites.
    Second, tvOS apps cannot explicitly use local storage. At product launch, the devices ship with either 32 GB or 64 GB of hard drive space, but apps are not permitted to write directly to the on-board storage.
    tvOS app bundle cannot exceed 4 GB.

    12. What is ABI?

    ABIs are important to applications that use external libraries. If a program is built to use a particular library and that library is later updated, you don’t have to re-compile that application (and from the end-user’s standpoint, you may not have the source).

    13. What is Facade Design Pattern?

    Which provides a single interface to a complex subsystem are called Facade design pattern. Instead of exposing the user to a set of classes and their APIs, you only expose one simple unified API.

    14. What is Adapter Pattern?

    An Adapter which allows classes with incompatible interfaces to work together is called Adapter pattern. It wraps itself around an object and exposes a standard interface to interact with that object.

    15. What is JSON/PLIST limits?

  • We create your objects and then serialized them to disk.
  • It’s great and very limited use cases.
  • We can’t obviously use complex queries to filter your results.
  • It’s very slow.
  • Each time we need something, we need to either serialize or de-serialize it.
  • It’s not thread-safe.

    16. What is SQLite limits?

  • We need to define the relations between the tables.
  • Define the schema of all the tables.
  • We have to manually write queries to fetch data.
  • We need to query results and then map those to models
  • Queries are very fast.

    17. What is defer?

    Defer is a keyword which carries a block of code that will be executed in the case when execution is leaving the current scope.

    18. What is Concurrency?

    Concurrency is splitting up the execution paths of the program so that they are possibly running at the same time.
    The common terminology: process, thread, multithreading, and others. Terminology;
  • Process, An instance of an executing app .
  • Thread, Path of execution for code .
  • Multithreading, Multiple threads or multiple paths of execution running at the same time.
  • Concurrency, Execute multiple tasks at the same time in a scalable manner.
  • Queues, Queues are lightweight data structures that manage objects in the order of First-in, First-out (FIFO).
  • Synchronous vs. Asynchronous tasks.

    19. Explain Swift’s pattern matching techniques

  • Tuple patterns are used to match values of similar tuple types.
  • Type-casting patterns allow you to cast or match types.
  • Wildcard patterns match and ignore any kind and type of value.
  • Optional patterns are used to match optional values.
  • Enumeration case patterns match the instance of prevailing enumeration types.
  • Expression patterns allow you to compare a given value against a given expression.

    20. What are the benefits of Guard?

    There are two big benefits of guard are:-
    One is avoiding the pyramid of doom, as others have mentioned — lots of difficult if let statements nested inside each other moving further and further to the right. The other benefit is provide an early exit out of the function using break or using return.