My Interview Experience with Amazon India for SDE 6-Month Internship
Summary
I successfully secured an SDE internship offer at Amazon India after a two-round hiring process. The experience included a HackerRank coding assessment and a technical interview focused on a dynamic programming tree problem and core computer science concepts.
Full Experience
How I Got the Opportunity:
On September 14th, 2024, I received an email from the "Amazon University Talent Acquisition" team, expressing interest in my application for a Software Development Engineer (SDE) internship at Amazon. This opportunity arose because I had previously registered for "HackOn with Amazon." The email included a hiring interest form where I could specify my job location preferences and availability.
Hiring Process:
The hiring process consisted of two main rounds: an initial coding assessment and a subsequent technical interview.
Round 1: Coding Round (via HackerRank)
- Date: September 16th, 2024
- This round was conducted on HackerRank and featured two medium-level LeetCode questions. One problem was based on hashmaps, and the other involved dynamic programming.
After successfully completing the coding round, I received an email on September 18th, 2024, confirming my shortlisting for the interview round.
Round 2: Technical Interview (via Amazon Chime)
- Date: September 23rd, 2024
- The interview lasted approximately 70 minutes and took place on Amazon Chime. There were two interviewers present: an SDE 2 and an SDE 1.
Interview Details:
The interview began with introductions, followed by my self-introduction. The interviewers seemed quite impressed with my introduction, mentioning its creativity and uniqueness.
The first question, posed by the SDE 2, was a Dynamic Programming on Trees problem: "Find the maximum sum of nodes in a tree such that no two adjacent nodes are included." I thoroughly explained my approach, wrote the code, and then performed a dry run with various test cases. This question alone took about 45 minutes, as I dedicated significant time to ensuring the dry run was complete.
After I finished the first question, the SDE 2 asked the SDE 1 if they had any questions, which led to a series of implementation-based inquiries:
- Types of hashmaps.
- Difference between ordered and unordered maps.
- Difference in the implementation of ordered and unordered maps.
- What is a heap, and which data structure is used in its implementation?
- Explain the implementation of quicksort.
- What is a skewed binary tree?
- BFS vs. DFS.
- Data structure used in BFS vs. DFS.
- Data structure used in recursion.
- Time complexity of the vector push_back function.
- Explain the implementation of the vector push_back function.
I managed to answer most of these questions, although I was slightly confused on 2-3 of them. I explained what I knew and candidly mentioned when I couldn’t recall further details. The interviewers were very supportive and said they were quite impressed with my responses, noting that it was an enjoyable interview experience.
The interview concluded with the standard question: "Do you have any questions for us?" I inquired about the feedback process, and they informed me that I would be communicated with via email. Following this, the interview ended, and I exited the meeting.
Verdict:
- September 29th, 2024: I received an email from Amazon stating that I had been waitlisted.
- November 6th, 2024: Amazon sent another email, informing me that my waitlist status had been released, and they would communicate further details by November 15th, 2024.
- November 19th, 2024: Finally, I received the confirmation email stating that I was selected for the Software Development Engineer (SDE) internship at Amazon.
I’m incredibly thrilled to have been selected for this internship and am eagerly looking forward to contributing to Amazon’s innovative projects. It was an exciting and enriching experience, and I am truly grateful for the opportunity.
Interview Questions (12)
Find the maximum sum of nodes in a tree such that no two adjacent nodes are included.
Discuss different types of hashmaps.
Explain the difference between ordered and unordered maps.
Explain the difference in the underlying implementation of ordered and unordered maps.
Define what a heap is and describe the data structure commonly used for its implementation.
Explain the implementation details of the quicksort algorithm.
Describe what a skewed binary tree is.
Compare Breadth-First Search (BFS) and Depth-First Search (DFS).
Identify the primary data structures used in the implementation of BFS and DFS.
Which data structure is fundamentally used to support recursion?
What is the time complexity of the push_back operation for a vector?
Explain how the push_back function for a vector is implemented internally.