- Published on
Google | L5 | Bangalore | May 2024
- Author
- Shared Anonymously
Status: B.Tech, NIT
Position: SDE2 at Amazon, YOE: 6 (5 at Amazon)
Location: Bangalore
Interview Date: May, 2024
Recruiter reached out directly through email for L5 role. They mentioned they had my record from my previous interview which I gave few years back. They shared all interview round details and expectations. I asked for 4 months of preparation, which eventually led to 6 months. Every round was of 45 min except the System Design round which was of 1hr. Interview feedback was provided by recruiter after every round within few days (In some cases couple of weeks).
Took last 3-4 month of preparation very seriously so I was well prepared for the interviews. Focus was majorily on medium problems. Actively Participated in contests. Rating close to 1900.
Leetcode stats: 100E / 600M / 100H (All during this session)
Phone Screen: Skipped based on past interviews.
Round 1 (DSA): Interviewer was Staff Software Engineer from London. Sounded very friendly. He asked a variation of calculator problem. Question was very vague so asked bunch of clarifying questions. I was able to explain the optimal solution and was thinking aloud while writing the code. Completed the code and performed testing on multiple test cases. There was minor bug which I was able to catch and fix during dry-run. All this was done in 30min. Interviewer looked satisfied. He asked follow-up questions regarding scaling on distributed systems, caching, etc. I was able answer most of the follow-up questions and he mentioned additionally that we can parrallize the processing as well.
Verdict: HIRE.
He mentioned my speed was fast and testing skills were good. He mentioned he gave hint about parrallizations. Probably the reason for no STRONG HIRE.
Round 2 (DSA): Interview was re-scheduled twice. One because interviewer did not join and the second time, I got caught up with something urgent at work.
Interviewer was Indian and very less talkative. After joining the call, he directly shared the problem statement and we jumped to the coding challenge. It was medium problem based on Map and PriorityQueue. I was able to come up with the approach and code it. This time, the line of code was on higher side so took 38min for code complete and the usual dry-run. He asked to write test cases to validate the code. Provided 4-5 test cases including edge cases and the solution seemed to work fine. As follow-up was asked to explain how to handle cases where PriorityQueue becomes skewed. Explained the approach using Heap Sort. I was not asked to write any code for this. Just the approach and associated time and space complexities. He did not provide any kind of feedback during the entire interview so I was actively trying to explain as much as I could.
Verdict: HIRE.
Inteviewer appreciated my pace and coding quality. Recruiter did not mention any negative feedback. Do not know why this was not a STRONG HIRE.
Round 3 (DSA): Interviewer was from NYC. Sounded very friendly and supportive. The interview started with the introduction and then we moved to problem solving. From here, we both faced series of technical issues. First, she pasted the problem on the usual shared doc but somehow it was not coming for me. Tried logging multiple times, issue persisted. I asked if we should do this in Google Doc directly. During interviews, usually a different tool is used which is similar to doc but supports indentation. From there, she started facing issues in sharing the doc with me. Somehow, the issue was resolved and finally I was able to see the problem in the raw Google doc. All this took our initial 15min. Interviewer mentioned we can extend the interview for another 10min given the circumstances. I was a bit out of focus by this time.
Problem was a medium variation of Logging problem which required me to use TreeMap. I was able to code and dry-run the solution quickly. But found couple of errors during dry-run out of which one was caught by interviewer. Anyway, I was able to fix the issue and this was all done within 25min. We moved on to follow-up question. I read the problem statement but it was not making any sense to me at all. I asked multiple clarifying questions and tried to make sense of what the problem was asking. This went to a good 5 min. Interviewer was very patient and answered all my follow-up questions which were all kind of same. Once the question was clear, it turned out to be again a medium variation of the same problem. My code was already modular so adding the new code was pretty simpler and hardly took 10 min to finish the code. Interviewer did not ask any follow-up question and we concluded.
Verdict: HIRE
I was very nervous about this round since I felt I must have irritated the interviwer during the follow-up question. Usually feedback was provided in few days but this time it took more than a week and finally the verdict was HIRE. Interviewer again mentioned my strong coding skills and mentioned that she needed to give a hint for follow-up question. I verified from the recuiter that it was not a SOFT hire but indeed a HIRE.
By this time, the interview process had took more than a month. Last two rounds were remaining for System Design and Googlyness. I asked the interviewer to give a couple of weeks time to brush up the System Design. During all this time, I was gradually preparing for System Design interview as well so I needed to properly cover and put everything back together.
Prepared super hard for this couple of weeks.
Round 4 (System Design): Interviewer joined the call 10 min late. He was a Senior Engineer Manager from India. Sounded very friendly and said not to worry about the time and can extend the interview time as much as needed. I had prepared for the system design round on Google Drawing which is preferred tool for Google Interviews but he mentioned in the very beginning that, we won't need this unless I want to write anything. I was kind of puzzled here. After the usual introduction, we moved on the interview. The interview question was very strange. This was far from actual System Design but instead of What would you do if you were a CEO of some X company
question. The interview was completely open ended and I was asked to make any reasonable assumption on the actual subject. I was completely lost in the initial 10min, where I was kind of trying to figure out what was the expectation. Was I suppose to answer in terms of Hardware, Software or Infrastructure or all? Somehow once I clarified that the interview was indeed for SWE and not for Product Manager, I moved ahead. I tried giving answers in terms of how real World things work but made alot of assumptions as needed. We discussed openly on many many things. Thinking about the problems and figuring out solutions to those. During the interview, he seemed to be satisfied by my answers. We concluded within 1hr of scheduled time. This was fun.
Verdict: LEAN HIRE
I was bit surprised here. I was expecting at least HIRE depending on how the interviewer was responding to my answers. Interviewer mentioned in the feedback that I was not able to deal with ambiguity and answered a bit vaguely. But he did mention that technically I was strong and was able to provide multiple solutions to the problem presented.
Round 5 (Googlyness): Standard questions about team dynamics, motivations, ability to resolve conflict, etc. Nothing new.
Verdict: HIRE
The feedback was as per the expectation.
Currently, going through the team match which is looking like another lengthy process. Will update once team match happens and packet goes to HC.
Update: Resources for System Design I preferred
- Both volumes of 'System Design Interview' by Alex Xu to understand the format of the interview.
- Designing Data-Intensive Applications by Martin Kleppmann for in-depth knowledge.
- Lots of Youtube videos. Few channels to name: @SystemDesignInterview, Tech Dummies, CodeKarle, System Design Fight Club.
- Articles on ByteByteGo, again by Alex Xu for short and too the point case studies. You can subscribe for weekly newsletter.