Filter interviews by
I was interviewed in Mar 2021.
To find middle node of a linked list, use two pointers - slow and fast.
Initialize slow and fast pointers to the head of the linked list
Move slow pointer one step at a time and fast pointer two steps at a time
When fast pointer reaches the end of the list, slow pointer will be at the middle node
Sort an array of 0s and 1s in ascending order.
Use a sorting algorithm like bubble sort or quick sort.
Loop through the array and swap 0s with 1s if necessary.
Alternatively, count the number of 0s and 1s and recreate the array with the correct order.
Classes and structures are both used to create custom data types in object-oriented programming, but they have some key differences.
Classes are reference types, while structures are value types.
Classes support inheritance and polymorphism, while structures do not.
Classes have a default initializer, while structures do not.
Classes can have deinitializers, while structures cannot.
Classes can be passed around as reference...
I applied via campus placement at DIT School of Engineering, Noida and was interviewed in Aug 2024. There were 2 interview rounds.
Write a function to find length of string
posted on 18 Dec 2024
I applied via Company Website and was interviewed in Nov 2024. There were 3 interview rounds.
I am excited to join TCS for the opportunity to work on challenging projects and grow my skills. I am open to Bangalore location.
Excited about working on challenging projects at TCS
Opportunity to grow skills and knowledge
Open to Bangalore location for work
posted on 20 Dec 2024
Concurrency in Swift can be handled using Grand Central Dispatch (GCD) and Operation Queues.
Use GCD to perform tasks concurrently by creating dispatch queues.
Use Operation Queues to manage and execute multiple operations concurrently.
Avoid race conditions by using serial queues or synchronization techniques like semaphores or locks.
iOS app distribution methods include App Store, Ad Hoc, Enterprise, and TestFlight.
App Store distribution is for public release and requires Apple's review process.
Ad Hoc distribution allows sharing apps with a limited number of devices.
Enterprise distribution is for in-house apps within a company.
TestFlight is for beta testing with external testers before App Store release.
App Life Cycle refers to the sequence of events that occur from the time an app is launched until it is terminated.
App is launched by user or system
App enters foreground and becomes active
App enters background when user switches to another app or locks the device
App may be terminated by the system to free up resources
App can be brought back to foreground by user or system events
Extension of enum allows adding new cases, computed properties, and methods to an existing enum type.
Extensions can be used to add new functionality to existing enum types without modifying their original implementation.
New cases, computed properties, and methods can be added to an enum using extensions.
Extensions can also be used to conform an enum to a protocol.
Delegate methods of URL session are used to handle various events during network requests.
Delegate methods are used to handle authentication challenges, background session events, and data tasks.
Examples include URLSessionDelegate, URLSessionDataDelegate, URLSessionTaskDelegate.
Delegate methods can be used to handle redirects, caching policies, and response validation.
SSL pinning is a security measure used to prevent man-in-the-middle attacks by validating the server's SSL certificate.
Implement SSL pinning by embedding the server's SSL certificate within the app's code.
During the SSL handshake, compare the server's certificate with the embedded certificate to ensure they match.
If the certificates match, the connection is considered secure and the data exchange can proceed.
SSL pinnin...
posted on 9 Jan 2024
I applied via Recruitment Consulltant and was interviewed in Dec 2023. There were 3 interview rounds.
Higher Order and Lambda Functions in Kotlin
Higher order functions are functions that take other functions as parameters or return functions
Lambda functions are anonymous functions that can be used as arguments or return values in higher order functions
They provide a concise way to write code and enable functional programming in Kotlin
Multi Modular Project structure is an architectural approach that divides an application into multiple modules for better organization and scalability.
Divide the application into separate modules based on functionality or features.
Each module should have its own set of code, resources, and dependencies.
Modules can communicate with each other through defined interfaces or APIs.
Modularization helps in code reusability, e...
Null pointer prevention and type safety in Kotlin
Kotlin uses nullable and non-nullable types to prevent null pointer exceptions
The safe call operator '?' can be used to safely access nullable variables
The '!!' operator can be used to explicitly throw a null pointer exception
Kotlin's type system ensures type safety by checking types at compile-time
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
I applied via Naukri.com and was interviewed in Apr 2024. There was 1 interview round.
Protocol extensions in iOS allow adding functionality to existing protocols without modifying the original protocol definition.
Protocol extensions can provide default implementations for protocol methods.
They can also add new methods and properties to conforming types.
Protocol extensions are useful for adding common functionality to multiple types that conform to a protocol.
Example: extending the Equatable protocol to ...
Merge combines changes from different branches, while rebase moves the entire branch to a new base commit.
Merge creates a new commit to combine changes, while rebase rewrites commit history.
Merge preserves the commit history of all branches, while rebase creates a linear history.
Merge is non-destructive and keeps the original branch intact, while rebase modifies the branch being rebased.
Example: 'git merge feature-bran
Protocol equitability ensures that all participants in a communication protocol have equal access and opportunity to send and receive data.
Ensures fair and equal treatment of all participants in a communication protocol
Prevents any participant from having an unfair advantage or disadvantage
Promotes transparency and inclusivity in communication protocols
commit() writes the changes synchronously, apply() writes the changes asynchronously.
commit() returns a boolean value indicating success or failure, while apply() does not.
commit() writes the changes immediately to the disk, while apply() writes the changes to the memory first and then to the disk asynchronously.
apply() is faster than commit() as it writes the changes in the background thread.
Use commit() when you need...
Alpha testing is done by internal teams before release, while beta testing is done by external users after alpha testing.
Alpha testing is done by internal teams to identify bugs and issues before releasing the software to the public.
Beta testing is done by external users who are not part of the development team to gather feedback and identify any remaining issues.
Alpha testing is usually done in a controlled environmen...
Product Flavour is a feature in Android development that allows you to create different versions of your app with different configurations.
Product Flavours are used to create different versions of an app for different purposes or target audiences.
Each Product Flavour can have its own unique code, resources, and configurations.
Product Flavours are defined in the build.gradle file of an Android project.
Examples of Produc...
Yes, we can use Activity without XML by programmatically creating the UI elements.
Activities can be created and managed entirely in code without using XML layouts.
UI elements can be added to the activity using Java code.
This approach is useful for creating dynamic UIs or for cases where XML layouts are not suitable.
Yes, users can downgrade an app from PlayStore by uninstalling the current version and installing an older version manually.
Users can uninstall the current version of the app from their device.
They can then search for the older version of the app APK file online or use a backup they may have.
After downloading the older version APK, they can manually install it on their device.
Software Developer
6
salaries
| ₹11 L/yr - ₹26.2 L/yr |
Software Engineer
4
salaries
| ₹4.5 L/yr - ₹5.4 L/yr |
Sales Officer
4
salaries
| ₹2.5 L/yr - ₹3.5 L/yr |
Front end Developer
4
salaries
| ₹2.5 L/yr - ₹3.6 L/yr |
Full Stack Developer
4
salaries
| ₹4 L/yr - ₹12.8 L/yr |
TCS
Accenture
Wipro
Cognizant