Upload Button Icon Add office photos
Engaged Employer

i

This company page is being actively managed by InnovationM Team. If you also belong to the team, you can get access from here

InnovationM Verified Tick

Compare button icon Compare button icon Compare
4.3

based on 266 Reviews

Filter interviews by

InnovationM Senior Android Developer Interview Questions, Process, and Tips

Updated 15 Jan 2025

InnovationM Senior Android Developer Interview Experiences

1 interview found

Interview experience
5
Excellent
Difficulty level
Easy
Process Duration
Less than 2 weeks
Result
No response

I applied via Job Fair and was interviewed in Dec 2024. There was 1 interview round.

Round 1 - Technical 

(7 Questions)

  • Q1. Activity Lifecycle when screen rotate.
  • Q2. Why do we use Viewmodel?
  • Q3. Difference betwwen MVVM and Clean architecture?
  • Q4. Design a Image loading library?
  • Q5. How Viewmodel work?
  • Q6. What is immutable class?
  • Q7. What is SharedViewmode?

Interview questions from similar companies

Interview experience
5
Excellent
Difficulty level
-
Process Duration
-
Result
-
Round 1 - Technical 

(3 Questions)

  • Q1. Life Cycle Methods off class components
  • Ans. 

    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.

  • Answered by AI
  • Q2. Diffrence between FlatList and ScrollView
  • Ans. 

    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...

  • Answered by AI
  • Q3. Real World Scenories Questions

Skills evaluated in this interview

Interview experience
4
Good
Difficulty level
-
Process Duration
-
Result
-
Round 1 - Technical 

(3 Questions)

  • Q1. What are the different android components and concepts such as Recycler View, View Model, ANR and how do they function internally?
  • Ans. 

    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 ...

  • Answered by AI
  • Q2. How will you debug and solve the following crash and ANR from the given stack trace?
  • Q3. Solve this DSA question.
Round 2 - One-on-one 

(1 Question)

  • Q1. Similar questions to the first round.
Round 3 - One-on-one 

(1 Question)

  • Q1. Implement an LRU cache
  • Ans. 

    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

  • Answered by AI

Skills evaluated in this interview

Interview experience
4
Good
Difficulty level
Easy
Process Duration
Less than 2 weeks
Result
No response

I applied via Approached by Company and was interviewed in Jul 2024. There was 1 interview round.

Round 1 - Technical 

(3 Questions)

  • Q1. Basic OOPs questions
  • Q2. Questions on my project, what is the current project I am working on, my role in that
  • Q3. Life cycle questions
Interview experience
5
Excellent
Difficulty level
Moderate
Process Duration
2-4 weeks
Result
Not Selected

I applied via Approached by Company and was interviewed in Sep 2023. There were 2 interview rounds.

Round 1 - Technical 

(2 Questions)

  • Q1. Android related questions
  • Q2. One DSA question
Round 2 - Behavioral 

(2 Questions)

  • Q1. About previous projects
  • Q2. About technology used in previous projects
Interview experience
2
Poor
Difficulty level
Moderate
Process Duration
2-4 weeks
Result
No response

I applied via Naukri.com and was interviewed in Sep 2023. There was 1 interview round.

Round 1 - Technical 

(1 Question)

  • Q1. Activity life cycle Factorial and fabbonacci series lateiniti var vs lazy Var vs val
  • Ans. 

    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*...

  • Answered by AI

Interview Preparation Tips

Interview preparation tips for other job seekers - Got selected in technical but HR didn't schedule client round, slow process.
Interview experience
5
Excellent
Difficulty level
Moderate
Process Duration
Less than 2 weeks
Result
Selected Selected

I applied via Recruitment Consulltant and was interviewed before Aug 2023. There was 1 interview round.

Round 1 - Coding Test 

There were total 3 rounds and it consists of Basic array and string coding question

Interview Preparation Tips

Interview preparation tips for other job seekers - Practice array and string medium level questions.

I was interviewed before Mar 2021.

Round 1 - Video Call 

(3 Questions)

Round duration - 60 minutes
Round difficulty - Easy

