i
InnovationM
Filter interviews by
I applied via Job Fair and was interviewed in Dec 2024. There was 1 interview round.
posted on 30 Sep 2024
Life cycle methods are special methods in class components that allow developers to run code at specific points in the component's life cycle.
componentDidMount() is called after the component has been rendered to the DOM.
componentDidUpdate() is called after the component's state or props have been updated.
componentWillUnmount() is called before the component is removed from the DOM.
FlatList is optimized for rendering large lists efficiently by only rendering the items that are currently visible, while ScrollView renders all of its children at once.
FlatList is more performant for long lists as it only renders the items that are currently visible on the screen.
ScrollView renders all of its children at once, which can lead to performance issues with large datasets.
FlatList supports key extraction fo...
Android components like Recycler View, View Model, ANR are essential for building robust Android applications.
Recycler View: Efficient way to display large data sets by recycling views as they scroll off the screen.
View Model: Manages UI-related data in a lifecycle-conscious way, surviving configuration changes.
ANR (Application Not Responding): Dialog shown to the user when the main thread of an app is blocked for too ...
LRU cache is a data structure that stores the most recently used items, discarding the least recently used items when full.
Use a hashmap to store key-value pairs for quick access
Use a doubly linked list to keep track of the order of items based on their usage
When an item is accessed, move it to the front of the list
When the cache is full, remove the least recently used item from the end of the list
posted on 21 Aug 2024
I applied via Approached by Company and was interviewed in Jul 2024. There was 1 interview round.
I applied via Approached by Company and was interviewed in Sep 2023. There were 2 interview rounds.
posted on 9 Mar 2024
I applied via Naukri.com and was interviewed in Sep 2023. There was 1 interview round.
Activity life cycle is a crucial concept in Android development. Factorial and Fibonacci series are common mathematical problems. lateinit var and lazy are used for initializing variables. Var and val are used for declaring variables.
Activity life cycle includes methods like onCreate, onStart, onResume, onPause, onStop, onDestroy.
Factorial is the product of all positive integers up to a given number. Example: 5! = 5*4*...
I applied via Recruitment Consulltant and was interviewed before Aug 2023. There was 1 interview round.
There were total 3 rounds and it consists of Basic array and string coding question
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Easy
This was a DSA based round, I was asked to code on collabedit.
A simple approach to do this is to sort the linked list using merge sort and then swap alternate nodes.
Time Complexity : O(nlogn)
The efficient approach would be to traverse the given linked list and check if current node maintains the zigzag order or not.
To check if the given node maintains zigzag order or not, a variable ind is used.
If ind = 0, then the current node’s data should be less than its adjacent ...
XOR approach can be used to solve this question in an efficient manner. The following property of XOR can be used :
1. If x1^x2^…xn = a and x1^x2^..xn-1 = b , then a^b = xn
Steps:
1. Declare two variables a= 0 and b = 0
2. Calculate the xor of numbers from 1 to n and store them in a i.e. 1^2^…n = a.
3. Now traverse the array from start to end.
4. For every index i update b as b = b ^ arr[i]
5. Return the missing number ...
1. A palindrome is a word or phrase that reads the same ...
A set of characters can form a palindrome if at most one character occurs odd number of times and all characters occur even number of times.
This can be done in O(n) time using a count array.
Steps :
1. Create a count array of alphabet size which is typically 256. Initialize all values of count array as 0.
2. Traverse the given string and increment count of every character.
3. Traverse the count array and if the...
Round duration - 30 minutes
Round difficulty - Medium
This was onsite interview round 1. Java and Android threading concepts are needed.
What is Cyclic Barrier?
A CyclicBarrier is a synchronizer that allows a set of threads to wait for each other to reach a common execution point, also called a barrier. CyclicBarriers are used in programs in which we have a fixed number of threads that must wait for each other to reach a common point before continuing execution. The barrier is called cyclic because it can be re-used after the waiting threads are released.
What are the different launch modes for activities?
1.Standard : This is the default launch mode of activity (If not specified). It launches a new instance of an activity in the task from which it was launched. Numerous instances of the activity can be generated, and multiple instances of the activity can be assigned to the same or separate tasks.
Syntax:
2.Single Task : In this method of operation, a new task is always generated, and a new instance is added t...
How to pass a simple Java object from one thread to another?
One way could be to create an implementation of Runnable that is constructed with the array of doubles and then pass it into a thread pool executor.
Example :
public class MyDoublesProcessor implements Runnable {
double[] doublesArray;
public MyDoublesProcessor(double[] array) {
doublesArray = array;
}
public void run() {
//do stuff with array
}
}
Executor exec = Executors.newFixedThreadPool(1);
void callback(double[] array)...
Round duration - 60 minutes
Round difficulty - Easy
This round was all about android and internals of collections in Java.
What is IntentService?
IntentService is an extension of the Service component class that handles asynchronous requests (expressed as Intents) on demand. Clients send requests through Context.startService(Intent) calls; the service is started as needed, handles each Intent in turn using a worker thread, and stops itself when it runs out of work.
This "work queue processor" pattern is commonly used to offload tasks from an application's main th...
Difference between deep links and app links?
A deep link is an intent filter system that allows users to directly enter a specific activity in an Android app. However there is an issue about this process. When a user click an URL, it might open a dialog which asks the user to select one of multiple apps handling the given URL.
On the other hand, An Android App Link is a deep link based on your website URL that has been verified to belong to your website. When user
What are the IPC mechanisms available in android OS?
1) Intents are messages which components can send and receive. It is a universal mechanism of passing data between processes. With help of the intents one can start services or activities, invoke broadcast receivers and so on.
2) Bundles are entities of data that is passed through. It is similar to the serialization of an object, but much faster on android. Bundle can be read from intent via the getExtras() method.
3) Bi...
Round duration - 90 minutes
Round difficulty - Medium
Technical interview round for purely checking the design knowledge of a person.
Design an photo viewing app which will show images from the disk in the list, and one item in the list should take half of the screen.
Tip 1: Before you jump into the solution always clarify all the assumptions you’re making at the beginning of the interview. Ask questions to identify the scope of the system. This will clear the initial doubt, and you will get to know what are the specific detail interviewer wants to consider in this service.
Tip 2: Design your structure and functions according to the requirements and try to convey your thoughts proper...
Structure of an LRU Cache :
1) In practice, LRU cache is a kind of Queue — if an element is reaccessed, it goes to the end of the eviction order
2) This queue will have a specific capacity as the cache has a limited size. Whenever a new element is brought in, it is added at the head of the queue. When eviction happens, it happens from the tail of the queue.
3) Hitting data in the cache must be done in constant time, which...
Design a weather app. (One image for every weather is there on a server) Take care of half downloaded image, try not to consume data of user again.
Tip 1: Before you jump into the solution always clarify all the assumptions you’re making at the beginning of the interview. Ask questions to identify the scope of the system. This will clear the initial doubt, and you will get to know what are the specific detail interviewer wants to consider in this service.
Tip 2: Design your structure and functions according to the requirements and try to convey your thoughts proper...
Design the ImageDownloader, with efficiently handling parallel API calls
Tip 1: Before you jump into the solution always clarify all the assumptions you’re making at the beginning of the interview. Ask questions to identify the scope of the system. This will clear the initial doubt, and you will get to know what are the specific detail interviewer wants to consider in this service.
Tip 2: Design your structure and functions according to the requirements and try to convey your thoughts proper...
Round duration - 30 minutes
Round difficulty - Easy
This was the last Interview with director of engineering.
Q1. What were your challenges you faced in your project work?
Q2. Which project you loved most and which one you did not ?
Tip 1 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking.
Tip 3 : Since everybody in the interview panel is from tech background, here too you can expect some technical questions. No coding in most of the cases but some discussions over the design can surely happen.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I was interviewed in Feb 2017.
An Android photo viewing app with a list of images from disk, one taking half the screen.
Use RecyclerView to display the list of images
Use a custom adapter to bind the images to the RecyclerView
Use a GridLayoutManager with span count of 2 to achieve the half-screen effect
Load images from disk using a library like Glide or Picasso
Implement click listeners to handle item selection and display the selected image
Given an array of natural numbers in random order, find the first missing natural number.
Sort the array in ascending order
Iterate through the sorted array and compare each element with its index
If the element is not equal to its index + 1, return the missing number
If all elements are in order, return the next natural number after the last element
To transfer the Ball object from one thread to another, we can use Handler or AsyncTask.
Use Handler to post a Runnable to the main thread's message queue
Use AsyncTask to perform background operations and update the UI on the main thread
Pass the Ball object as a parameter or use a shared variable between threads
Looper/handlers allow passing objects between threads in Android.
Looper is a message loop that runs in a thread and processes messages from a message queue.
Handlers are used to send messages to the message queue of a looper.
When an object is passed from one thread to another using a handler, it is encapsulated in a message and added to the receiving thread's message queue.
The receiving thread's looper then processes th...
IPC (Inter-Process Communication) methods in Android allow communication between different processes.
Binder: Android's native IPC mechanism, used for communication between processes.
Intents: Used for communication between components within the same application or between different applications.
Content Providers: Allow sharing data between applications using a common interface.
Broadcasts: Used for asynchronous communica...
To create my own HashMap, I would use an array of linked lists to handle collisions and implement key-value pairs using a hash function.
Create an array of linked lists to store the key-value pairs
Implement a hash function to generate an index for each key
Handle collisions by adding elements to the linked list at the corresponding index
Support operations like put(key, value), get(key), and remove(key)
A weather app that displays images for different weather conditions, taking care of half downloaded images and minimizing data consumption.
Implement image caching to store downloaded images locally
Check if the image is already downloaded before making a network request
Use a progress bar to indicate the download status of the image
Handle cases where the download is interrupted or incomplete
Implement a mechanism to resum...
To search for contacts with duplicate names or numbers, iterate through the list and compare each contact's name and number with the search term.
Iterate through the list of contacts
Compare the search term with each contact's name and number
Return the contacts that match the search term
Launch mode determines how an activity is launched and how it behaves in the task stack.
Standard: Creates a new instance of the activity on each launch.
SingleTop: Reuses the existing instance if it's already at the top of the stack.
SingleTask: Creates a new task and places the activity at the root of the task.
SingleInstance: Creates a new task and places the activity as the only one in the task.
Deep linking in Android allows users to navigate directly to specific content within an app.
Deep linking is achieved by defining intent filters in the app's manifest file.
The intent filter specifies the URL scheme and host that the app can handle.
When a deep link is clicked, Android checks if any app can handle the URL and prompts the user to choose.
The chosen app receives the deep link data in the intent's data field.
...
Design a screen to show 10 nearest restaurants in a list with uninterrupted scrolling.
Use a RecyclerView to display the list of restaurants
Implement a custom adapter to populate the data in the list
Use a location service to get the user's current location
Sort the restaurants based on their distance from the user's location
Load more restaurants as the user scrolls to the end of the list
ImageDownloader efficiently handles parallel API calls.
Use a thread pool to manage parallel API calls.
Implement caching to avoid redundant API calls.
Use a priority queue to prioritize image downloads.
Optimize network requests by using HTTP/2 or multiplexing.
Consider using a library like Picasso or Glide for image loading and caching.
Software Engineer
109
salaries
| ₹2.5 L/yr - ₹9 L/yr |
Senior Software Engineer
52
salaries
| ₹4 L/yr - ₹15 L/yr |
HR Executive
44
salaries
| ₹2.4 L/yr - ₹4.5 L/yr |
Senior HR Executive
27
salaries
| ₹2.8 L/yr - ₹5 L/yr |
Senior Quality Analyst
25
salaries
| ₹5.1 L/yr - ₹11.2 L/yr |
TCS
Infosys
Wipro
HCLTech