i
Tech Mahindra
Filter interviews by
ARC (Automatic Reference Counting) in Swift is a memory management system used to automatically manage memory allocation and deallocation.
ARC keeps track of how many references there are to an object and automatically deallocates it when there are no more references.
Use strong reference cycles can lead to memory leaks, so use weak or unowned references to break the cycle.
ARC is the default memory management system in S...
MVVM (Model-View-ViewModel) is an architectural design pattern commonly used in iOS development to separate concerns and improve code maintainability.
MVVM separates the user interface (View) from the business logic (ViewModel) and data (Model).
ViewModel acts as an intermediary between the View and the Model, handling user interactions and updating the data.
Swift provides tools like Combine framework for reactive progra...
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 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...
Objective-C is the older language used for iOS development, while Swift is the newer, more modern language.
Objective-C is a superset of C with Smalltalk-style messaging syntax.
Swift is more concise and easier to read than Objective-C.
Swift is safer due to its optionals and type interference features.
Objective-C has been around longer and has a larger codebase, but Swift is becoming more popular.
Many developers prefer S...
Easy aptitude english and logical reasoning.
I am an experienced IOS Developer with a passion for creating innovative and user-friendly mobile applications.
Over 5 years of experience in IOS app development
Proficient in Swift and Objective-C programming languages
Strong understanding of mobile UI/UX design principles
Familiar with RESTful APIs and third-party libraries
Developed and launched multiple successful apps on the App Store
Swift is a powerful and modern programming language for iOS development, but it has its own set of advantages and disadvantages.
Advantages: faster performance, safer code with optionals, easier to read and write code, interoperability with Objective-C
Disadvantages: steep learning curve for beginners, limited community support compared to other languages like Java or Python
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 Company Website and was interviewed in Jul 2020. There was 1 interview round.
Struct is a value type, Class is a reference type in Swift.
Structs are passed by value, Classes are passed by reference.
Structs are immutable by default, Classes are mutable.
Use Structs for simple data types, Classes for more complex objects.
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
based on 1 interview
Interview experience
based on 3 reviews
Rating in categories
Software Engineer
26.4k
salaries
| ₹2 L/yr - ₹9.3 L/yr |
Senior Software Engineer
21.5k
salaries
| ₹5.5 L/yr - ₹23 L/yr |
Technical Lead
11.9k
salaries
| ₹9.8 L/yr - ₹38 L/yr |
Associate Software Engineer
5.6k
salaries
| ₹1.8 L/yr - ₹8.2 L/yr |
Team Lead
5k
salaries
| ₹5.3 L/yr - ₹17.1 L/yr |
Infosys
Cognizant
Accenture
Wipro