Amazon | SDE-I | Fresher (Reject)
Summary
I recently interviewed for an SDE-I position at Amazon as a fresher and, despite performing well in the coding rounds, I was unfortunately rejected. I was able to solve both problems in each technical interview, but the recruiter informed me that I would not be moving forward.
Full Experience
I recently graduated from a Tier III college with a non-CS background and accumulated 6 months of intern experience in full-stack development. I started applying to top companies in July, primarily through referrals to Amazon for SDE-I positions. After a few weeks, I received an invitation for the Online Assessment.
Round 1: Online Assessment
This was a 90-minute test on Hackerrank. It consisted of two coding problems: an LC Easy problem, "Reorder Data in Log Files" (LC 937), which I solved, and an LC Medium problem involving sorting and two-pointers (I don't recall the exact problem details). I provided my approach for both and solved them easily. The OA also included a work survey based on Amazon's Leadership Principles. I cleared this round and scheduled two virtual onsite interviews.
Round 2: Virtual Onsite (Coding Round)
This round was taken by an SDE III. After I introduced myself and mentioned I was a recent graduate, he seemed quite surprised. There was an awkward pause, possibly while he consulted with the recruiter. He then presented a Medium problem: "Finding the row with max sum containing only 0/1, where rows are sorted." I quickly arrived at a brute-force solution and, with some hints, further optimized it, eventually coding the best solution. Following this, he gave me another Medium problem, "Print Tree Boundary" using DFS traversal. I coded this solution really quickly as time was running out. I successfully solved and coded both questions.
Round 3: Virtual Onsite (Coding Round)
Two SDE IIs conducted this round. They began by asking a few questions about my internships before moving directly to the coding problem. It was LC 279: "Perfect Squares." I had solved this problem a while back and couldn't immediately recall the logic, but I didn't give up. I first developed a recursive brute-force approach and then took some time to implement the bottom-up tabulation (dynamic programming) approach. Fortunately, I was able to code it, and the interviewers seemed satisfied with my solution. As the time concluded, they asked a few more questions about my resume, and the interview ended.
Verdict: Rejected
I received a call from the recruiter on the same day, informing me that I would not be moving forward. To be honest, I'm quite perplexed, as I felt both interviews went really well. I'm unsure if I lacked something or if it was simply due to my lack of experience as a fresher. This entire experience has been a significant learning curve. I've decided to gain some professional experience at a startup before reapplying to larger companies, as my career gap has already started.
Despite the outcome, I'm proud of my performance. Coming from a Tier III college and a non-CS background, and having turned my life around in my final year, starting from scratch and pushing my limits, has been an incredible journey.
Work Hard, Be Kind, and Good things will happen.
Interview Questions (4)
Given a 2D binary matrix (containing only 0s and 1s) where each row is sorted in non-decreasing order, the task is to find the row with the maximum sum, which means the row containing the most 1s. The problem hints that the solution could be optimized beyond a simple brute-force approach.
This was a Medium problem on Tree DFS traversal, specifically to "Print Tree Boundary". The problem typically asks to traverse a binary tree and print all nodes that form its boundary. This usually involves printing the left boundary nodes, all leaf nodes, and then the right boundary nodes in reverse order, ensuring no duplicates are printed.
Preparation Tips
I prepared by applying to top companies and solving LeetCode problems, which was my primary focus. I had prior experience with certain problems like "Perfect Squares," which proved helpful during the interviews. My preparation heavily concentrated on data structures and algorithms, which was crucial for performing well in the coding rounds.