Tip 1 : Practice top 50 data structure problems tagged with company as Uber.
Tip 2 : Go through the past interview experiences on any online platform for the role for which you are applying.
Tip 3 : Understand system design basic concepts like Caching, load balancing, DB(SQL vs no-SQL) etc and practice common problems around the same.
Tip 4 : Dig dive into each and every detail around the project mentioned and the relevant tech stack used in you resume
Tip 1 : Have some projects on resume. Dig dive into each and every detail around the project mentioned and the relevant tech stack used in you resume.
Tip 2 : Keep your resume brief and crisp, mention only high level and important details.
Tip 3 : Try to keep your resume limited to 1 single page.
Tip 4 : Try to highlight the tech stack that you used in your experience.
Tip 5 : Try to highlight the impacts with the help of some figures (like 98% performance improvement or 20% cost savings).
Timing - This was an Online screening test, where a candidate can attempt the test once anytime in a span of 2 weeks.
Environment - This was an Online screening test, and a tool used to conduct the interview.
Any other significant activity - There were 2 questions given that needed to be completed in 60 mins' time.



You have a special type of car containing any number of seats.
1. Finding the cab from the array which takes minimum time
2. Binary search to find minimum time required to complete n trips
3. In binary search while low < mid, compute number of trips to completed in mid minutes and if trips produced is less than n, set low to mid+1, else high to mid



n = 4, roads = [ [1, 1, 1, 0],
[1, 1, 1, 0],
[1, 1, 1, 0],
[0, 0, 0, 1] ]

So, there are ‘2’ provinces.
1. A city is connected to itself. So, for every city ‘i’, ‘roads[i][i] = 1’.
Sort by first co-ordinate and then do merge interval, for the example after sort and merge we get
[ [-1, 5] ,[3, 6], [4,7] ]
1. To start put [-1, 5] in merge , count = 5- (-1) + 1 = 7
2. Next interval is a partial overlap : only take the new range which is [5,6] = 1, count = 8 , range is [-1, 6]
3. Note that if it a non-overlap interval take complete count as in step 1
4. Next interval is also partial overlap so take new/non-overlap interval which is [6,7] = 1 and hence answer is 9
Basically a slight modification of merge interval problem.
Timing - 12:00 PM
Environment - It was a live coding round and hence I had to code it out in my local IDE.



‘?’ – matches any single character
‘*’ – Matches any sequence of characters(sequence can be of length 0 or more)



1) A palindrome is a word, number, phrase, or another sequence of characters that reads the same backward as forward, such as 'naman', 'abcba', '1234321', etc
2) The numerical value of the given string 'S' will be greater than 0.
3) A single-digit number is also considered as a palindrome.
4) Note that the length of the string 'S' is nothing but the number of digits in the number 'N'.
Step 1 : Divide the number into 2 halves
Step 2 : Mirror the first half and apply its palindrome to the second half.
Step 3 : If the current number is greater than the original number, return this number.
Step 4 : Else, increment the first half and then mirror it and apply its palindrome to the second half.
The timing was around 12:00 PM. The interviewer was kind and helping
Design a system to give live heatmap of concentration of Uber's drivers density across the world.
Tip 1 : Gather functional and non functional requirements thoroughly from the interviewer.
Tip 2 : Divide the globe into grids and try to determine the driver's location using this grid cell.
Tip 3 : Use a n-array tree structure to store the grids information with track of neighbouring grids as well.
Tip 4 : Talk about caching and dynamic location of driver.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?