This was a DSA based round, I was asked to code on collabedit.

  • Q1. Rearrange Linked List

    You have been given a singly Linked List in the form of 'L1' -> 'L2' -> 'L3' -> ... 'Ln'. Your task is to rearrange the nodes of this list to ...

  • Ans. 

    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 ...

  • Answered by CodingNinjas
  • Q2. Find Missing Number In String

    You had a sequence of consecutive nonnegative integers. You appended all integers at the end of each other to form a string ‘S’ without any separators. While appending each in...

  • Ans. 

    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 ...

  • Answered by CodingNinjas
  • Q3. Palindrome Permutation

    You are given a string 'S', check if there exists any permutation of the given string that is a palindrome.

    Note :

    1. A palindrome is a word or phrase that reads the same ...
  • Ans. 

    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...

  • Answered by CodingNinjas
Round 2 - Face to Face 

(3 Questions)

Round duration - 30 minutes
Round difficulty - Medium

This was onsite interview round 1. Java and Android threading concepts are needed.

  • Q1. Java Question

    What is Cyclic Barrier?

  • Ans. 

    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.

  • Answered by CodingNinjas
  • Q2. Android Question

    What are the different launch modes for activities?

  • Ans. 

    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...

  • Answered by CodingNinjas
  • Q3. Technical Question

    How to pass a simple Java object from one thread to another?

  • Ans. 

    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)...

  • Answered by CodingNinjas
Round 3 - Face to Face 

(3 Questions)

Round duration - 60 minutes
Round difficulty - Easy

This round was all about android and internals of collections in Java.

  • Q1. Android Question

    What is IntentService?

  • Ans. 

    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...

  • Answered by CodingNinjas
  • Q2. Android Question

    Difference between deep links and app links?

  • Ans. 

    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

  • Answered by CodingNinjas
  • Q3. Android Question

    What are the IPC mechanisms available in android OS?

  • Ans. 

    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...

  • Answered by CodingNinjas
Round 4 - Face to Face 

(4 Questions)

Round duration - 90 minutes
Round difficulty - Medium

Technical interview round for purely checking the design knowledge of a person.

  • Q1. Android Question

    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.

  • Ans. 

    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...

  • Answered by CodingNinjas
  • Q2. LRU Cache Implementation

    Design and implement a data structure for Least Recently Used (LRU) cache to support the foll...

  • Ans. 

    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...

  • Answered by CodingNinjas
  • Q3. Android Question

    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.

  • Ans. 

    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...

  • Answered by CodingNinjas
  • Q4. Android Question

    Design the ImageDownloader, with efficiently handling parallel API calls

  • Ans. 

    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...

  • Answered by CodingNinjas
Round 5 - HR 

(1 Question)

Round duration - 30 minutes
Round difficulty - Easy

This was the last Interview with director of engineering.

  • Q1. Basic HR Questions

    Q1. What were your challenges you faced in your project work?
    Q2. Which project you loved most and which one you did not ?

  • Ans. 

    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.

  • Answered by CodingNinjas

Interview Preparation Tips

Eligibility criteriaAbove 7 CGPAHike interview preparation:Topics to prepare for the interview - Android Development, Java Programming, Data Structures And AlgorithmsTime required to prepare for the interview - 6 monthsInterview preparation tips for other job seekers

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.

Application resume tips for other job seekers

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.

Final outcome of the interviewSelected

Skills evaluated in this interview

I was interviewed in Feb 2017.

Interview Questionnaire 

