Initially, I was contacted by a recruiter for the interviews. There were four rounds:
Round I(30 minutes): Exploritaory round with hiring manager, Standard behavioural questions. Discussed the previous projects also. Got a call after the interview to schedule other rounds.
Round II(2 hours): (Machine Coding/Design Round) I was told to design and implement a working code of the bowling alley in this round. I implemented a good design and working code for this. The interviewer seemed impressed by the design.
Round III(1 hour): (DS/Algo) I was given two questions in this round. The first question was to find the oldest number with one frequency in a stream of numbers. I gave a solution with a queue to retrieve the oldest element and unordered_map to store the count. so the element will be returned in O(1) time but in some cases like 1,2,3,4,5,3,4,1,2 we have to check in the map for the count of 3 and 4 and remove the elements so with such cases complexity became O(N). After some discussion on this, I told him to use Double-ended queue but he was not satisfied with the answer. Then he switched to the second question. The second was a BFS question and gave the solution in a few minutes.
Received a call the next day that I have cleared the tech round and now there will be an HR&HM (combined) round next week. A call was scheduled.
They cancelled the calendar event on the next day, so I called HR to enquire about what is happening. He said that they have re-evaluated and I was rejected due to the DS/ALgo round.
"Ek dum se waqt badal diya jazbaat badal diye".
Overall the experience was good except for the last part. Do give this an upvote if you find it helpful.