I had 5 sessions(60 mins each( in total conducted on Amazon Chime. First session only focused on Leadership Principles. The interviewer was very kind and professional, similar to the 2nd interviewer who gave me the first coding question.
The first 10-15 minutes also focused on Leadership Principles. The coding question was challenging and fun at the same time, he gave me helpful hints to optimise my original solution. In fact this was my favourite session on the day.
The 3rd session after a 60m break was also a coding question with a similar structure to the 2nd.
But the atmosphere was almost the opposite to the 2nd interview.
The relatively young SDE was not as kind and helpful, his behavioural questions were extremely vague and he sounded like he was getting
irritated when I asked him to clarify. In the coding session which I was told was supposed to be interactive, I was speaking alone for
most of the session, no hints or comments about what I was saying. Anyway I did manage to come to a working solution, but I had missed some
edge cases which I corrected after the interviewer gave me a non-conventional input example. My overall experience for this session was quite
disappointing as I was hoping to have a fun and engaging session, at some point the interviewer
sounded like he was speaking away from his laptop, he is the only interviewer whose camera was off(maybe there was a reason), I could go on but.. . I think my energy levels dropped after this.
Now to session 4, I got a very experienced interviewer who came in with a shadow. They were both very welcoming and professional people.
He asked a few LP questions for like 20 mins, then we did a system design question. My guess is that this was my weakest performance out of
all technical sessions. I found myself spending time on things that did not matter, and I ran out of time before we could get to the meaty
parts of the system. My biggest mistake I think was trying to follow system design guidelines that I read online rather than just approaching the problem using common sense. But regardless, this session was fun, challenging and engaging as expected, and I learnt a lot from the interviewer.
After a 30 minutes break, I had the last session with the hiring manager. My experience on this session is neutral, although it was not as bad as
the 3rd session, it sounded like the interviewer just wanted to type my answers as quickly as possible and get it over and done with. Most
of the time he would just hijack my answers and summarised it in his own way. Not sure if this is normal practice, but to me it felt like he was
not there primarily to listen. At some point someone brought him food while the interview was on, and he almost tried to start eating.
I am not claiming that this had any effect on the pacing of the interview, but..
Why did I fail? (Well, my guess is:)
- My answers to Leadership Principle questions were shambolic?
- My 3rd interview was not 100%?, I did not think of the edge cases? Or did not mention space-time complexity of my solution?
- My system design approach let me down?
Obviously, I'll never know the true reasons, because all you get from the recruiter is that you did not make it.
Anyway I really cherished this experience, especially the preparation stage before the interview. I do not regret that I spent hours
preparing and going through 5 interviews in one day. Will I do it gain? Well, time will tell(but its highly unlikely!). I learnt a lot of things that I still need to learn as a developer and my perspective
on writing efficient code was changed completely. If anyone is planning to go through the process, I would advice that you give
system design preparation as much time as you give algorithms and data structures. Perhaps spend 75% of the time on these 2 and 25% on finding
good examples or stories where you demonstrated leadership principles.