IOS

{
  "iq":[{"id":"1",
    "q":"Which JSON framework is supported by iOS?",
    "answer":"iOS supports SBJson framework.\nSBJson is a JSON parser and generator for Objective-C.\nIt provides flexible APIs and additional control, making JSON handling easier."
  },
    {"id":"2",
      "q":"What is Cocoa/Cocoa Touch?",
      "answer":"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:\nCocoa includes the Foundation and AppKit frameworks and is used for developing applications that run on OS X.\nCocoa Touch includes Foundation and UIKit frameworks. It is used for developing applications that run on iOS."
    },
    {"id":"3",
      "q":"What is the difference between atomic and nonatomic properties? Which is the default for synthesized properties?",
      "answer":"Properties specified as atomic always return a fully initialized object.This also happens to be the default state for synthesized properties.\nBut, 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.."
    },

    {"id":"4",
      "q":"Differentiate ‘app ID’ from ‘bundle ID’. Explain why they are used.",
      "answer":"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.\nThe 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."
    },
    {"id":"5",
      "q":"Which are the ways of achieving concurrency in iOS?",
      "answer":"The three ways to achieve concurrency in iOS are:\n\nThreads\n\nDispatch queues\n\nOperation queues."
    },
    {"id":"6",
      "q":"Which is the framework that is used to construct application’s user interface for iOS?",
      "answer":"The UIKit framework is used to develop application’s user interface for iOS. It provides event handling, drawing model, windows, views, and controls specifically designed for a touch screen interface.."
    },

    {"id":"7",
      "q":"Which is the application thread from where UIKit classes should be used?",
      "answer":"UIKit classes should be used only from an application’s main thread."
    },

    {"id":"8",
      "q":"Which API would you use to write test scripts to exercise the application’s UI elements? ",
      "answer":"UI Automation API is used to automate test procedures. JavaScript test scripts that are written to the UI Automation API simulate user interaction with the application and return log information to the host computer."
    },
    {"id":"9",
      "q":"When is an app said to be in active state?",

      "answer":"An app is said to be in active state when it is running in the foreground and is receiving events."
    },

    {"id":"10",
      "q":"Which are the app’s state transitions when it is launched?",
      "answer":"An app is said to be in not running state before its launch.\n\nAfter briefly transitioning through the inactive state, it moves to the active or background state when it is launched."
    },

    {"id":"11",
      "q":"Which is the state an app reaches briefly on its way to being suspended?",

      "answer":"An app enters background state briefly on its way to being suspended."
    },

    {"id":"12",
      "q":"What is Swift and what is Objective-C?",
      "answer":"Objective-C is the primary programming language you use to write software for OS X and iOS. It’s a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.\n\nSwift is a new programming language for iOS, OS X, watchOS, and tvOS apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift feels familiar to Objective-C developers and is friendly to new programmers."
    },
    {"id":"13",
      "q":"What is SpriteKit and what is SceneKit?",
      "answer":"SpriteKit is a framework for easy development of animated 2D objects.\n\nSceneKit is a framework inherited from OS X that assists with 3D graphics rendering.\n\nSpriteKit, SceneKit, and Metal are expected to power a new generation of mobile games that redefine what iOS devices’ powerful GPUs can offer."
    },

    {"id":"14",
      "q":"What are iBeacons?",
      "answer":"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."
    },

    {"id":"15",
      "q":"What is autorealease pool?",
      "answer":"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.\n\nAutorelease 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."
    },

    {"id":"16",
      "q":"What is Access Services?",
      "answer":"Allows users to edit, update, and create linked Microsoft Access 2010 databases that can be viewed and manipulated by using an internet browser, the Access client, or a linked HTML page."
    },

    {"id":"17",
      "q":"When an app is said to be in not running state?  ",
      "answer":"An app is said to be in 'not running' state when:\n\n- it is not launched.\n\n- it gets terminated by the system during running."
    },
    {"id":"18",
      "q":"When an app is said to be in active state? ",
      "answer":"An app is said to be in active state when it is running in foreground and is receiving events."
    },

    {"id":"19",
      "q":"Name the app sate which it reaches briefly on its way to being suspended. ",
      "answer":"An app enters background state briefly on its way to being suspended."
    },

    {"id":"20",
      "q":"Assume that an app is not in foreground but is still executing code. In which state will it be in? ",
      "answer":"Background state."
    },
    {
      "id":"21",
      "q":"When would you use claims, and when would you use classic?",
      "answer":"Classic is more commonly seen in upgraded 2007 environments whereas claims are the recommended path for new deployments."
    },
    {"id":"22",
      "q":"What Are B-Trees? ",
      "answer":"B-trees are search trees that 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."
    },

    {"id":"23",
      "q":"Why don’t we use strong for enum property in Objective-C ?",
      "answer":"Because enums aren’t objects, so we don’t specify strong or weak here."
    },{"id":"24",
      "q":"What allows you to combine your commits ?",
      "answer":"git squash."
    },
    {"id":"25",
      "q":"What is Enum ?",
      "answer":"Enum is a type that basically contains a group of related values in same umbrella..."
    },{"id":"26",
      "q":"What is bounding box?",
      "answer":"Bounding box is a term used in geometry; it refers to the smallest measure (area or volume) within which a given set of points..."
    },
    {"id":"27",
      "q":"Why don’t we use strong for enum property in Objective-C ?",
      "answer":"Because enums aren’t objects, so we don’t specify strong or weak here.."
    },

    {"id":"28",
      "q":"What is @synthesize in Objective-C ? ",
      "answer":"synthesize generates getter and setter methods for your property."
    },{"id":"29",
      "q":"What is the difference strong, weaks, read only and copy ?",
      "answer":"strong, weak, assign property attributes define how memory for that property will be managed.\n\nStrong means that the reference count will be increased and the reference to it will be maintained through the life of the object\n\nWeak, 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.\n\nRead only, we can set the property initially but then it can’t be changed.\n\nCopy, means that we’re copying the value of the object when it’s created. Also prevents its value from changing."

    },
    {"id":"30",
      "q":"What’s Code Coverage ? ",
      "answer":"Code coverage is a metric that helps us to measure the value of our unit tests.."
    },
    {"id":"31",
      "q":"What’s Completion Handler ? ",
      "answer":"Completion handlers are super convenient when our app is making an API call, and we need to do something when that task is done, like updating the UI to show the data from the API call. We’ll see completion handlers in Apple’s APIs like dataTaskWithRequest and they can be pretty handy in your own code."
    },
    {"id":"32",
      "q":"What’s the difference between the frame and the bounds? ",
      "answer":"The bounds of an UIView is the rectangle, expressed as a location (x,y) and size (width,height) relative to its own coordinate system (0,0).\n\nThe frame of an UIView is the rectangle, expressed as a location (x,y) and size (width,height) relative to the superview it is contained within.."
    },{"id":"33",
      "q":"What is Responder Chain ?",
      "answer":"A ResponderChain is a hierarchy of objects that have the opportunity to respond to events received.."
    },
    {"id":"34",
      "q":"What is Document Center?",
      "answer":"Document Center is a site on which user can centrally manage documents in an enterprise. A large-scale library useful as an enterprise knowledge base or historical archive includes features to help users navigate, search, and manage many documents in a deep hierarchy by using a set of specialized Web Parts."
    },
    {"id":"35",
      "q":"What is Operator Overloading ?",
      "answer":"Operator overloading allows us to change how existing operators behave with types that both already exist."
    },
    {"id":"36",
      "q":"What is TVMLKit ? ",
      "answer":"TVMLKit is the glue between TVML, JavaScript, and your native tvOS application."
    },
    {"id":"37",
      "q":"What is Singleton Pattern ? ",
      "answer":"The Singleton design pattern ensures that only one instance exists for a given class and that there’s a global access point to that instance. It usually uses lazy loading to create the single instance when it’s needed the first time."
    },
    {"id":"38",
      "q":"What is the Swift main advantage ?",
      "answer":"To mention some of the main advantages of Swift:\n\nOptional Types, which make applications crash-resistant\n\nBuilt-in error handling\n\nClosures\n\nMuch faster compared to other languages\n\nType-safe language\n\nSupports pattern matching."
    },
    {"id":"39",
      "q":"Explain generics in Swift ? ",
      "answer":"Generics create code that does not get specific about underlying data types."
    },

    {"id":"40",
      "q":"Explain what is defer ? ",
      "answer":"defer keyword which provides a block of code that will be executed in the case when execution is leaving the current scope." },

    {"id":"41",
      "q":"What is Concurrency ?",
      "answer":"Concurrency is dividing up the execution paths of your program so that they are possibly running at the same time. The common terminology: process, thread, multithreading, and others. Terminology;\n\nProcess, An instance of an executing app\n\nThread, Path of execution for code\n\nMultithreading, Multiple threads or multiple paths of execution running at the same time.\n\nConcurrency, Execute multiple tasks at the same time in a scalable manner.\n\nQueues, Queues are lightweight data structures that manage objects in the order of First-in, First-out (FIFO).\n\nSynchronous vs Asynchronous tasks.."
    },

    {"id":"42",
      "q":"What are layer objects and what do they represent?",
      "answer":"Layer objects are data objects which represent visual content. Layer objects 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.."
    },

    {"id":"43",
      "q":"Define view object.",
      "answer":"Views along with controls are used to provide visual representation of the app content. View is an object that draws content in a designated rectangular area and it responds to events within that area..."
    },
    {"id":"44",
      "q":"What is the purpose of UIWindow object?",
      "answer" :"The presentation of one or more views on a screen is coordinated by UIWindow object."
    },
    {"id":"45",
      "q":"What happens if IApplication object does not handle an event?",
      "answer":"In such case the event will be dispatched to your app delegate for processing."
    },{"id":"46",
      "q":"Which app specific objects store the app's content?",
      "answer":"Data model objects are app specific objects and store app’s content. Apps can also use document objects to manage some or all of their data model objects..."
    },
    {"id":"47",
      "q":"Are document objects required for an application? What does they offer?",
      "answer":"Document objects are not required but are very useful in grouping data that belongs in a single file or file package."
    },
    {"id":"48",
      "q":"What is the purpose of UIWindow object?",
      "answer":"The presentation of one or more views on a screen is coordinated by UIWindow object.."
    },
    {"id":"49",
      "q":"Outline the class hierarchy for a UIButton until NSObject.",
      "answer":"UIButton inherits from UIControl, UIControl inherits from UIView, UIView inherits from UIResponder, UIResponder inherits from the root class NSObject."
    },
    {"id":"50",
      "q":"Which is the super class of all view controller objects?",
      "answer":"UIViewController class. The functionality for loading views, presenting them, rotating them in response to device rotations, and several other standard system behaviors are provided by UIViewController class."
    }
  ]

}