Filter interviews by
I applied via Approached by Company and was interviewed before Sep 2023. There were 2 interview rounds.
Memory leaks in Android can occur when objects are not properly released from memory, leading to performance issues.
Avoid using static variables as they can hold references to objects longer than needed.
Be cautious with context references, as holding onto them can prevent objects from being garbage collected.
Use tools like LeakCanary to detect memory leaks and fix them before they become a problem.
Strong references prevent garbage collection, while weak references allow objects to be collected if no strong references exist.
Strong references prevent the garbage collector from collecting an object as long as the reference is active.
Weak references allow the garbage collector to collect an object if there are no strong references to it.
Strong references are typically used for objects that should not be collected, w...
To make RecyclerView more performant, optimize item layout, use view recycling, implement pagination, and prefetch data.
Optimize item layout by using ConstraintLayout for complex item views
Implement view recycling to reuse existing views instead of creating new ones
Implement pagination to load data in chunks and reduce memory usage
Prefetch data to load items in advance for smoother scrolling
Broadcast Receiver is a component in Android that allows the app to receive and react to broadcast messages from other apps or the system.
Broadcast Receiver is registered in the AndroidManifest.xml file or dynamically in code.
It can listen for system-wide broadcast messages or custom broadcast messages sent within the app.
Broadcast Receiver can perform actions like starting a service, updating UI, or triggering notific...
Services in Android are background components that perform long-running operations without a user interface.
Services run in the background even if the app is not in the foreground.
They can be used for tasks like playing music, downloading files, or syncing data.
There are two types of services: started services and bound services.
Started services are started with startService() and run independently of the app's lifecyc...
Top trending discussions
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
Binary search is a search algorithm that finds the position of a target value within a sorted array.
Divide the array into two halves and compare the target value with the middle element.
If the target value is less than the middle element, search the left half. If greater, search the right half.
Repeat the process until the target value is found or the subarray is empty.
Concurrency technique in Android allows multiple tasks to run simultaneously, improving performance and responsiveness.
Concurrency in Android can be achieved using AsyncTask, Handlers, Executors, and RxJava.
AsyncTask allows running background tasks on a separate thread and updating UI on the main thread.
Handlers are used to post and process Runnable objects on a thread's message queue.
Executors provide a high-level API...
posted on 20 May 2024
I applied via Naukri.com and was interviewed in Apr 2024. There was 1 interview round.
The lifecycle of an Activity in Android refers to the series of states an Activity goes through from creation to destruction.
An Activity goes through states like onCreate, onStart, onResume, onPause, onStop, onDestroy, etc.
Each state has specific methods that can be overridden to perform actions at that state.
For example, onCreate is called when the Activity is first created, onResume is called when the Activity is bro
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.
based on 1 interview
Interview experience
Java Developer
9
salaries
| ₹2.4 L/yr - ₹8 L/yr |
Assistant Manager
7
salaries
| ₹4.8 L/yr - ₹6.3 L/yr |
Business Analyst
6
salaries
| ₹4.8 L/yr - ₹5.5 L/yr |
Manager
4
salaries
| ₹5.8 L/yr - ₹7.9 L/yr |
Quality Analyst
4
salaries
| ₹4.3 L/yr - ₹4.8 L/yr |
Infosys
TCS
Wipro
HCLTech