亚麻Vancouver实习过经

Status : 3rd Year/Junior, ECE, Undergrad
Position : SDE Intern at Amazon
Location : Vancouver, BC, Canada
Date : Nov 14, 2019
Experience: 1 prior SDE internship

Background
Thanks to those in this commuity, who contributed helpful data like this OA database (both my questions were here), interview experiences, and questions/test-cases/solutions. I applied to Amazon (Canada) in summer and began hardcore-studying as a student having already done 13 Leetcode questions, an SDE internship (non-technical interview) in the auto industry, and a handful of projects. In any case, I did 90% of my interview-prep in the 1-month timeline below. I was lucky that this coincided with a 1-week vacation from school, but utlimately, I skipped 1 week of classes and bombed a few midterms.
That said, I had helpful background knowledge about tech internships from r/cscareerquestions and YouTube ( Chris Jereza & Joma ) from before I began studying.

Preparation (1 month)

  • Two-weeks reviewing DS+A fundamentals with CTCI and AlgoExpert
  • 1.5-week doing 30 Leetcode questions based on this Medium Article and previous candidates’ posts
  • Purchased Leetcode Premium to do Amazon-tagged questions
  • Studied my weak-sections in Elements of Programming Interviews (especially meta-algorithms)

Timeline

  • late Aug : applied online (resume only)
  • early Oct : Amazon emailed OA1 to me
  • mid Oct : OA1 (score of 7/7)
  • mid Oct: OA2 (passed all tests)
  • late Oct: OA3 (unsure of score)
  • early Nov: notified of final interview
  • mid Nov: final interview (virtual)
  • mid Nov: received offer

OA1
OA1 consisted of 7 code-snippets that each had a logic-bug you’re supposed to fix. You do it in either Java, C, or C++. Personally, I didn’t study for this. Some of the code-snippets I got, were: sum of an int-array, bubble-sort, and printing even-numbers of a list.

OA2
Here’s a public List of OA2 questions . Evidently, it was 100% accurate for me.

  1. Longest Palindromatic Substring (Medium)
  2. Most Common Word (Easy)

To be clear, I passed all test-cases for OA2.

OA3
An SDE work simulation that evaluated your decision-making in managing multiple time-sensitive tasks as part of a team at Amazon. You should read this article on Amazon’s 14 Leadership Principles to better understand Amazon’s decsion-making values.
After the work-simulation, you got a set of SAT-style logic questions , which I hardly finished in time.

1轮VO
My interviewer was based in Palo Alto, CA and asked two behavioral questions:

  1. Have you ever gone out of your way to help a peer? (ownership)
  2. Have you ever had to make a tough decision without consulting anybody? (bias for action)

Whereas I had a story for Q1, I blanked on Q2 for a solid 5 minutes.
Then came two technical questions (40 min left):

  1. Contains Duplicates (Easy) => code in any language
  2. Validate BST (Easy) => code in Java or C++

I definitely got really really lucky. That said, I still stumbled quite a bit:

  • Q1 : I first pointed the sorting method O(nlogn). My interviewer asked if I could do better, but I blanked, and started talking about logging char-frequencies for a solid 30-sec, before realizing we could just store the elements in a hash-map.
  • Q2 : My interviewer told me to use Java or C++ (not my preferred languages). I asked if I could code in another language first, then translate it to C++. He agreed. I knew the inorder-traversal solution by heart, so this was no problem; but, afterwards I realized I made a syntactic error.

Nonetheless, I got my offer the following week.
Fun fact: 28-hours prior to my offer, on the Amazon Job Portal , my status changed from " Under Review " to " Application Moved to another Posting ".
After noticing this, I searched around the internet to see what it meant, but didn’t get a definitive answer.