Amazon | SDE1 | Toronto | Apr 2020 [Offer]
Anonymous User
1749

Status: 1yr experience (still technically new grad)
Position: SDE1 at Amazon
Location: Toronto, ON
Date: April 24, 2020

I SIGNED AN NDA, CANNOT SAY EXACT QUESTIONS.

Online Assessment:

  • Simple coding challenge. Questions can be found in other threads, this one has no tricks. Just study those questions and you'll be okay. Amazon reuses same questions for online assessment.

Recruiter Screening:

  • Recruiter calls you briefly, maybe 10 minutes. Generic questions (do you know data structures, do you know a search algorithm, etc). No need to prepare for this.

Telephone Screening:

  • 15 minutes behavioural
  • 45 minutes coding
  • Question can be found in Amazon category for Leetcode. It was a tree related question

Virtual On-site:

  • 5 interviews, all 1hr each. 1hr break for lunch.
  • 1st interview: Full 1hr behavioural with team manager.
    • It is difficult to study for this honestly. Read over the LP's and prepare a few stories.
  • 2nd, 3rd interview: 15 minutes behavioural, 45 minutes of coding
    • First one was a simple question, LC easy level. You just need to talk about how you will design your solution.
    • Second one was LC medium tree question. Involved a tree search (both DFS/BFS can work) solution. If you understand trees, you can do well in this question.
  • 4th interview: 15 minutes behavioural, 45 minutes of object oriented design
    • The design was quite open ended. You need to ask questions to clarify things. Then think out loud and your interviewer will help guide you to the right solutions. As long as you are good at thinking aloud, you should be fine here.
  • 5th interview: bar raiser, 15 minutes behavioural, 45 minutes of coding
    • The question was maybe LC medium or hard level.
    • I had the correct approach. Needed some guidance on the details of the algorithm, but I was able to talk through what I was thinking and interviewer was happy.

2-3 days later, recruiter called and said offer.

MY ADVICE

My school was quite good at teaching algorithms and data structures so I had a strong background. I did 110 medium, 10 hard leetcode for preparation. I reviewed LP for maybe 1 week, few hours per day. Use online resources for top 2 most asked per each LP. I did not study for object oriented design.

How to approach LP
Honestly, you just need to be good at speaking. A lot of people mention that you should say LP by name or that you should use STAR format. I did not really do either. I just had a natural conversation with interviewer. They ask question. You speak about a story. Then they follow up with more questions. You answer. It's just a discussion. Don't think it's too tricky.

How to do LeetCode?

  • My advice is to think out loud while doing them. Think to yourself. Write your thoughts in comments as you approach problems. A lot of my solutions have like "maybe we can do x -- but then counter example y" comments in the top of the solution.
  • Once you have an idea of what your algorithm will be, before coding, go check solution. Do not read solution code. Just see if you are thinking on the right line. For example, maybe solution is binary search. I jump to solution, see title "binary search [accepted]" and that's it, jump back to code. Then implement. This is important because in interview, what matters is the 10 minutes you spend thinking of solution. Anyone can write code after you know what the algorithm is. So spend majority of your time doing the thinking. It is waste of time to write code for a bad solution imo.
  • DO NOT USE RUN/SUBMIT. You will not have this in interview, it makes no sense to use this in practice. You should learn how to walk through code manually.
  • 2 days before my interview, I reviewed my 110 medium and 10 hard problems to see if I remember solution or can rethink solution -- I was able to think of correct solution for pretty much all. I think this is a very helpful tip for everyone. It is a good way to refresh everything right before interview.

Best videos to watch for LeetCode problems
I personally watched competitive programmers. When we try to learn football or basketball, we watch professionals, not gym teachers. Competitive programmers are professionals. The "leetcode" YouTubers are like gym teachers. Which one do you think you will learn better from? ;)
Also, most YouTubers do not even do the solution themselves, they just re-explain the LeetCode solution.
My personal favourite is Errichto: https://www.youtube.com/channel/UCBr_Fu6q9iHYQCh13jmpbrg
He has very good lecture series on some topics (his DP one and BS are very, very good).

If you are full beginner, then start with watching detailed explanation/intuition videos:
Tushar Roy is good : https://www.youtube.com/channel/UCZLJf_R2sWyUtXSKiKlyvAw
Back to Back SWE is good: https://www.youtube.com/channel/UCmJz2DV1a3yfgrR7GqRtUUA

Good luck everyone!

Comments (4)