Status: 6.5 YoE at multiple companies
Position: SDE3 at Amazon
Location: Europe
Date: June 2020
Recruiter Process:
Recruiter reached out via LinkedIn.
Coding Preparation:
3 Months, 130+ LeetCode questions. 55% easy, 33% medium and 12% hard.
CTCI - All major chapters.
Online Assessment:
I don't remember the exact details, there were 3 questions related to array/strings, graph, and heap. In the end, there was another section where I had to calculate space and time complexity of all 3 problems.
There was a HR phone screening after online assessment.
Leadership Principles preparation:
I listed out the things I wanted to talk about in various leadership categories. I didn't spent much time on it as I was comfortable answering these based on my previous experience.
System Design preparation:
I mostly follow engineering blogs and had a pretty good idea of how large scale system works. As a preparation, I went through some youtube videos, System Design Premier, and practiced a bit with the help of my friends.
Interview:
Interview #1 (2 Person, I think they were SDE2 and SDE3 level): Interview started 5 mins late because of some timing issue in their side. The interviewers didn't introduced themselves, started with a "tell me about yourself" question and some of my past experience. We then went straight to the system design question which was related to large file manipulation. They said they only want me to go with high level components of the design and they will ask me to provide details of a specific component after reviewing my initial design. They asked many questions about scaling and my approach of solving the problem. Overall it went well and they seem to be happy with the solution. They didn't take any questions from me.
Interview #2 (Engineering manager): Introduced himself and started with a couple of behavioral questions and kept on asking the details forcing me to dive deep into my answers. The coding question was related to file processing and manipulation, Leetcode medium/hard category. I was able to come up with a decent solution (not an optimal one) but it went a bit ahead of actual allocated time. He didn't take any questions from me as we were already out of time.
Interview #3 (2 Person, again SDE2 and SDE3 level): Didn't introduce themselves, and started with a couple of leadership questions and dived deep into all the examples. The coding question was related to array and strings, LeetCode Hard category. They added few extra constraints to the question making it more difficult. I was able to come up with a brute force solution and was asked to calculate the time complexity of the solution. I asked a couple of questions to them at the end.
Interview #4 (Principal Engineer, he sounded really professional and experienced): He started by introducing himself and asked me to introduce myself. We went through a couple of behavioral questions and he asked to clarify lots of details. The coding question was a graph traversal problem with a bit of twist, LeetCode medium. I was able to do it on time but had to take a few hints. I asked a couple of questions to him at the end.