AMAZON | SDE New Grad 2022 | London, UK | Indian | [Offer]
Summary
I successfully navigated three demanding interview rounds for the SDE New Grad position at Amazon in London, ultimately securing an offer. Each round combined leadership principles discussions with rigorous technical coding challenges.
Full Experience
My journey for the Software Development Engineer 1 New Grad role at Amazon in London unfolded across three consecutive interview rounds, each meticulously structured. Every round, lasting approximately 60-66 minutes, was split into two core sections: 25-30 minutes dedicated to Amazon's Leadership Principles (LPs) and a challenging 30-35 minutes focused on technical coding. A critical point I learned was that almost every question, whether LP-based or coding, came with two or three follow-up questions. Furthermore, the expectation for coding was high, aiming for 75-85% production-ready code.
Round 1 (Taken by SDE-2) - 62 Minutes
Leadership Principles Questions:
- Tell me about a time when you took a risk, and did it pay off? What would you have done differently?
- Have you ever failed at something? What did you learn from it?
- Have you ever had to make a tough decision without consulting anybody? (This was tied to the 'Bias for Action' principle).
Coding Questions:
- I discussed and coded the LRU Cache problem, which is quite a classic.
- As a follow-up, the question was changed to the LFU Cache, which I discussed my approach for.
Round 2 (Taken by SDE-1) - 60 Minutes
Leadership Principles Questions:
- Tell me about a time when you didn't meet a deadline?
- Have you ever gone out of your way to help a peer? (This related to 'Ownership'.)
- Tell me about a time when your teammate didn't agree with you? What did you do?
Coding Questions:
- We started with a warm-up, the Missing Number problem, which I discussed and coded.
- The second coding question was First Missing Positive, for which I also provided a discussion and a coded solution.
Round 3 (Taken by Senior SDE) - 66 Minutes
Leadership Principles Questions:
- Tell me about a time when you needed help from somebody?
- Tell me about a time where you had limited time and how it impacted your work?
- Tell me about a time when your teammate didn't agree with you? What did you do?
Coding Questions:
- I was asked to implement Morris Traversal (a hard problem often found on GFG), which I discussed and coded.
- The final coding challenge involved N-ary Tree Preorder Traversal, which I solved recursively.
I successfully received an offer for the SDE 1 position. Interestingly, I later changed my location preference to Edinburgh, Scotland, U.K.
Interview Questions (14)
Describe a situation where you took a significant risk. Did it pay off as you expected? What would you do differently if faced with a similar situation again?
Share an experience where you failed at something. What were the circumstances, and most importantly, what valuable lessons did you learn from that failure?
Recount a time when you had to make a difficult decision without the opportunity to consult others. What was the situation, what was your rationale, and what was the outcome? This question assesses your bias for action.
Design and implement a Least Recently Used (LRU) cache. It should support the following operations: get and put. get(key) will retrieve the value of the key if it exists, otherwise return -1. put(key, value) will update or insert the value. When the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item.
Design and implement a Least Frequently Used (LFU) cache. It should support the following operations: get and put. get(key) will retrieve the value of the key if it exists, otherwise return -1. put(key, value) will update or insert the value. When the cache reaches its capacity, it should invalidate the least frequently used item before inserting a new item. If there is a tie, the least recently used item among them should be removed.
Describe a situation where you failed to meet a deadline. What were the reasons, how did you handle the situation, and what did you learn to prevent similar occurrences in the future?
Tell me about a time when you went above and beyond to help a colleague or peer. What was the situation, what specific actions did you take, and what was the impact? This question gauges your sense of ownership.
Describe a situation where you and a teammate had a disagreement or different approaches to a problem. How did you handle the conflict, and what was the resolution or outcome?
Recount a time when you realized you needed help from someone else to accomplish a task or solve a problem. How did you identify the need, whom did you approach, and what was the result?
Describe a situation where you were operating under significant time constraints. How did the limited time impact your work, your decisions, and your approach? What was the outcome?
Implement Morris Traversal for a Binary Tree. This algorithm allows for in-order traversal without using recursion or an explicit stack, achieving O(1) space complexity.