Preparing for an interview? Check out Cracking the Coding Interview
Published on

Uber SDE II Interview Experience | Banglore | Reject

Author
  • Shared Anonymously

Hey everyone.
I applied to a sde 2 opening in Uber banglore location in ~April.

In May, got an email from recruiter. Here is the procedure:

Code Signal:

Received a link for code signal which had 3 problems. 1 easy, 2 easy-medium.
I solved 1 and 2nd full and for third problem wrote brute solution(so 50% score only). later realized it was not hard and just needed a clever observation.

Phone Screen DSA:

This was a phone screen round of 1 hour.
The problem asked was: "Given a number N, find the smallest palindrome that is greater than N".

I gave some solution, like take current number & reverse half digits and make sure it's greater than N. Similarly there are 3-4 conditions, so I told to interviewer that it has a lot of cases to handle. So I coded a solution that would work for like ~70% of test cases and they said it's ok to solve for certain cases.

I coded a solution, ran it on some inputs they asked and it ran successfully.

DSA Round 1:

This was again a DSA round. It was a a medium problem and I was able to give a solution in time.

Low level design + DSA Round 2:

Uber calls this round as Depth in Specialization which basically is a DSA round but the solution has to be written using OOPS and code should be modular. I use Java in my regular work, but use cpp for DSA.
This was again a medium DSA problem. I coded in java to use OOPS feature, but had to use some Map<pair<int,int>, double> and since I didn't used much data structures in Java, interviewer told me to take help from google.
I coded the solution but ran into some compilation errors and time was up. The interviewer said that he is okay with solution. Just we couldn;t run it.

Design & Architecture - New Problem Interview Round 3:

This is basically High level design round.
Problem Statement: We are getting data of a user watching a movie every 1 minute. We have to build a dashboard that shows top 10 movies/series each 1 hour. A user can watch movies that are longer than 1 hour.

Solution 1 I gave: store this data into kafka -> from kafka do some aggregation on {user, set<moveis>} and then do some count} -> dashboard service.
They asked few more question if we can do better and what if we need to calculate top movies for a day or 1 week. so I gave a different solution
Solution 2: Kafka -> write data to an hourly partition s3://.../date=acutal-date/hour=actual-hr/ -> run a batch job every 1 hour and do the aggregation. Now we can calculate top movies for any number of hours(1, 24, 24*7 hr) etc.

During this interview, I felt the interviewer was not very satisfied. My explanation was also not very good tbh, as I didn't prepare for the design round :(

Collaboration & Leadership Interview Round 4:

This was managerial round.
After intro, they asked me about my current project architecture etc which took around ~30minute.
Some question on how do u handle conflicts, how do you estimate tasks and some more behavioural questions.
I felt this round went very well, the HM seemed happy with my current project architecture and answers.

Verdict: After a week, received a Thank you email from recuriter. They didn't share any feedback.

ReportMark as Helpful