Amazon SDE-1 FTC - Interview Experience || Offer || Gurugram
Summary
I successfully navigated through multiple rigorous interview rounds for an SDE-1 FTC role at Amazon in Gurugram, which primarily focused on Data Structures & Algorithms and behavioral aspects. Despite some challenges in coding speed and explanation, I ultimately received an offer for the position.
Full Experience
My journey to an Amazon SDE-1 FTC offer in Gurugram began unexpectedly. I had attempted Amazon OAs multiple times without success, even after performing well. However, in early July, HR contacted me, shortlisting my profile for an SDE-FTC role, and I decided to proceed.
Round 1 (DSA + LP) - 75 minutes
This round was conducted by an SDE-2, shadowed by an SDE-1. The first 15 minutes focused on leadership principles (LP) style questions based on my experience. After that, we moved to DSA.
- Question 1: Policemen and Thief (GFG)
I started by explaining the brute force approach, then transitioned to the optimized one, which satisfied the interviewer. The follow-up question was intriguing: "What if a policeman can catch multiple thieves? How would you approach it?" I explained my solution conceptually, and he seemed content. - Question 2: Online Stock Span (LeetCode)
I discussed how a monotonic stack would be the ideal approach for this problem. The interviewer then asked me to provide a test case where more than one element would be in the stack, especially since I mentioned an amortized O(1) time complexity. I presented a test case and dry-ran my solution, which again seemed to satisfy him.
Round 2 (DSA) - 60 minutes
The interviewer immediately presented DSA problems.
- Problem 1: Bottom View of Binary Tree
I had solved this problem before, but I found it challenging to explain my approach clearly to the interviewer. After some back and forth, he asked me to start coding. While writing the code, I tried my best to explain my logic. He then asked some cross-questions, including if a map could be improved. I suggested using an unordered map for better time complexity. With time running out, I quickly made the necessary changes, and the interviewer seemed satisfied. - Problem 2: Move Zeroes (LeetCode)
This problem was relatively simple. I quickly explained my approach and implemented the code in about 10 minutes, making this round overall decent despite my initial struggles with Problem 1.
Timeline & HM Round Scheduling
After Round 2, there was a period of silence. I tried emailing HR, but received no response, leading me to believe I was ghosted. Then, unexpectedly on July 24th, another HR called to schedule my Hiring Manager (HM) round. The interview was initially set for July 30th, but I had to postpone it due to a last-minute invite issue.
Round 3 (HM Round) - August 6th
This round was with a manager with over 10 years of experience. After a brief introduction, he gave me a coding question.
- Problem 1: Max Area of Island (LeetCode) with 8-direction modification
The core problem was finding the max area of an island, but with a twist: travel in all 8 directions was required. He suggested I first implement the 4-direction solution. I was familiar with this problem and proposed either DFS or BFS. I opted for a BFS solution, but the implementation took a significant amount of time—around 40 minutes. This left no time for the 8-direction follow-up. I felt quite demotivated, believing I had messed up.
The last 15 minutes were for behavioral questions. Although I had prepared extensively, I didn't feel I performed well. After the interview, we had a good discussion about AI and software engineering. The HM mentioned he had given his feedback, and HR would contact me.
The Offer
Another period of silence followed, and I assumed my chances were slim after the HM round. On August 18th, I decided to email my recruiter. On the very same day, I received a call from the recruiter, delivering the "golden words": "Congratulations! We are extending you an offer!"
Interview Questions (4)
The interviewer then presented a problem based on a monotonic stack. I explained how a monotonic stack would be suitable for solving this problem, which is equivalent to LeetCode's 'Online Stock Span' problem. I also provided a test case to demonstrate the amortized O(1) time complexity when more than one element is in the stack and dry-ran my solution.
The interviewer gave me the 'Bottom View of Binary Tree' problem. Although I had solved it before, I initially struggled to clearly explain my approach. After some back and forth, the interviewer asked me to start coding. While writing the code, I continued to explain my solution. The interviewer then asked cross-questions, specifically asking if a 'map' could be improved. I suggested using an 'unordered map' to reduce time complexity and made the changes quickly as time was running out.
The coding question was 'Max Area of Island' (LeetCode). The interviewer added a small change: we needed to travel in all 8 directions instead of the standard 4. They suggested starting with the 4-direction solution first. I knew the problem well and explained that it could be solved using either DFS or BFS. I proceeded with a BFS solution, but the implementation took around 40 minutes, leaving no time for the 8-direction follow-up.
Preparation Tips
My preparation involved rigorously practicing Data Structures & Algorithms, including solving problems on platforms like LeetCode and GeeksForGeeks. I also dedicated considerable time to preparing for leadership principles and behavioral questions, ensuring I had stories ready to demonstrate Amazon's core values.