19 Questions

  • Q1. 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. (Android app design question, have to explain all the components used ...
  • Ans. 

    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

  • Answered by AI
  • Q2. Print a linked list in a zig zag manner. -----/
  • Q3. Given a String, write a function, which will return a boolean. The function will tell you whether one permutation of the string is Palindrome or not.
  • Q4. Given an array, which consist of natural numbers only. The elements are in random order, tell the first missing natural number in the array. e.g 4,6,3,1,6,8 o.p - 2 1,2,3 O/P - 4
  • Ans. 

    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

  • Answered by AI
  • Q5. Java/Android : Given an Object 'Ball'. How will you transfer this ball object from one thread to another. Same ball object pass from Thread to MainThread.
  • Ans. 

    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

  • Answered by AI
  • Q6. How does looper/handlers work internally when you pass object from one thread to another.
  • Ans. 

    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...

  • Answered by AI
  • Q7. Methods of IPC in android.
  • Ans. 

    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...

  • Answered by AI
  • Q8. Implement LRU cache. (Implement you own HashMap meanwhile) Main focus was around this question only.
  • Q9. If you were asked to make your own HashMap, how will you do it. (As it was used in the first question)
  • Ans. 

    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)

  • Answered by AI
  • Q10. Some definitions and basic android questions. AsyncTask, IntentService, Service, internals of ArrayList, etc.
  • Q11. 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.
  • Ans. 

    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...

  • Answered by AI
  • Q12. Extended same question for the adapter with multiple images. Do not unncessary download if user has scrolled fast. - How will you cancel the request when the user has scrolled, and what will you do when ...
  • Q13. You have application which shows list of all contacts, the Name/Numbers can be duplicated. How will you go on and do searching in this. Search term can either exist in Name or in Number.
  • Ans. 

    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

  • Answered by AI
  • Q14. Question based on Java cyclic barrier.
  • Q15. Launch Mode of Activity.
  • Ans. 

    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.

  • Answered by AI
  • Q16. How do you do DeepLinking in android.
  • Ans. 

    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.

    • ...

  • Answered by AI
  • Q17. Some Project based questions, What were your challenges, which projecct you loved most, which one you did not etc......
  • Q18. You have to design screen in which at a time on screen 10 nearest restaurants will be shown in a list. The screen will keep adding more options while scrolling. Scroll in the list should be uninterrupted...
  • Ans. 

    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

  • Answered by AI
  • Q19. Design the ImageDownloader, with efficiently handling parallel API calls.
  • Ans. 

    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.

  • Answered by AI

Interview Preparation Tips

Round: Technical Interview
Experience: Skype round, coding on collabedit (1 Hour)

Round: Technical Interview
Experience: On Site interview 1 and half hour round.
Tips: Java and Android threading concepts are needed.

Round: Technical Interview
Experience: This round was all about android and internals of collections in Java.
OnSite 1 hour round.

Round: Technical Interview
Experience: Purely for checking the design knowledge of a person. (1.5 hour round)

Round: Technical Interview
Experience: Interview with director of engineering.

Skills: Android Development, Java Programming, Data Structures And Algorithms

Skills evaluated in this interview

InnovationM Interview FAQs

How many rounds are there in InnovationM Senior Android Developer interview?
InnovationM interview process usually has 1 rounds. The most common rounds in the InnovationM interview process are Technical.
What are the top questions asked in InnovationM Senior Android Developer interview?

Some of the top questions asked at the InnovationM Senior Android Developer interview -

  1. Why do we use Viewmod...read more
  2. Difference betwwen MVVM and Clean architectu...read more
  3. Design a Image loading libra...read more

Tell us how to improve this page.

Interview Questions from Similar Companies

TCS Interview Questions
3.7
 • 10.2k Interviews
Infosys Interview Questions
3.7
 • 7.5k Interviews
Wipro Interview Questions
3.7
 • 5.5k Interviews
Tech Mahindra Interview Questions
3.6
 • 3.8k Interviews
HCLTech Interview Questions
3.5
 • 3.7k Interviews
LTIMindtree Interview Questions
3.9
 • 2.9k Interviews
Mphasis Interview Questions
3.4
 • 787 Interviews
View all
Software Engineer
109 salaries
unlock blur

₹2.5 L/yr - ₹9 L/yr

Senior Software Engineer
52 salaries
unlock blur

₹4 L/yr - ₹15 L/yr

HR Executive
44 salaries
unlock blur

₹2.4 L/yr - ₹4.5 L/yr

Senior HR Executive
27 salaries
unlock blur

₹2.8 L/yr - ₹5 L/yr

Senior Quality Analyst
25 salaries
unlock blur

₹5.1 L/yr - ₹11.2 L/yr

Explore more salaries
Compare InnovationM with

TCS

3.7
Compare

Infosys

3.7
Compare

Wipro

3.7
Compare

HCLTech

3.5
Compare

Calculate your in-hand salary

Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary
Did you find this page helpful?
Yes No
write
Share an Interview