Amazon Interview Experience for SDE-1 2021
I’m a B.Tech CSE graduate from a Tier-1 college (Batch of 2020) with 1 YOE. I recently interviewed for an SDE-1 role at Amazon. The recruitment process included 5 rounds in total as follows:
Round1(Online Assessment): I had to solve two questions within a period of 90 minutes along with writing my approach and time complexity of the solutions. The Questions were:
Become a success story instead of just reading about them. Prepare for coding interviews at Amazon and other top product-based companies with our Amazon Test Series. Includes topic-wise practice questions on all important DSA topics along with 10 practice contests of 2 hours each. Designed by industry experts that will surely help you practice and sharpen your programming skills. Wait no more, start your preparation today!
- This was a variation of https://www.geeksforgeeks.org/given-sorted-array-number-x-find-pair-array-whose-sum-closest-x/. I was able to solve it within minutes and took the proper time to explain my approach. (All test cases passed).
- This was a variation of https://www.geeksforgeeks.org/given-two-sorted-arrays-number-x-find-pair-whose-sum-closest-x. Although the underlying concept was simple, it required some work to bring the input to the required format (e.g. use of custom sort). I was able to solve this as well in 30 mins. but only 70% of my test cases passed and I wasn’t able to fix the bug in my code. I took time to explain my approach properly though which I knew was correct.
The online assessment also included a separate behavioral objective questions round.
Round 2(Technical Round 1): Although I got the notification about me passing the online assessment just after 2 days, my interview was not scheduled for about 40-45 days. This happened because the recruiter had somehow missed my name. So, if you’re not getting called up for an interview, please contact the recruiter and let him know about the same.
The duration of this round was 60 minutes. The first 5 minutes were for the introduction and then we jumped on straight to the questions. I was asked two DSA questions in this round:-
- https://www.geeksforgeeks.org/find-the-element-that-appears-once-in-a-sorted-array/. I gave an O(n) solution at first and explained myself really well. Then the interviewer asked me to optimize it further and I said that since I haven’t taken into account that the array is sorted, we could optimize it using binary search if we can figure out the necessary conditions to discard half of the search space. The interviewer gave me a hint and I figured it out. I was asked to write proper code for this.
- https://www.geeksforgeeks.org/remove-duplicates-from-a-sorted-linked-list/. This was also a straightforward question. I was directly asked to write the code. We did a dry run and rectified one mistake. After that, we tried different edge cases, which all passed.
In the end, the interviewer also asked me -> What is multi-threading ?, Give me an example of where it is used and What are the resources shared b/w multiple threads.
The interviewer was extremely nice and the whole interview felt more like a discussion.
Round 3(Technical Round 2): This round was almost extremely identical to the first round. Five minutes of intro followed up by two DSA questions:-
- https://www.geeksforgeeks.org/trapping-rain-water/. The interviewer presented a variation of this question. Although I had done this question before(who hasn’t ?), it took me a long while to understand he was asking for this, because he was extremely vague about the question. He didn’t even give me a question actually, he just gave me input and output, again the input was vague so I had to ask a lot of questions to get the question clarified. In the end, he shared a pictorial representation with me and I gave him the answer within 5 minutes (coded for it as well). I gave him a O(n) space complexity answer though and because we had spent too much time on this, I just told him the optimized approach but didn’t code for it.
- https://www.geeksforgeeks.org/bottom-view-binary-tree/. I had just 10 minutes to explain this question+ write a clean code + clarify the doubts that the interviewer had. I explained to him the approach, the data structure I would use(Used a Hashmap with key as horizontal distance and value as a pair of vertical distance + node value). The interviewer said why do you need to keep track of vertical distance, wouldn’t the nodes in a preorder traversal be coming in the order of increasing depth. I explained to him that in a denser tree, or a tree where left and right children are protruding too far, that wouldn’t be the case. I wrote the code for this, while he was on a call with his manager. He didn’t ask any more questions (but he looked confused, I wasn’t too sure if he had understood my approach clearly).
In the end, I asked him one or two questions about his experience with Amazon, and he told me quite a lot of things, we ended up talking like half an hour extra after the interview. He was a pretty chill guy.
Note- None of the interviewers till this stage had more than two years of experience (in the industry).
Round 4(Hiring Manager Round – 1): The interviewer was a Software Engineering Manager and had experience of almost 20 years. This round was all about my past experience and projects. The duration of this round was 60 minutes too. We started with introducing ourselves and then jumped on to my roles and responsibilities in my current role. As we discussed my project(s), he asked me a lot of behavioral/LP questions in between, here are a few ones I remember:-
- Tell me about an instance when there was a high-risk production issue and you stepped up to resolve it.
- Tell me about an instance when you worked on a code-intensive task and you gave valuable inputs to improve it.
- A few more questions were along the same line but I don’t remember them.
- In the end, he asked me one design question, which was to come up with the data structures I would use to create a game like this – https://www.transum.org/software/River_Crossing/
- I proposed the classes I would create for our character, and how I would store denylist for each character (ones that can’t be together). He was not too satisfied with my approaches but we didn’t go too deep into this question anyways because we were overtime already.
In the end, before leaving he asked me the reason I was looking for a change.
Round 5(Hiring Manager Round – 2): The interviewer was a Software Engineering Manager and had experience of almost 13 years(all at Amazon). The interviewer asked me whether I have had technical rounds, I said yes and then he said that he was not gonna focus on whatever has been covered. This round was all about him being trying to do the LP analysis on me. He asked about 5-7 situational/behavioral/LP questions for me. A few of them are:-
- Tell me about a time when you over-delivered.
- Tell me about a time when you disagreed without your team and had an impact.
- Tell me about the time when you had a hard time doing a task and what did you learn from the experience.
- Tell me about an instance where you had to compromise on the best practices to deliver something on a time crunch.
- Tell me about a time when you did something good for a customer.
- Tell me about a time when you asked for feedback from a customer and how did you incorporate that.
- Tell me about a time when the customer disagreed and you had to understand their point of view and work towards finding a solution.
I had a hard time explaining scenarios where there was customer interaction simply because my job didn’t directly involve me talking/affecting the customers.
In the end, I asked him about Amazon’s culture and what did he think of one of the newly added leadership principles (no reverse xD).
- Lately, Amazon interviews have been inconsistent with what they tell you it would be like.
- People who have had experiences, where they were, were asked at least 2 DSA questions in all rounds, and a few minutes of behavioral/LP questions in each round. Then there’s me who have had just two technical rounds(which is true according to what they tell you since according to the format only first two rounds are technical).
- Additionally, even though for an SDE-1 no one expects you to be answering system design questions, but in one round or the other, you can expect one/two Low-Level Design questions in which they care more about the data structures that you decide to use.
- The emphasis of Amazon with respect to identifying a person’s behavior and whether they would be a cultural fit at Amazon or not is tremendous and is growing day by day. Although you could be someone that is very good at problem-solving but might not be a cultural fit in their eyes, and the reverse is true as well. You need to be good in both departments.