Uber
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I appeared for an interview before Sep 2020.
Round duration - 60 minutes
Round difficulty - Medium
It was a telephonic interview at 10 in the morning. Interviewer seemed cool.
You are provided with a sorted array A
of length N
consisting of distinct integers and a target integer M
. Your task is to determine the position where ...
Find the best insert position for a target in a sorted array to maintain order.
Use binary search to find the correct position for the target integer in the sorted array.
If the target is already present in the array, return its index.
Maintain the sorted order of the array after inserting the target integer.
Handle edge cases like empty array or target being smaller than the first element or larger than the last element.
Round duration - 60 minutes
Round difficulty - Medium
The interview was in the morning at 10 AM in the office meeting room.
Mr. X is a professional robber with a plan to rob houses arranged in a circular street. Each house has a certain amount of money hidden, separated by a security system that ...
House Robber problem - find maximum amount of money Mr. X can rob without triggering alarm in circular street.
Use dynamic programming to keep track of maximum money robbed at each house.
Consider two cases - robbing the first house and not robbing the first house.
Handle circular arrangement by considering the first and last houses separately.
Return the maximum amount of money that can be robbed without triggering the al
Round duration - 60 minutes
Round difficulty - Medium
The interview was at 11 AM in the meeting office.
Given a stream of integers, calculate and print the median after each new integer is added to the stream.
Output only the integer part of the median.
N = 5
Stre...
Calculate and print the median after each new integer is added to the stream.
Use a min heap to store the larger half of the numbers and a max heap to store the smaller half of the numbers.
Keep the two heaps balanced by ensuring the size difference is at most 1.
If the total number of elements is odd, the median is the top element of the larger heap. If even, it's the average of the tops of both heaps.
Round duration - 60 minutes
Round difficulty - Medium
The interview was at 1 AM.
Round duration - 60 minutes
Round difficulty - Easy
The meeting was at 2 PM in the office meeting room.
Round duration - 60 minutes
Round difficulty - Easy
10 AM
Tip 1 : Be consistent in the preparation. Practice atleast one question everyday
Tip 2 : Make relevant notes that you can go through on the day before the interview
Tip 3 :Try to note your progress by giving timed contests
Tip 1 : Clearly mention the details of the projects that are relevant to the company that you are applying for
Tip 2 : Ensure that there are no grammatical mistakes and that you have highlighted the important keywords in your resume
I appeared for an interview before Sep 2020.
Round duration - 60 minutes
Round difficulty - Easy
Timing: evening
Environment: Online round took at home
Given an array A
consisting of N
integers, find the smallest subarray of A
that contains exactly K
distinct integers.
The first line contains tw...
Find the smallest subarray with exactly K distinct integers in an array.
Use a sliding window approach to keep track of the subarray with K distinct integers.
Use a hashmap to store the frequency of each integer in the current window.
Update the window size based on the number of distinct integers found.
Keep track of the smallest subarray meeting the criteria.
Return the starting and ending indices of the smallest subarray
Round duration - 90 minutes
Round difficulty - Medium
Machine coding round
Round duration - 60 minutes
Round difficulty - Medium
Given a N * N
maze with a rat placed at position MAZE[0][0]
, find and print all possible paths for the rat to reach its destination at MAZE[N-1][N-1]
. The rat is allowed to...
The problem involves finding all possible paths for a rat to reach its destination in a maze.
Use backtracking to explore all possible paths in the maze.
Mark visited cells to avoid revisiting them.
Return the path once the destination is reached.
Handle edge cases like blocked cells and out-of-bounds movements.
Round duration - 60-90 minutes
Round difficulty - Medium
Round duration - 60 minutes
Round difficulty - Medium
Hiring Manager round
Tip 1 : Do some basic research about the interview process and types of rounds while appearing for a company interview. Narrow down the topics and draft a realistic plan afterwards.
Tip 2 : Try to solve as many problems as possible as this is primarily what you will be doing in live interview rounds.
Tip 1 : Tailor your resume as per expectations from the role you are applying for.
Tip 2 : Order your experiences and skills by relevance.
Tip 3 : Try to fit the content in a single page.
Find sum of all numbers formed from root to leaf path in a binary tree
Traverse the binary tree using DFS
At each leaf node, add the number formed from root to leaf path to a sum variable
Return the sum variable
Time complexity: O(n)
Example: For a binary tree with root value 1, left child 2 and right child 3, the sum would be 12 + 13 = 25
Given a string, print all possible strings that can be made by placing spaces (zero or one) in between them.
Use recursion to generate all possible combinations of spaces
For each recursive call, either add a space or don't add a space between the current character and the next character
Base case is when there are no more characters left to add spaces between
Time complexity is O(2^n) where n is the length of the string
Preorder traversal without recursion
Use a stack to keep track of nodes
Push right child first and then left child onto stack
Pop top of stack and print value
Repeat until stack is empty
Find longest continuous patch on a 12 km road with updates in patches
Maintain a variable to keep track of current patch length
Update the variable whenever a new patch is added
Maintain a variable to keep track of longest patch so far
Compare current patch length with longest patch length and update if necessary
Use a sorted data structure like a binary search tree to store the patches for efficient search
Time complexity: ...
Find median of an unsorted array.
Sort the array and find the middle element
Use quickselect algorithm to find the median in O(n) time
If the array is small, use brute force to find the median
Find 'k' elements closest to a given number from a stream of characters.
Use a priority queue to keep track of closest elements.
Update the queue as new characters come in.
Return the 'k' closest elements from the queue.
Design a data structure with O(1) insert, remove, find-max, and delete-max operations.
Use a doubly linked list to maintain the elements in sorted order.
Use a hash table to store the pointers to the nodes in the linked list.
Maintain a pointer to the maximum element in the hash table.
Update the pointers in the hash table when inserting or removing elements.
Update the maximum pointer when deleting or inserting the maximum
Check if a given linked list is a palindrome.
Traverse the linked list and store the values in an array.
Compare the first and last elements of the array, then move towards the center.
If all elements match, the linked list is a palindrome.
Alternatively, use two pointers to find the middle of the linked list and reverse the second half.
Compare the first half with the reversed second half to check for a palindrome.
I appeared for an interview before Sep 2020.
Round duration - 1hour
Round difficulty - Hard
Given a 'Snake and Ladder' board with N rows and N columns, where positions are numbered from 1 to (N*N) starting from the bottom left, alternating direction each row, f...
Find the minimum number of dice throws required to reach the last cell on a 'Snake and Ladder' board.
Use Breadth First Search (BFS) algorithm to find the shortest path from start to end cell.
Keep track of visited cells and the number of dice throws required to reach each cell.
Consider the presence of snakes and ladders while calculating the next possible moves.
Return the minimum number of dice throws to reach the last
Round duration - 1hour
Round difficulty - Hard
Mvvm architecture
Implement a stack using a queue in MVVM architecture
Use two queues to simulate a stack
Push operation: Enqueue the element to queue 1
Pop operation: Dequeue all elements from queue 1 to queue 2, dequeue the last element from queue 2 (which is the top of the stack)
Ensure proper synchronization between the two queues
Example: Push(1), Push(2), Pop() should return 2
Round duration - 1hour
Round difficulty - Easy
Tip 1 : be confident
Tip 2 : always say truth about your experience
Tip 3 : don't be nervous
Tip 1 : mentioned project u worked on
Tip 2 : technical skills
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
You are provided with a 2D array or list containing 'N' rows and 'M' columns, filled with 1s and 0s. Here, 1 indicates land, and 0 indicates water.
Your task is to ide...
Count the number of islands in a 2D matrix filled with 1s and 0s.
Iterate through the matrix and perform depth-first search (DFS) to find connected islands.
Use a visited array to keep track of visited cells to avoid redundant calculations.
Increment the island count whenever a new island is encountered.
Consider all eight directions (horizontal, vertical, and diagonal) while exploring the island.
Handle edge cases like out
You are provided with a Singly Linked List having 'N' nodes, where each node contains a single digit.
Your task is to return a node 'X', which serves as the he...
Return a node representing the head of a new Linked List with the sum of the 1st and 2nd half of the given Linked List.
Split the Linked List into two halves
Reverse the 2nd half of the Linked List
Add the corresponding digits from both halves while considering carry
Create a new Linked List with the sum digits
Round duration - 60 minutes
Round difficulty - Medium
You are given an array arr
of length N
. For each element in the array, find the next greater element (NGE) that appears to the right. If there is no such greater ele...
The task is to find the next greater element for each element in an array to its right, if no greater element exists, return -1.
Use a stack to keep track of elements for which the next greater element is not found yet.
Iterate through the array from right to left, popping elements from the stack until a greater element is found.
Store the next greater element for each element in a separate array.
If the stack is empty aft...
Round duration - 60 Minutes
Round difficulty - Hard
You are given a non-empty string without spaces, referred to as 'sentence', and a list of non-empty strings representing a dictionary. Your task is to construct and return all...
Given a sentence and a dictionary, construct and return all possible sentences by inserting spaces to form words from the dictionary.
Use backtracking to generate all possible combinations of words from the dictionary to form sentences.
Check if a substring of the sentence matches any word in the dictionary, if so, recursively call the function with the remaining substring.
Continue this process until the entire sentence ...
Given a string str
composed solely of the characters "{", "}", "(", ")", "[", and "]", determine whether the parentheses are balanced.
The first line contains ...
Check if given string of parentheses is balanced or not.
Use a stack to keep track of opening parentheses and pop when a closing parenthesis is encountered.
If stack is empty at the end and all parentheses are matched, the string is balanced.
If stack is not empty at the end or mismatched parentheses are encountered, the string is not balanced.
Round duration - 60 minutes
Round difficulty - Easy
Design a local transport system similar to BMTC
Introduce a fleet of buses covering various routes within the city
Implement a smart card system for easy payment and tracking
Include different types of buses like regular, AC, and Volvo for passenger comfort
Have designated bus stops with real-time information on bus arrivals
Offer discounted fares for students and senior citizens
Round duration - 60 minutes
Round difficulty - Easy
Tip 1 : Practice a lot.
Tip 2 : Focus on system design
Tip 3 : Focus on amazon Leadership principles.
Tip 1: Mention relevant details for job you are applying.
Tip 2: Be objective and concise.
I applied via Recruitment Consulltant and was interviewed before Apr 2021. There were 2 interview rounds.
2 coding questions
I applied via LinkedIn and was interviewed in May 2021. There was 1 interview round.
Find sum of least closest element to left and highest element to right for each element of an array
Iterate through array and find least closest element to left and highest element to right for each element
Calculate sum of these two elements for each element
Return array of sums
I appeared for an interview in Jul 2021.
Round duration - 60 minutes
Round difficulty - Medium
It was a problem solving round where a hackerrank link was given containing 2 questions.
You have to solve them within 90 minutes.
I was asked to solve it within a week.
Given a string 'S', identify and print all distinct palindromic substrings within it. A palindrome reads the same forwards and backwards. For example, 'bccb' is a pali...
Given a string, find and print all distinct palindromic substrings within it.
Iterate through all possible substrings of the input string
Check if each substring is a palindrome
Store distinct palindromic substrings in a set and then sort them before printing
Round duration - 60 minutes
Round difficulty - Easy
2 questions was asked by the interviewer. You have to clearly explain your approach and write a working solution. He even asked me to run on some additional test cases
You are provided with a N x 2 2-D array called Jobs
consisting of N
jobs. In this array, Jobs[i][0]
represents the deadline of the i-th job, while Jobs[i][1]
indicates the...
Maximize profit by scheduling jobs within their deadlines.
Sort the jobs based on their profits in descending order.
Iterate through the sorted jobs and schedule them based on their deadlines.
Keep track of the maximum profit achievable by scheduling jobs within their deadlines.
Given an array ARR
consisting of 'N' positive integers, determine if it is possible to partition the array into two subsets such that the sum of the elements in both sub...
The problem is to determine if it is possible to partition an array into two subsets with equal sum.
Use dynamic programming to solve this problem efficiently.
Create a 2D array to store the subset sum possibilities.
Check if the total sum of the array is even before attempting to partition.
Iterate through the array and update the subset sum array accordingly.
Return true if the subset sum array contains a sum equal to hal
Round duration - 60 minutes
Round difficulty - Easy
I was asked 1 system design question. The question was to design an online multiplayer game which can be scaled for more than 10 million users.
The interviewer helped me to collect requirement and also helped me in choosing different low latency protocol to communicate between client and server.
Round duration - 60 minutes
Round difficulty - Medium
The interviewer asked few sql based questions and asked me to write the solution.
He also gave 1 problem solving question.
Different types of joins in SQL and calculating average of values from a table.
Types of joins: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
To calculate average: Use AVG() function in SQL
Example: SELECT AVG(column_name) FROM table_name
Tip 1 : Prepare Data Structures topic by topic and also solve at least 10 interview questions from each topic. The have a list of excellent questions.
Tip 2 : For system design try to take few questions by yourself and think of what different scenarios can arise considering it as a distributed system. There are multiple topics like Consistent Hashing, Partition tolerance, Availability, Sharing etc which needs special attention. The interviewers will dig them deep and will try to see how much of it you actually understand.
Tip 3 : Also please do focus on LLD. Sometimes they can ask you to write sample code for problems. Try solving 4-5 problems.
Tip 4 : You should do and prepare properly 2 -3 projects and try deploying it. You will face a lot of new challenges which you do not face in normal day to day usage.
Tip 1 : You can go for 1 page resume, though it is not necessary. Mention about your projects, your actual contribution, languages that you have used in that project etc.
Tip 2 : You should always put your academic achievements. Sometimes it gains interviewers attention.
Tip 3 : Make it a little bit colourful rather than plain white.
I appeared for an interview in Apr 2021.
Round duration - 1 hour
Round difficulty - Medium
This was coding round and was conducted on Google meet with code link shared. Their were 2 interviewers that gave questions and later ran code on sample test cases.
Given an input string 'S', you are tasked with finding and returning all possible permutations of the input string.
The first and only line of input ...
Return all possible permutations of a given input string.
Use recursion to generate all possible permutations of the input string.
Swap characters at different positions to generate permutations.
Handle duplicate characters by skipping swapping if the characters are the same.
Given a non-negative integer 'K', determine the Kth row of Pascal’s Triangle.
K = 2
1 1
K = 4
1 4 6 ...
The task is to find the Kth row of Pascal's Triangle given a non-negative integer K.
Create an array to store the elements of the Kth row of Pascal's Triangle.
Use the formula C(n, k) = C(n-1, k-1) + C(n-1, k) to calculate the elements.
Return the array as the output.
Round duration - 2 hours
Round difficulty - Medium
This was a Machine Coding Round/LLD round followed by HLD round which was taken by Video Conferencing and Screen Sharing.
Round duration - 75 minutes
Round difficulty - Medium
This was the last round. This was HM round followed by the HR round.
Tip 1 : Solve previously asked questions. It tells you about the level of questions that the company asks. Check glass-door reviews it will help you to know what kind of questions company ask
Tip 2 : Be real during the interview and don’t show off.
Tip 3 : Prepare for theory subjects like Object-Oriented Programming System, Database Management System, Computer networks, etc.
Tip 1 : Keep your resume simple with all work experience mentioned.
Tip 2 : Any unwanted information on the resume leaves a bad impact on the interviewer.
Tip 3 : You should be prepared to explain anything that’s written on your resume.
Tip 4 : Keep it of 1 page or 2 pages only
I appeared for an interview in May 2022.
Round duration - 60 Minutes
Round difficulty - Medium
Timing was around 11 am
Environment was great, it intrigued me to join Blinkit.
You are given an integer array 'ARR' of size 'N' and an integer 'S'. Your task is to find and return a list of all pairs of elements where each sum of a pair equals 'S'.
Find pairs of elements in an array that sum up to a given value, sorted in a specific order.
Sort the array in non-decreasing order.
Use two pointers approach to find pairs with sum equal to 'S'.
Return pairs in sorted order based on first value, with smaller second value coming first.
Round duration - 60 Minutes
Round difficulty - Medium
Timing 11 am
Interviewer had good knowledge
Activity lifecycle in Android development involves various states like onCreate, onStart, onResume, onPause, onStop, onDestroy.
Activity is created with onCreate() method
Activity becomes visible with onStart() and onResume() methods
Activity goes into background with onPause() method
Activity is stopped with onStop() method
Activity is destroyed with onDestroy() method
Fragment lifecycle in Android involves various states like created, started, resumed, paused, stopped, and destroyed.
Fragments are created using the onCreateView() method.
Fragments go through states like created, started, resumed, paused, stopped, and destroyed based on user interactions and system events.
Fragment lifecycle methods include onCreate(), onStart(), onResume(), onPause(), onStop(), and onDestroy().
MVVM is a design pattern that separates the user interface from the business logic and data model.
MVVM stands for Model-View-ViewModel
Model represents the data and business logic
View represents the UI components
ViewModel acts as an intermediary between the Model and View, handling user input and updating the Model
MVVM promotes separation of concerns and easier unit testing
Round duration - 30 Minutes
Round difficulty - Easy
This round is cultural fit round
Tip 1 : Prepare easy/medium level data structures questions in leetcode. Solve atleast 50 questions of multiple types like strings, arrays, tree, linked list, graph
Tip 2 : Go through Android basic questions like lifecycle, live data, MVC/mvp/ mvvm pattern, retrofit, data binding
Tip 3 : Atleast solve 5 design questions like how to build Instagram, analytics library, crashlytics
Tip 1 : be concise
Tip 2 : write only those keywords which you have in depth knowledge
Driver
568
salaries
| ₹0.6 L/yr - ₹7.2 L/yr |
CAR Driver
361
salaries
| ₹1 L/yr - ₹7.5 L/yr |
Data Analyst
135
salaries
| ₹5.3 L/yr - ₹21.6 L/yr |
Operations Executive
134
salaries
| ₹1.6 L/yr - ₹4 L/yr |
Software Engineer
132
salaries
| ₹24 L/yr - ₹100 L/yr |
Amazon
Ola Cabs
Airbnb