Grateful to get an offer from Amazon! Unfortunately I can't share the specific problems, but they are all somewhere in the Amazon Leetcode list. A recruiter reached out to me, and I interviewed for the specific team.
Status: new grad, BS CS "high"-tier university, internship at finance company
Position: SDE-1 at Amazon
Location: Seattle
Date: April 20
Round 1: Hiring Manager
- A lot of LP questions.
- For a few of the projects I worked on, he asked me how I designed the architecture, my justification for the design, and what I would do differently.
- 15 min chat at the end.
Thought I did well. I really enjoy talking about my projects, so it felt very natural.
Round 2: PM
- All LP questions.
- 15 min chat at the end.
Thought I did good. The questions were standard LP but I felt myself getting tired of talking non-stop.
Round 3: Bar Raiser
- 25 min LP questions
- 25 min technical question. LC medium (DFS on matrix) and follow-up that's also LC medium.
- 10 min chat at the end.
My interviewer was the nicest interviewer I've ever had, 10/10 person. I thought I did well, though it was a bit challenging to do both the question and the follow-up within 25 min.
Round 4: SDE
- 25 min LP questions
- 25 min technical question. LC medium/hard string problem that uses DP/recursion
- 10 min chat at the end.
My weakest round. I solved the question but stalled a bit when analyzing the time/space complexity. I think I came up with the correct answer eventually, but it definitely didn't look good. I also couldn't gauge from my interviewer how well I was doing.
Round 5: SDE
- 15 min LP questions
- 35 min technical question. Relatively easy "return elements by frequency", but followed by how I would scale the code for very high volume.
- 10 min chat at the end.
The coding part for the technical question was not too bad — I've done a lot of questions with frequency maps and sorting. However, the system design portion caught me off guard, because suddenly I had to talk about horizontal scaling, load balancing, and caching. Luckily, I studied system design before the interview, and the interviewer seemed satisfied with my answer.
THOUGHTS ON THE INTERVIEW
- In the technical rounds, I got a surprising amount of LP questions, which meant less time for me to do the technical questions. Luckily, they weren't too difficult.
- My interviewers were so nice! Very positive experience.
- The turnaround time was super fast. I got the offer within a week after I interviewed.
TIPS
- There is a myth going around that you can't repeat answers to LP questions between multiple interviewers. This is definitely false and it makes no sense -- many LP have some sort of overlap, so it's fine if you have the perfect scenario for multiple questions.
- On the subject of LP principles, definitely study them. I read this Medium post very carefully, and it ended up being super useful. You don't need to memorize all 14 LP, but just come up with 3 or 4 scenarios that you could relate back to them and talk a lot about.
- When doing Leetcode problems, do NOT aim for a number, like 300 problems, for example. Quality > quantity. If you do not understand the algorithm 100% and cannot rewrite the solution from memory, then you did not do the problem. DON'T copy-and-paste solutions from Discuss. In fact, after you finish your solution, make your own Discuss post and write an explanation of your solution to solidify your understanding.
- I hate to say it, but studying the Amazon LC list helped a lot. Premium is worth it.
- I studied for the system design portion by reading the System Design Primer. I did all the practice problems and drew out their diagrams.
- Be sure you can talk aloud while coding, because it is actually very hard. Whenever I practice a Leetcode problem, I like to say my thought process aloud as if I'm in an actual interview. If you keep doing this, you will be a pro at communicating what you're doing in the real interview.
- Do many mock interviews. It's important to sound confident and excited. Many people I've mock-interviewed sound too nervous or shy, or they're just too quiet. Please, have some energy. I used P r a m p to practice and did around 10 mock interviews before my real interview . (Disclaimer: the link is a referral link, but I don't make any money -- the service is completely free)
If you guys found this helpful, leave an upvote! :)