Bloomberg | New Grad | Jan 2020 [Reject]
Anonymous User
6718

I had my phone interview sometime in November.
It was a 1 hour interview with a few questions based on my resume and projects followed by one coding question: https://leetcode.com/problems/first-unique-character-in-a-string/
The interviewer seemed satisfied and shortly after this round, I got a call for the onsite round in Jan.

There were 2 rounds which had 2 interviewers each.
Each round was for about 1 hour with a lunch break between the two.

Round 1:
It was quite nice. The interviewers were very friendly.
We started off with some behavioural and resume based questions and then moved on to some coding questions.
I was asked the following coding questions:

  1. https://leetcode.com/problems/flatten-a-multilevel-doubly-linked-list/
  2. Design a system that gets packets out of order and how will you handle it.
    My Solution: For example, if you have a video, and you receive packets in order 0,1,2,5,6,3,7,4, you will have to keep track of the incoming and previous packet. If the incoming packet is not the expected packet, you will need to store it somewhere and wait until the expected packet has arrived. If the expected packet does not arrive until your timeout, you either continue streaming with the next packet or throw an exception based on the importance of having every packet. For example, if it is just a song, it might not make a big difference if a couple of seconds are skipped. I used maps to write the code for my solution.

Both the interviewers seemed to be satisfied with my solutions and the interview went really well.

Round 2:
The interviewers were not as friendly and helpful as the previous one.
They threw a dynamic programming question at me and I think this is what caused me to get rejected.

  1. https://leetcode.com/problems/number-of-dice-rolls-with-target-sum/
    I was able to provide them with a recursive solution but could not give the DP solution. The interviewer did not seem to be satisfied.
  2. Design 3 methods for a system. The first method enables us to add new customers to the end of the queue (waiting line). The second method enables us to place the first customer in the queue, to an available table. The 3rd method allows us to let a customer in the queue to move forward by 1 position when thhey pay $1. After some brainstorming, the approach that I came up with was to use a LinkedList and a Map of Node, Position. (The time complexity for each method was supposed to be O(1)). The interviewer was satisfied with my solution.

I received a reject 3 days later.

Comments (5)