IOS Interview Questions and Answers
Q1?.? What is a memory leak
Ans: A reminiscence leak is a type of useful resource leak that takes area at the same time as a laptop software program incorrectly manages reminiscence allocations on this kind of manner that memory that is no longer desired isn't always released. In item-orientated programming, a reminiscence leak can also seem at the same time as an item is saved in reminiscence however cannot be accessed via using the walking code.
Q2?. Describe what “app thinning” method ?
Ans: The store and operating machine optimize the set up of iOS, tvOS, and watchOS apps via tailoring app delivery to the abilties of the patron’s particular tool, with minimal footprint. This optimization, called app thinning, lets you create apps that use the maximum tool skills, occupy minimal disk place, and accommodate future updates that can be applied with the useful resource of Apple.
Q3.? What is vehicle-layout?
Ans: Auto Layout dynamically calculates the scale and role of all the views on your view hierarchy, based totally totally on constraints placed on those perspectives.
Q4. What is GCD? How is it used?
Ans: GCD is the most typically used API to control concurrent code and execute operations asynchronously at the Unix stage of the tool. GCD affords and manages queues of responsibilities. A right example is when an App fetch facts from an API, this community call need to be executed in a records thread and the display of the facts in the view should be completed within the main thread further to any UI updates.
Q5. What are the blessings of Swift over Objective-C ?
Swift is less complicated to study. (mmm simply?)
Swift is less difficult to hold.
Swift is more secure.
Swift is unified with memory control.
Swift requires a good deal less code.
Swift is quicker.
Fewer name collisions with open source tasks.
Swift support dynamic libraries.
Swift Playgrounds encourages interactive coding.
Swift is a future you could have an impact on.
Q6. What is Synchronous vs. Asynchronous in GCD ?
Ans: These phrases describe even as a characteristic will go back manipulate to the caller, and what type of paintings will were completed with the resource of that point.
A synchronous function returns best after the of entirety of a project that it orders.
An asynchronous function, as a substitute, returns right away, ordering the assignment to be completed but not anticipating it. Thus, an asynchronous feature does now not block the cutting-edge thread of execution from intending directly to the following feature.
Q7?. Why do you usually create a susceptible reference even as using self in a block?
Ans: To avoid preserve cycles and reminiscence leaks.
Q8. ?What is the GCD approach you call to skip some artwork to a queue asynchronously? What parameters do you offer to this approach?
Ans: dispatch_async(dispatch_get_main_queue(), ^ );
We skip as a parameter the dispatch queue wherein we need to execute the code.
Q9. What are a few tactics to help extra moderen API techniques or training at the same time as retaining backward compatibility?
Ans: For example, if you need your view to have a purple tintColor (a way added in iOS 7), however your app though helps iOS 6, how have to you make sure it gained’t crash whilst walking on iOS 6? Another instance could be the usage of NSURLSession vs. NSURLConnection?—?how may additionally need to you are making it so that your code makes use of the maximum appropriate of those schooling?
Treat deprecated APIs warnings as mistakes to remedy.
At runtime, take a look at for OS variations.
ObjC : Mark legacy code paths with macros.
If #available(iOS eight, *, *)
Control the extensive type of 3d birthday party libraries.
Q10. What is MVC?
Ans: MVC is a layout pattern that stands for version view controller, this layout sample separates the facts from its display, mediated through a View Controller.
Q11. What are delegates?
Ans: Delegates are a layout pattern. A delegate is simply an object that some other item sends messages to whilst positive topics appear in order that the delegate can contend with app-specific data the unique item wasn’t designed for. It’s a manner of customizing behavior without subclassing. And it’s vital to remember the fact that they have got one to at least one relationship.
Q12. What are NSNotificationCenter and the manner does it work?
Ans: NSNotificationCenter is what Apple has provided as an Observer Pattern in the Cocoa library . The simple concept is that a listener registers with a broadcaster using some predefined protocol. At a few later factor, the broadcaster is told to tell all of its listeners, wherein it calls some characteristic on each of its listeners and passes nice arguments alongside. This lets in for asynchronous message passing amongst two distinct items that don’t need to understand about each other, they surely ought to comprehend approximately the broadcaster.
Q13. What is Core Data?
Ans: Core Data isn't always an ORM or item-relational mapper. Nor is it a database. Instead, Core Data is an object graph manager which additionally has the potential to persist object graphs to a continual store, on a disk.
Q14. What is a controlled object context?
Ans: A controlled object context represents a unmarried item place, or scratch pad, in a Core Data software.
Q15. Difference among body and limits?
Ans: The bounds of an UIView is the rectangle, expressed as a place (x,y) and size (width,peak) relative to its very very own coordinate tool (0,zero).
The frame of an UIView is the rectangle, expressed as a area (x,y) and size (width,top) relative to the superview it's miles contained internal.
Q16. What is the purpose of the reuseIdentifier?
Ans: Reusability of an already allocated item.
Q17. How many UITableViewCells are allocated even as you first load a UITableView? How many extra ones are allocated as you scroll through the desk?
Ans: A UITableView will commonly allocate simply enough UITableViewCell devices to show the content seen inside the table. Because of the reuseIdentifier , the UITableView will now not allocate new UITableViewCell gadgets for every new item that scrolls into view, averting laggy animations.
Q18. Define atomic and nonatomic.
Atomic is the default: in case you don’t kind a few aspect, your own home is atomic. An atomic assets is guaranteed that in case you attempt to observe from it, you could get once more a valid fee. It does now not make any guarantees approximately what that value might be, however you could get once more specific statistics, no longer without a doubt junk memory. What this allows you to do is when you have multiple threads or a couple of strategies pointing at a unmarried variable, one thread can take a look at and some other thread can write. If they hit on the same time, the reader thread is assured to get one of the two values: each in advance than the trade or after the trade. What atomic does not give you is any sort of guarantee about which of those values you would possibly get. Atomic is reallycommonly confused with being thread-safe, and that isn't always correct. You need to guarantee your thread safety other processes. However, atomic will assure that during case you try and study, you get returned a few form of value.
On the turn aspect, non-atomic, as you may in all likelihood guess, in reality way, “don’t do thatatomic ” What you lose is that guarantee that you usually get once more some thing. If you try to examine inside the middle of a write, you may get again garbage information. But, alternatively, you flow a chunk bit faster. Because atomic residences have to do some magic to assure that you can get back a fee, they will be a chunk slower. If it's miles a assets which you are gaining access to lots, you may want to drop down to nonatomic to ensure which you are not incurring that speed penalty.
Q19. Whats the difference between vulnerable and sturdy?
Ans: These keywords are related to reference counting and “denote ownership”, if you may. They assist you get rid of maintain-launch cycles via restricting what items increment the reference rely for any other item. A strong property is one in which you increment the reference rely of the object. If item A has a strong connection with B, and no other object is referencing B, B has depend number one (A owns, or needs to exist B). Now, if B desires to have a reference to A, we might need to apply a prone reference. Weak references don’t increment the reference depend of the object. So in this precise case, if A has no extraordinary items referencing it but B, A’s depend might be zero given B’s susceptible reference.
Q20. What’s the distinction among no longer-walking, inactive, energetic, records and suspended execution states?
Not strolling:The app has no longer been launched or changed into going for walks but turn out to be terminated by using the machine.
Inactive:The app is strolling in the foreground however is currently not receiving events. (It may be executing different code despite the fact that.) An app usually stays in this state best in short as it transitions to a one-of-a-kind nation.
Active:The app is running inside the foreground and is receiving events. This is the ordinary mode for foreground apps.
Background:The app is within the records and executing code. Most apps enter this nation in short on their manner to being suspended. However, an app that requests greater execution time may additionally stay in this country for a time period. In addition, an app being launched straight away into the history enters this state rather than the inactive nation.
Suspended:The app is in the records but isn't executing code. The machine movements apps to this u . S . A . Routinely and does not notify them before doing so. While suspended, an app remains in memory however does now not execute any code. When a low-memory situation takes place, the tool can also purge suspended apps without phrase to make more space for the foreground app.
Q21. What is a category and at the same time as is it used?
Ans: A class is a way of together with extra techniques to a class without extending it. It is frequently used to feature a group of associated techniques. A common use case is to feature additional techniques to built-in instructions inside the Cocoa frameworks.
Q22. What is the distinction between viewDidLoad and viewDidAppear? Which want to you operate to load data from a far flung server to expose inside the view?
Ans: viewDidLoad is referred to as whilst the view is loaded, whether or not or now not from a Xib file, storyboard or programmatically created in loadView. ViewDidAppear is known as each time the view is supplied at the tool. Which to use is based upon at the use case on your information. If the data is reasonably static and no longer probably to change then it could be loaded in viewDidLoad and cached. However, if the records changes regularly then the use of viewDidAppear to load it's far better. In both conditions, the facts have to be loaded asynchronously on a ancient past thread to keep away from blocking the UI.
Q23. What’s the distinction many of the utilization of a delegate and notification?
Ans: Both are used for sending values and messages to worried occasions. A delegate is for one-to-one communique and is a sample promoted thru Apple. In delegation, the magnificence raising activities may want to have a property for the delegate and will typically expect it to implement a few protocol. The delegating magnificence can then call the delegates protocol techniques.
Notification lets in a class to broadcast events across the whole software program to any interested parties. The broadcasting beauty doesn’t want to recognise something approximately the listeners for this event, consequently notification can be very useful in assisting to decouple components in an software.
Q24. What happens at the same time as you invoke a way on a 0 pointer ?
Ans: A message sent to a 0 item is flawlessly proper in Objective-C, it’s dealt with as a no-op. There isn't always any way to flag it as an mistakes as it’s no longer an errors, in fact, it can be a totally beneficial characteristic of the language.
Q25. Which is quicker: to iterate via an NSArray or an NSSet?
Ans: When the order of the items inside the collection is not essential, NSSet offers higher performance for locating objects inside the series; the motive is that the NSSet makes use of hash values to find gadgets (like a dictionary), whilst an array has to iterate over its complete contents to discover a specific object.
Q26. What is Decorator Design Pattern?
Ans: The Decorator sample dynamically presents behaviors and responsibilities to an object with out enhancing its code. It’s an possibility to subclassing in that you adjust a class’s conduct with the aid of the use of wrapping it with every different item.
Q27. What is the distinction among Synchronous & Asynchronous venture?
Ans: Synchronous: waits till the mission has completed Asynchronous: completes a undertaking in history and may notify you whilst complete
Q28. What Are B-Trees?
Ans: B-wood are are looking for wooden that provide an ordered key-value keep with top notch ordinary performance traits. In precept, each node keeps a sorted array of its private factors, and a few different array for its children.
Q29. What is made up of NSError item?
Ans: There are 3 factors of NSError object a website, an mistakes code, and someone data dictionary. The domain is a string that identifies what classes of errors this mistake is coming from.
Q30. What is bounding field?
Ans: Bounding field is a term utilized in geometry; it refers back to the smallest degree (region or volume) interior which a given set of factors.
Q31. Why don’t we use strong for enum property in Objective-C?
Ans: Because enums aren’t gadgets, so we don’t specify strong or prone right here.
Q32. What is synthesize in Objective-C?
Ans: Synthesize generates getter and setter strategies for your house.
Q33. What is dynamic in Objective-C?
Ans: We use dynamic for subclasses of NSManagedObject. @dynamic moreover may be used to delegate the obligation of enforcing the accessors.
Q34. Why will we use synchronized?
Ans: Synchronized guarantees that most effective one thread can be executing that code within the block at any given time.
Q35. What is the distinction sturdy, weaks, examine best and copy?
Ans: Strong technique that the reference count number may be increased and
the connection with it is going to be maintained through the lifestyles of the item
Weak, technique that we are pointing to an item but now not growing its reference count number. It’s frequently used even as growing a determine baby relationship. The figure has a robust connection with the kid however the toddler handiest has a vulnerable reference to the determine.
Read only, we are able to set the assets to start with however then it could’t be changed.
Copy, method that we’re copying the fee of the item whilst it’s created. Also prevents its fee from converting.
Q36. What is Dynamic Dispatch?
Ans: Dynamic Dispatch is the method of selecting which implementation
of a polymorphic operation that’s a way or a function to name at run time. This approach, that after we wanna invoke our techniques like item method. However Swift does not default to dynamic dispatch
Q37. What’s Code Coverage?
Ans: Code coverage is a tool that lets in us to measure the value of our unit exams.
Q38. What’s Completion Handler?
Ans: Completion handlers are notable handy while our app is making an API name, and we need to do something while that mission is completed, like updating the UI to reveal the facts from the API name. We’ll see finishing touch handlers in Apple’s APIs like dataTaskWithRequest and that they can be pretty available on your very own code.
The crowning glory handler takes a bit of code with 3 arguments:(NSData?, NSURLResponse?, NSError?) that returns now not whatever: Void. It’s a closure.
Q39. How to Prioritize Usability in Design?
Ans: Broke down its layout method to prioritize usability in four steps:
Think just like the person, then layout the UX.
Remember that users are people, not demographics.
When promoting an app, take into account all the situations wherein it is able to be beneficial.
Keep jogging on the application of the app even after release.
Q40. What’s the distinction a number of the body and the boundaries?
Ans: The bounds of an UIView is the rectangle, expressed as a location (x,y) and length (width,height) relative to its personal coordinate machine (zero,zero).
The frame of an UIView is the rectangle, expressed as an area (x,y) and period (width,height) relative to the superview it is contained inside.
Q41. What is Responder Chain?
Ans: A ResponderChain is a hierarchy of items which have the possibility to answer to events obtained.
Q42. What is Regular expressions?
Ans: Regular expressions are special string styles that describe the way to search thru a string.
Q43. What is Operator Overloading?
Ans: Operator overloading allows us to exchange how gift operators behave with kinds that every already exist.
Q44. What is TVMLKit?
Q45. What is Platform boundaries of tvOS?
Ans: First, tvOS affords no browser manual of any type, neither is there any WebKit or other net-primarily based definitely rendering engine you could software program in competition to. This method your app can’t link out to a web browser for something, which includes internet links, OAuth, or social media web websites.
Second, tvOS apps can not explicitly use neighborhood garage. At product launch, the devices supply with either 32 GB or 64 GB of difficult strain area, however apps are not approved to jot down without delay to the on-board garage.
TvOS app bundle deal cannot exceed four GB.
Q46. What is Functions?
Ans: Functions permit us to organization a chain of statements collectively to carry out some venture. Once a function is created, it could be reused again and again in your code. If you discover your self repeating statements to your code, then a characteristic can be the answer to avoid that repetition.
Q47. What is ABI?
Ans: ABIs are crucial with reference to packages that use outdoor libraries. If a software is built to apply a selected library and that library is later updated, you don’t want to should re-gather that utility (and from the forestall-user’s angle, you could now not have the supply). If the up to date library makes use of the equal ABI, then your application will now not want to trade.
Q48. Why is layout patern very vital?
Ans: Design styles are reusable answers to not unusual troubles in software layout. They’re templates designed that will help you write code that’s smooth to recognize and reuse. Most common Cocoa format styles:
Structural: MVC, Decorator, Adapter, Facade.
Behavioral: Observer, and, Memento
Q49. What is Singleton Pattern?
Ans: The Singleton layout sample guarantees that most effective one instance exists for a given magnificence and that there’s a global get admission to factor to that example. It generally makes use of lazy loading to create the single example while it’s needed the first time.
Q50. What is Facade Design Pattern?
Ans: The Facade layout pattern offers a single interface to a complicated subsystem. Instead of disclosing the user to a set of education and their APIs, you best expose one simple unified API.