Filter interviews by
I applied via Recruitment Consultant and was interviewed in Aug 2021. There were 4 interview rounds.
Swift 5 introduced ABI stability, improved performance, and new language features.
ABI stability ensures compatibility between future Swift versions
Improved performance with faster build times and reduced app size
New language features include Result type, Raw strings, and Property wrappers
Completion handler is a closure that gets executed after a task is completed.
Completion handlers are used to handle asynchronous tasks in iOS development.
They are commonly used in network requests, animations, and other time-consuming tasks.
Completion handlers take in parameters and return values, allowing for customization and flexibility.
Example: URLSession.shared.dataTask(with: url) { data, response, error in // han
GCD (Grand Central Dispatch) is a concurrency framework that allows developers to perform tasks asynchronously.
GCD is used to manage concurrent operations in iOS apps.
It uses dispatch queues to manage tasks and execute them in parallel.
GCD provides different types of queues such as serial, concurrent, and main queues.
Example: DispatchQueue.main.async { // code to be executed on main queue }
Example: DispatchQueue.global...
Steps to add collection view in Swift.
Create a UICollectionView instance
Set the delegate and data source of the collection view
Implement the required methods of UICollectionViewDataSource and UICollectionViewDelegate protocols
Register the cell class or nib file for the collection view
Return the number of items and configure the cell in the data source methods
Implement any additional delegate methods as needed
I applied via Recruitment Consulltant and was interviewed before Feb 2021. There was 1 interview round.
Optional is a type in Swift that can hold a value or be nil. Struct and class are both used to define custom data types.
Optional is denoted by a question mark (?) and is used to handle nil values.
Structs are value types and are passed by value, while classes are reference types and are passed by reference.
Structs have a default memberwise initializer, while classes do not.
Classes can inherit from other classes, while s...
I applied via Company Website
Struct is value type while Class is reference type in Swift. Structs are passed by value while Classes are passed by reference.
Structs are ideal for small data types like coordinates, colors, etc.
Classes are ideal for larger data types like view controllers, network managers, etc.
Structs are immutable by default while Classes are mutable.
Structs cannot inherit from other types while Classes can.
Structs are stack alloca
I applied via Walk-in and was interviewed before Sep 2023. There were 2 interview rounds.
Serialisation in API is the process of converting data into a format that can be easily transmitted over a network.
Serialisation is used to convert complex data structures into a format that can be easily transmitted over a network.
It involves converting objects or data structures into a stream of bytes that can be sent over a network.
JSON and XML are commonly used formats for serialising data in APIs.
Serialisation is ...
Codable is a protocol in Swift that allows for easy encoding and decoding of data types to and from external representations.
Codable protocol is used to convert custom data types to and from external representations such as JSON, plist, etc.
It requires the types to conform to Encodable and Decodable protocols.
Codable protocol provides default implementations for encoding and decoding.
Example: struct Person: Codable { v...
MVVM is an architectural design pattern that separates the user interface code from the business logic and data model.
MVVM stands for Model-View-ViewModel
Model represents the data and business logic
View displays the UI elements and interacts with the user
ViewModel acts as a mediator between the Model and View, handling user inputs and updating the Model
MVVM helps in achieving separation of concerns and making the code
Classes are reference types, while structs are value types in Swift.
Classes are reference types, meaning they point to the same instance in memory when assigned to a new variable.
Structs are value types, meaning they create a new copy when assigned to a new variable.
Classes support inheritance, while structs do not.
Classes can have deinitializers, while structs cannot.
Example: class Person { var name: String } vs struc
I can join within 2 weeks of receiving an offer.
I can start within 2 weeks of receiving an offer
I need to give notice at my current job before starting
I have some personal commitments that I need to wrap up before joining
I applied via Job Portal and was interviewed in Mar 2024. There was 1 interview round.
diff is used to compare two collections and return the differences, while guard is used for early exit in a function if a condition is not met.
diff is a method used in Swift to compare two collections and return the differences.
guard is a keyword used in Swift to provide an early exit from a function if a condition is not met.
Example: let array1 = [1, 2, 3, 4], array2 = [3, 4, 5, 6]; let result = array1.diff(array2) //...
GCD stands for Grand Central Dispatch, a technology used in iOS for managing concurrent operations. Multithreading is the ability of a CPU to execute multiple threads concurrently.
GCD is used for managing tasks asynchronously and efficiently utilizing system resources.
Multithreading allows multiple tasks to run concurrently, improving performance and responsiveness of an application.
Example: Using GCD to download image...
Classes and structures are both used to define custom data types, but they have some key differences.
Classes are reference types, while structures are value types.
Classes support inheritance, while structures do not.
Classes have deinitializers, while structures do not.
Classes have reference counting for memory management, while structures do not.
Classes can have optional property types, while structures cannot.
Retain cycle is a memory management issue where objects reference each other and cannot be released. It can be avoided by using weak or unowned references.
Retain cycle occurs when two or more objects hold strong references to each other.
To avoid retain cycle, use weak or unowned references instead of strong references.
Weak references do not increase the reference count of an object and automatically become nil when the...
Opinion binding is a legal doctrine that requires judges to follow the decisions of higher courts in similar cases.
Opinion binding is also known as stare decisis.
It helps to ensure consistency and predictability in the legal system.
For example, if a higher court has already ruled that a certain law is unconstitutional, lower courts must follow that ruling in similar cases.
Opinion binding can be controversial, as it can...
GCD and Operation Queues are both used for concurrent programming in iOS, but differ in their approach.
GCD is a C-based API that uses a thread pool model for concurrency.
Operation Queues are built on top of GCD and provide a higher-level abstraction for concurrency.
GCD is best for simple, lightweight tasks, while Operation Queues are better for more complex tasks with dependencies.
GCD uses blocks for task execution, wh...
The life cycle of iOS applications refers to the stages an app goes through from launch to termination.
The app is launched by the user or system
The app enters the foreground and becomes active
The app can be sent to the background or suspended
The app can be terminated by the user or system
The app can be resumed from the background or suspended state
The app can receive memory warnings and handle them appropriately
The UIViewController life cycle consists of several stages that occur when the view controller is loaded and unloaded.
viewDidLoad() - called when the view controller's view is loaded into memory
viewWillAppear() - called just before the view appears on the screen
viewDidAppear() - called just after the view appears on the screen
viewWillDisappear() - called just before the view disappears from the screen
viewDidDisappear()...
I was interviewed in May 2024.
Use a Set to get distinct members in array while maintaining sequence.
Iterate through the array and add each element to a Set to automatically remove duplicates.
Create a new array by iterating through the Set to maintain the original sequence.
TCS
Accenture
Wipro
Cognizant