Last 10~15 minutes, he asked me about a system design problem which most likely is something that he was building or already built. I didn’t like the idea of getting thrown a system design problem in the final minutes of the interview. It took at least 5 minutes to get the requirements clear enough to start putting things together. Due to lack of time, I couldn’t go deeper into one of the main use cases and I hurried into the approach I would take while the next interviewer was already on the call and waiting. If I had time I would have given him several better options but what a bummer! Seriously, who on earth designs systems in 5~10 minutes?
I rejected the idea of finding me an SDE-II position and the recruiter asserted the same since she felt I would have a faster route of boomerang back as an SDE-III if I continued my current role in Agoda rather than getting converted from SDE-II to SDE-III within Amazon. I believe if I had kept grinding leetcode for a few weeks before the final interviews I would have most likely ended up with the offer.
This round was with an SDE-III and he was a very calm and polite guy but I felt he wasn’t a confident interviewer. As usual, the first 30 minutes were behavioral questions about past projects. I repeated the same example from previous rounds and I did mention that to him. At a very high level he touched upon:
Honestly, this guy was so much fun to talk to and being a scrum master myself, I’ve worked a lot with product managers which made it a very smooth conversation. He drilled down to see how deeply I knew the product I’m building from a business perspective. Even though he had just asked me 2 questions, I walked him through more scenarios I faced while narrating my story. As a result, I think it would have covered way more leadership principles than he intended to analyze. Overall, I felt this round went extremely well and was probably the one I truly enjoyed out of all.
This was my final round and it was again with an SDE-III. Again, the first 30 minutes were dedicated to behavioral questions from past projects. He asked if I needed a chance to discuss any high-impact projects which I might have missed in previous rounds. He touched upon the following scenarios:
Question 2: You are given 2 words with equal number of characters. Find an algorithm to go from first word to second word, changing one character at each step, in such a way that each intermediate word exist in a given dictionary. Example: Words are pit, map. A possible solution: pit, pot, pet, met, mat, map
This was on HLD, I was asked a question on how to design an online chess game. The questions asked were how will you assign a player to another player who wants to play. You need to think about how to divide your players into multiple groups of ratings, so that a newbie is not playing a grand master, rather with someone who is of his level only. Then the question was how will you design your system when a player comes in and say I want to play, and the max wait time is 1 min, you need to find a player suitable for his level and think about multiple race conditions.