Amazon | SDE III (L6) | Seattle | October 2020 [Offer @ L5]
Anonymous User
6779

Status: 9 year experience, filesystems; BS in CS at a top 10 school before that
Position: SDE III (L6) / SDE II (L5)
Location: Virtual interview

Preparation:

I've been unemployed for about a month and have been spending about 40 hours a week on interview preparation.

As far as coding drills, I've banged out ~12% of LeetCode in that time (~10% of Hard, ~13% of Medium, and ~12% of Easy). I paid for a premium membership and drilled through exercises specific to the companies I am targetting (Amazon, Facebook, Google). I did several LC Mock Interviews; for Amazon specifically, four "Phone screen" and five "On-Site." My phone screen scores ranged from 93-99th percentile and my on-site scores ranged from 82nd to 99th percentile.

My referring engineer suggested I review Amazon's 14 Leadership Principles and come up with about a dozen stories in S.T.A.R. format that could be related to various LPs, and come up with an index of this relationship ahead of time. I did that, and also got a list of something like 25 behavioral interview questions from various internet websites, indexing those as well. I spent some time practicing my stories to help memorize them and remember the S.T.A.R. pattern. I did not attempt to memorize the LPs.

I really did not spend much time preparing for system design. I wish I had, but I also don't know what would have been effective. The kinds of internet systems FAANG companies seem to care about are just very far removed from the sorts of low-level operating systems work I've actually been involved in.

Finally, I think an important part of my preparation was putting a focus on getting consistent and high-quality sleep. I didn't have caffeine after my morning coffee, did not drink excessively and not right before bed, and took melatonin about 30 minutes before going to bed. I aimed to be in bed by 9pm and asleep by 10.

Interview process and format:

I had a phone screen, but don't remember much of the contents. I think there was one relatively straightforward warmup problem and a second relatively easy (LC easy-medium) problem as well. I don't recall any behavioral questions, but there might have been. My call was initially conducted on Amazon Chime, but it crashed after several minutes and we fell back to a plain phone call (and shared coderpad) for the rest of the interview. My interviewer was very pleasant and it was a good experience.

My on-site was composed of five hour-long rounds, with a longer break in the middle. All rounds had at least 10-15 minutes of behavioral interview questions, focused around Amazon's leadership principles. I had three coding sessions, a system design session, and one session that was all behavioral interviewing.

  • One of the coding sessions had two questions; neither was especially difficult in a LC sense, but both required banging out a moderate amount of code. For one problem, it was useful to be able to bang out a trie datastructure and demonstrate an awareness of computer performance that is not captured in Big-O notation (i.e., cache performance); for the other, it was mostly just banging out code, considering edge cases, and not forgetting details. This was the session I felt most positive about all day.

  • My second coding session was again relatively straightforward, but could be taken in more complicated directions. I'm not allowed to share the exact problem, of course, but if you do some practice here, I don't think it would be especially tricky for you. Again, mostly just banging out correct code. I didn't have a completed solution by the end of the slot, but we had talked about the design and remaining challenges to keep in mind.

  • Third coding session was more of a medium. It felt like a hard at the time because I was missing "the trick," and even once prompted with the trick, I failed to fully grasp the ramifications initially. I did not have a completed written solution by the end of this slot, either. Still, I think that session went reasonably well, and I think I demonstrated I could have worked out the remaining branches given a bit more time.

  • For system design, I was asked to design something like a global CDN with some specialized constraints based on the hiring team. I think that's a reasonable level of detail to share, without giving away the exact problem. I failed to write anything down or draw any diagrams. I don't know for sure that that hurt me, but perhaps it did. I don't think I did a great job, but it wasn't horrible either.

  • Finally, the behavioral interview session was rough. I had prepared extensively for behavioral interviewing by coming up with about a dozen "stories" demonstrating various engineering and leadership skills from my career. But I was asked to come up with a lot of extremely specific examples that my preparation didn't cover. I had two difficulties here: first, my mind basically goes blank in these kind of on-the-fly recall scenarios; and second, I really didn't have a lot of the background kinds of situations they were asking about. I think that this, more than anything else, is why they decided not to offer at L6.

Result: At the end of the day they offered me a position at L5 (SDE II / SDE 2).

Thoughts:

It was a relatively good experience. Four of my five interviewers were really outgoing and fun to talk with. The other one just sort of lacked social graces, but wasn't unpleasant. I felt pretty rough at the end (I didn't finish 2/3 coding exercises, my system design was kind of crap, and the behavioral session was grueling) and did not think they were going to offer me a position at all. I was pleasantly surprised to be offered a position at L5.

For what it's worth, I had many friends (former colleagues) on internal Amazon teams advocating on my behalf before and probably during the interview process. Amazon does attempt to avoid nepotism (good!), and my referring engineer recused himself from the interview process, but I still think this was a strong card in my favor.

None of the "Amazon" questions on LC, including the mock interviews, had anything really to do with the actual questions I was asked. But I think it was still valuable preparation.

Comments (6)