i
NTT Data
Filter interviews by
I applied via Naukri.com and was interviewed in Jan 2024. There was 1 interview round.
Protocols in Swift define a blueprint of methods, properties, and other requirements that a class, struct, or enum must adopt.
Protocols are used to define a set of rules or capabilities that a type must conform to.
They allow for code reuse and provide a way to define common behavior across different types.
A type can adopt multiple protocols, enabling it to conform to multiple sets of rules.
Protocols can require propert...
Dependency Injection is a design pattern where the dependencies of an object are provided externally rather than being created internally.
Dependency Injection helps in achieving loose coupling between classes.
It allows for easier testing and maintenance of code.
There are three types of Dependency Injection: Constructor Injection, Setter Injection, and Interface Injection.
Example: In iOS development, we can use Dependen...
Generics in Swift allow you to write flexible and reusable code by creating functions, classes, and structures that can work with any type.
Generics enable you to write code that can be used with different types, without duplicating code.
You can define generic functions, types, and protocols to work with a wide range of types.
Generics are particularly useful when working with collections, such as arrays and dictionaries...
Associate types are a way to create a relationship between two types in Swift.
Associate types are defined using the 'associatedtype' keyword.
They are used in protocols to define a placeholder type that will be specified by the conforming type.
The conforming type can provide its own concrete type for the associated type.
This allows protocols to be more flexible and reusable.
For example, a protocol for a container type c...
Top trending discussions
I applied via LinkedIn and was interviewed in Sep 2024. There were 3 interview rounds.
Basic interview on question like aptitude, javascript, typescript and react-native question
Function currying is a technique in functional programming where a function with multiple arguments is transformed into a sequence of nested functions, each taking a single argument.
Currying allows you to partially apply a function by fixing a number of arguments, which creates a new function.
It helps in creating reusable functions and improves code readability.
Example: const add = (a) => (b) => a + b; const add5 = add
IIFE stands for Immediately Invoked Function Expression, used for creating a function that is executed immediately after it is defined.
IIFE is used to create a private scope for variables to avoid polluting the global scope.
It is commonly used in React Native development to encapsulate code and prevent naming conflicts.
Example: (function() { console.log('IIFE executed'); })();
Call stack is used to keep track of function calls, while event loop manages asynchronous operations in JavaScript.
Call stack is a data structure that keeps track of function calls in a program.
When a function is called, it is added to the top of the call stack. When the function completes, it is removed from the stack.
Event loop is responsible for managing asynchronous operations in JavaScript, ensuring that they are ...
I applied via Approached by Company and was interviewed in Nov 2024. There were 2 interview rounds.
posted on 12 Nov 2024
I applied via Naukri.com and was interviewed in Aug 2024. There was 1 interview round.
Data class in Kotlin is used to represent a simple data container with automatically generated methods like equals(), hashCode(), toString(), and copy().
Data classes are declared using the 'data' keyword before the class keyword.
Properties of data classes are automatically generated component functions for destructuring declarations.
Data classes cannot be abstract, open, sealed, or inner.
Example: data class User(val na
ViewModel is a class that stores and manages UI-related data in a lifecycle-conscious way. MVVM is an architectural pattern that separates the UI from the business logic.
ViewModel is part of the Android Architecture Components and is used to store and manage UI-related data in a lifecycle-conscious way.
ViewModel survives configuration changes such as screen rotations and retains its data.
MVVM stands for Model-View-View...
I applied via Company Website and was interviewed in Aug 2024. There was 1 interview round.
MVVM is a design pattern that separates the UI, business logic, and data layers in an iOS application.
Model: Represents the data and business logic of the application.
View: Represents the UI components of the application.
ViewModel: Acts as a mediator between the Model and View, handling the presentation logic and data binding.
Pros: Separation of concerns, easier to maintain and test, promotes reusability.
Cons: Increase...
Multithreading in Swift allows for concurrent execution of tasks to improve performance and responsiveness.
Use Grand Central Dispatch (GCD) for managing concurrent tasks
Avoid blocking the main thread to prevent UI freezes
Consider using Operation and OperationQueue for more complex task management
Coroutines are a way to perform asynchronous operations in Android, securing app data involves encryption, SSL pinning enhances security, FCM for notifications.
Coroutines are used for managing asynchronous operations in Android, allowing for efficient and non-blocking code execution.
Securing app data involves using encryption techniques such as AES to protect sensitive information from unauthorized access.
SSL pinning i...
I applied via LinkedIn and was interviewed in Jul 2024. There were 2 interview rounds.
Easy aptitude english and logical reasoning.
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
Software Engineer
932
salaries
| ₹2.8 L/yr - ₹11 L/yr |
Senior Associate
767
salaries
| ₹1.1 L/yr - ₹9.3 L/yr |
Network Engineer
647
salaries
| ₹1.8 L/yr - ₹10 L/yr |
Software Developer
615
salaries
| ₹2.5 L/yr - ₹13 L/yr |
Senior Software Engineer
512
salaries
| ₹6.5 L/yr - ₹24 L/yr |
Tata Communications
Bharti Airtel
Reliance Communications
Vodafone Idea