Amazon | SDE1 | Seattle | Nov 2019 [Offer]

Status: New Grad, MA Math Finance, BA CS
Position: SDE 1 at Amazon
Location: Seattle, Washington, USA
Date: November 1st, 2019

I'll skip the online assesments but there's a very detailed post about it, my experience is very similar to it. Didn't give me any trouble. Mainly leetcode easy problems.

Timeline:
September 2nd: Referal from my friend
September 18th-October 1st: three rounds of Online Assessments
October 14th: Invitation for Final Round
October 18th: Confirmation for October 28th Final Round
November 1st: Sent me the offer
In between: sadness and anxiety from rejections from other companies

Final Interviews (3 rounds)

Round 1:

  • Interviewer had a thick accent so I couldn't understand what he was saying half the time. Nice guy though.
  • One LP question: Tell me about one of your projects? We really went into details for this one took 15 miuntes off the clock.
  • https://leetcode.com/problems/unique-binary-search-trees/
    Tip for DP questions: write out the recursive relationship so the interviewer could correct you
    F(n)= Sum(F(k)xF(n-1-k) for k in range(0,n-1)) something like that. I finished this question in about 10 minutes since I got the recursive relationship pretty quickly and he made me write out all the solutions for n=4 on a notepad probably because he needed to fill time.

Round 2:

  • This guy was a little more stern than the first guy and I couldn't get a read on him.
  • LP question: Tell me about one of your projects so the same as the first guy.
  • He asked me about some OOP defintions such as what is the difference between encapsaltion and inheritance. I didn't do too hot on this one. When he tried to explain the answer it sounded exactly my answer but I didn't bother to tell him that. Since there was only 25 minutes left and he wanted to leave 5 minutes for questions he gave me a easy question.
  • https://leetcode.com/problems/same-tree/ Asked him if he wanted a recursive or iterative solution. and he told me to use the recursive one. Then he started asking me for some test cases. As I was writing them out laboriously on notepad, he asked me a second question with only 10 minutes left and if I could use my solution for the first one to help.
  • https://leetcode.com/problems/subtree-of-another-tree/ Didn't quite finish it since he wanted a variation where test case 2 would be valid and he cut me off to give time for him to answer some of my questions. He probbaly knew that I could finish given enough time but it was still annoying that he didn't leave me enough time.

Round 3:

  • Third guy was super nice. I joked that he was the only one who turned on his video function which he seemed to like.
  • LP question: Tell me a time you took some on some risk.
  • OOP design question. Design a filtering system that can filter books by author or by category. I was all over the place but the guy was nice enough to guide me through everything.

I received the offer within a week (5 business days). I went on the portal early and it said my application is no longer under consideration but received an email saying I got the offer. I think sometimes when recruiters move the status of the application, the system does not respond correctly.

Preparation:
Personally, I was never into software. In fact, I wanted to become a trader and I did an internship at a trading firm in chicago. However, I didn't get a return and I subsequently got rejected from every place I've interviewed at for trading roles despite having super day for some of them. For software I've been equally as unlucky. FB rejected me without a phone round despite a referal, Google canceled my phone interview and I haven't heard back from any other software firm such as Bloomberg, Cisco, Microsoft.. My friend worked at Amazon gave me a referal so I was lucky for that.

I did leetcode before but I really started doing leetcode profusely about 3 weeks before my final round. My strategy was to group questions to categories and try to master one category per day. Leetcode premium was really helpful in providing similar questions. Main 3 questions types are BFS, DFS and DP. I have in total completed 67 problems but most of them are from 2 years ago when I applied to other software firms before my masters. I probably only did about 15 probelms in the 3 weeks studying for amazon final round. As for behavioural questions, I wrote down some answers but they sounded too artificial. I tried youtube for help but those people sounded even more robotic. Eventually I just talked about them with a friend and he gave me a couple pointers but nothing major.

Final Thoughts

Honestly the real reason I wanted to write this post is to tell people about my experience. I know on leetcode, there's so many post talking about doing at least 300 problems over the course of the year or something ridiculous like that. Or even worse about how they wrote 100 pages of answers for behavorial questions. I did none of that and I still managed to get a job. Now I'm not trying to be self congradulatory or anything. In fact leetcode has helped me immensly in getting this job. However, I feel this community has a culture of people showing off how many leetcode problems they've solved after getting a job. It not only puts alot of pressure on people seeking these positions but also elevates these companies to undeserving heights. I understand these companies pay alot but we as a community should not see getting a job at these companies the be all and end all. Ultimately these are still just jobs and one should not devote one's life to the pusuit of them. Go out and make some friends :)

Comments (34)