Filter interviews by
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
I appeared for an interview before Mar 2021.
Round duration - 60 minutes
Round difficulty - Easy
This was a DSA based round, I was asked to code on collabedit.
Given a singly linked list in the form 'L1' -> 'L2' -> 'L3' -> ... 'Ln', your task is to rearrange the nodes to the form 'L1' -> 'Ln' -> 'L2' -> '...
Rearrange the nodes of a singly linked list in a specific order without altering the data of the nodes.
Use two pointers to split the linked list into two halves.
Reverse the second half of the linked list.
Merge the two halves alternately to rearrange the nodes.
Ensure to handle cases with odd and even number of nodes separately.
Example: For input 1 -> 2 -> 3 -> 4 -> 5, the output should be 1 -> 5 -> 2 -
You have a sequence of consecutive nonnegative integers. By appending all integers end-to-end, you formed a string S
without any separators. During this pro...
Given a string of consecutive nonnegative integers without separators, find the missing integer.
Iterate through all possible splits of the string and check if the sequence is valid
If the sequence is valid, return the missing integer
Handle cases where there are multiple missing integers or the string is invalid
Determine if a permutation of a given string S
can form a palindrome.
string S = "aab"
"True"
The permutation "aba" o...
Check if a permutation of a string can form a palindrome.
Create a frequency map of characters in the string.
Check if at most one character has an odd frequency.
If yes, return True; otherwise, return False.
Round duration - 30 minutes
Round difficulty - Medium
This was onsite interview round 1. Java and Android threading concepts are needed.
CyclicBarrier in Java is a synchronization aid that allows a set of threads to wait for each other to reach a common barrier point.
CyclicBarrier is initialized with a count of the number of threads that must invoke await() before the barrier is tripped.
Threads wait at the barrier until all threads have invoked await(), then the barrier is released.
Once the barrier is tripped, it can be reused for subsequent synchroniza...
Different launch modes for activities in Android control how the activity is launched and how it interacts with the existing activities in the back stack.
Standard: The default launch mode where a new instance of the activity is created every time it is launched.
SingleTop: If the activity is already at the top of the back stack, it will not be recreated and onNewIntent() will be called instead.
SingleTask: The activity w...
Use a Handler or AsyncTask to pass a Java object between threads.
Use a Handler to send messages containing the object from one thread to another.
Use AsyncTask to perform background tasks and update UI with the object on the main thread.
Round duration - 60 minutes
Round difficulty - Easy
This round was all about android and internals of collections in Java.
IntentService is a subclass of Service that can handle asynchronous requests on the main thread.
IntentService is used for handling long-running operations in the background without blocking the main thread.
It is started with an Intent and runs in a separate worker thread.
Once the task is completed, the IntentService stops itself automatically.
It is commonly used for tasks like downloading files, syncing data, or perfor
Deep links are URLs that take users directly to specific content within an app, while app links are URLs that open an app if it's installed, or redirect to a website if not.
Deep links are used to navigate users to a specific location within an app, bypassing the home screen.
App links are URLs that can open an app if it's installed on the device, or redirect to a website if the app is not installed.
Deep links require sp...
Inter-Process Communication (IPC) mechanisms in Android OS allow different processes to communicate with each other.
Binder: High-performance mechanism for IPC between processes in Android. Used for communication between system services and applications.
Intent: Used for communication between components within the same application or between different applications.
Content Providers: Allow different applications to share ...
Round duration - 90 minutes
Round difficulty - Medium
Technical interview round for purely checking the design knowledge of a person.
Design a data structure for a Least Recently Used (LRU) cache that supports the following operations:
1. get(key)
- Return the value of the key if it exists in the cache; otherw...
Design a Least Recently Used (LRU) cache data structure that supports get and put operations with capacity constraint.
Implement a doubly linked list to keep track of the order of keys based on their recent usage.
Use a hashmap to store key-value pairs for quick access and update.
When capacity is reached, evict the least recently used item before inserting a new item.
Update the order of keys in the linked list whenever a
Use a thread pool to handle parallel API calls efficiently.
Implement a thread pool to manage multiple threads for downloading images concurrently.
Use a caching mechanism to store downloaded images and avoid redundant API calls.
Consider using a priority queue to prioritize important images for download.
Implement a mechanism to cancel or pause ongoing downloads if needed.
Optimize network requests by batching multiple req
Round duration - 30 minutes
Round difficulty - Easy
This was the last Interview with director of engineering.
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 appeared for an interview 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.
Contains linear and non linear data structures deep knowledge of trees and graphs
Dry run on a page involves testing the code without actually executing it.
Dry run involves walking through the code manually to check for errors
Helps in identifying logic errors before actual execution
Commonly used in debugging and testing code
posted on 21 Jul 2023
Program to check if a string is an anagram
Create a function that takes in two strings as input
Remove all spaces and convert both strings to lowercase
Sort both strings and compare if they are equal to determine if they are anagrams
React lifecycle methods are special methods that are automatically called by React at specific points in a component's life cycle.
React components have several lifecycle methods such as componentDidMount, componentDidUpdate, componentWillUnmount, etc.
These methods allow developers to perform actions at specific points in a component's life cycle, such as fetching data, updating the UI, or cleaning up resources.
Understa...
Create a web app to perform cred operation
posted on 6 Jan 2024
I applied via Campus Placement and was interviewed before Jan 2023. There were 4 interview rounds.
General aptitude questions
Abstract topic group discussion
posted on 12 Apr 2024
I applied via Referral and was interviewed before Apr 2023. There were 4 interview rounds.
Few questions that would involve problem solving. Basic 10th std math would suffice
Had few DSA questions.
posted on 31 Aug 2024
I applied via Naukri.com and was interviewed in Mar 2024. There were 2 interview rounds.
Simple question on maths
OOPS (Object-Oriented Programming) is a programming paradigm based on the concept of objects, which can contain data and code.
OOPS focuses on creating objects that interact with each other to solve complex problems
Key principles include encapsulation, inheritance, polymorphism, and abstraction
Encapsulation ensures that the internal state of an object is hidden from the outside world
Inheritance allows a class to inherit...
I appeared for an interview in Oct 2021.
Round duration - 50 minutes
Round difficulty - Medium
First round was a basic javascript problem-solving round. The interviewer judged my grasp on fundamental javascript concepts like objects, closures, polyfills, etc. It was during the afternoon and was conducted on google meet and leetcode playground.
The interviewer was very calm. I was first asked some general questions like why I'm applying for this role and what are the projects I've done.
You are given an N * N matrix of integers where each row and each column is sorted in increasing order. Your task is to find the positi...
This question asks to find the position of a target integer in a row-wise and column-wise sorted matrix.
Iterate through each row and column of the matrix
Compare the target integer with the current element
If the target integer is found, return the position as {i, j}
If the target integer is not found, return {-1, -1}
Round duration - 40 minutes
Round difficulty - Easy
One DSA Question along with some javascript questions were asked like hoisting, difference between JSX and Javascript etc.
You are given a long type array/list ARR
of size N
, representing an elevation map. The value ARR[i]
denotes the elevation of the ith
bar. Your task is to determine th...
The question asks to find the total amount of rainwater that can be trapped in the given elevation map.
Iterate through the array and find the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped at each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water for all bars and return the total amount.
Tip 1 : Focus on core Javascript fundamentals before becoming a framework ninja
Tip 2 : Have at least one (or more) good project(s) which shows your experience in frontend development
Tip 3 : Practice fundamental javascript questions and machine coding
Tip 1 : Clearly highlight the skills you have which match with the role you are applying for.
Tip 2 : Mention the work you have done in your internships related to your role (frontend in my case), work experience matters
Tip 3 : Mention some really good projects in your resume.
Tip 4 : Having some special achievements like SIH, Gsoc, etc. certainly helps but isn't compulsory.
I appeared for an interview in Apr 2021.
Round duration - 45 Minutes
Round difficulty - Easy
It was a DSA round where I was asked 2 coding questions and optimised approaches for both.
Ninja has started a new startup with a single conference room available for meetings. Given an array/list MEETINGS
of consecutive appointment requests, Ninja must ...
Find the maximum total booked minutes possible in a conference room for all meetings with a 15-minute break between meetings.
Iterate through the list of meeting durations and calculate the maximum total booked minutes considering the 15-minute break constraint.
Keep track of the total booked minutes and skip consecutive meetings that violate the break constraint.
Return the maximum total booked minutes for each test case
Given an M * N matrix where each cell's value represents its height in a 2-D elevation map, calculate the total volume of water that can be trapped after rainfall.
...Calculate the total volume of water that can be trapped in a 2-D elevation map after rainfall.
Iterate through each cell in the matrix and calculate the trapped water based on the surrounding heights.
Use a stack or queue to keep track of the cells to be processed.
Consider edge cases such as when the matrix is empty or has only one row or column.
Round duration - 45 Minutes
Round difficulty - Medium
It was more of discussion around my projects and resume. Also asked some questions related to me. What are your hobbies? Willing to relocate?
Given an array A
consisting of N
integers, your task is to find the smallest subarray of A
that contains exactly K
distinct integers.
If multiple such subarrays...
Find the smallest subarray with exactly K distinct elements in an array.
Use a sliding window approach to keep track of the subarray with K distinct elements.
Maintain a hashmap to count the frequency of each element in the window.
Update the window size based on the number of distinct elements.
Return the smallest subarray with K distinct elements.
Tip 1 : Be consistent, you might not get success in the starting but if you are consistent with your prep, then in the end you will get offers from most companies
Tip 2 : Do participate in contests on leetcode
Tip 3 : Have a good resume
Tip 1 : Good projects
Tip 2 : Includes achievements in coding contests like ACM ICPC or Google kickstart, Hashcode.
Some of the top questions asked at the Hike Android Developer interview -
based on 1 interview
Interview experience
Senior Product Analyst
15
salaries
| ₹23 L/yr - ₹36 L/yr |
Associate Product Manager
11
salaries
| ₹11 L/yr - ₹26.8 L/yr |
Senior Software Engineer
10
salaries
| ₹23.5 L/yr - ₹65 L/yr |
Software Development Engineer
9
salaries
| ₹18 L/yr - ₹32 L/yr |
Software Developer
8
salaries
| ₹11.6 L/yr - ₹37 L/yr |
JoulestoWatts Business Solutions
DotPe
Thoughtsol Infotech
Innoplexus