目前是 1 year of experience (+ 1 year interning), BS in Computer Science
Recruiter reached out via LinkedIn. Process took about 4 weeks.
Online Assessment (2 hours)
- 2 code questions in 90 minutes. I don’t remember the specific questions but they were leetcode medium-hard
- First question was making a custom sort
- Second question was a more advanced version of 2-sum (I think, I remember the solution resembling it somewhat)
- All tests passed for the first problem but I ran out of time for the second one and missed a case that caused a few failing tests (but my code was apparently “good and clean”).
- Describe approach and time complexities of solutions in 15 minutes.
- Simple behavioral questions (not leadership principles).
I was a little disappointed with my performance here but the recruiter said I was okay but it limited the positions I was being considered for (I think she said I was originally in line for SDE2).
Phone Interview (1 hour)
- Majority of the interview was computer science trivia questions and some about my work
- Basic “what do you do” type questions
- What is a project you are proud of? (+ further questions about that project)
- Several sorting algorithms and data structures (explain complexities, uses, and specifically how they work) and other CS fundamental concepts questions
- Last ~20 minutes was coding
- Could use a variety of languages but could not run code
- Question was a somewhat more complicated version of https://leetcode.com/problems/concatenated-words/ (had to show the individual words that made up the concatenation and every different way each word could be concatenated)
- Didn’t quite get to finish the recursive part of my algorithm so my solution didn’t handle concatenations of 3+ words yet (wasn’t at a dead end though, just didn’t get there yet)
- No behavioral questions
Received rejection email from recruiter 2 days after the phone interview.
After my performance in the online assessment, I decided to work harder to prepare and scheduled the phone interview a little further down the line to get some extra time. I did ~30 leetcode questions (majority of which I did on paper first while explaining my process aloud), did general studying of data structures and algorithms (online, reviewing material from school, read some of Cracking The Coding Interview ), and studied the leadership principles and prepared stories to discuss for each.
I am pretty disappointed with the experience of the phone interview, if I’m honest. My interviewer seemed very uninterested and was audibly yawning throughout the interview. But the main thing is that from what my recruiter told me, what I read in Amazon’s interview preparation documentation, what I’ve read in CTCI, and what I’ve seen all over the internet (including on this site), I would not have expected so much time to be dedicated to basic CS trivia (ironically, I believe in CTCI it even explicitly says you won’t have to actually explain how merge sort works but I did). This isn’t a problem in the sense that I didn’t remember these things, because I did. There was very little I wasn’t able to answer here because I decided (against what I’d heard) to review these concepts. The problem is that it left me with so little time to show my skills in actual code. Perhaps I’m just not ready for a “Big N” level job yet, but nothing I’ve heard or read (and I feel I’ve researched a lot) gave me the impression that I’d have to completely solve a more complicated version of a hard leetcode question in 20 minutes after being asked to explicitly explain how quicksort works for an entry level position.
I was also disappointed to spend so much time studying something as Amazon-specific as their leadership principles and culture after being assured I would be asked behavioral questions only to be asked 0 behavioral questions (I know most behavioral questions are indirect and not like “tell me how you show customer obsession”, but I am essentially positive that none of the questions asked were intended to assess leadership principles, there wasn’t even a “Why Amazon?”).
I knew from the beginning that, statistically, it was unlikely I would go all the way for this opportunity. I was excited for the chance anyway though and figured I could at least make an impression and learn from the experience, but instead I almost feel cheated in a way. I guess I’ll just have to try again next year. Is this interview experience normal and maybe I’m just not ready yet? Did I mess up somewhere I may not have realized? What are you guys’ thoughts? And sorry for the wall of text
My recent Amazon phone interview had the same three parts: tell me about a project, cs trivia, and coding. I didn’t track the times of various parts, but I’d estimate 5 minutes for the project, 5 minutes for the trivia, and then I had the rest of the time to code.
After having done many of these (as well as several onsites) at over 10 companies in the last few weeks, I think there is just a lot of noise to the process. Sometimes an interviewer sucks, sometimes an interviewer chooses to ask an especially hard problem, sometimes an interviewer chooses to ask a problem that has a specific “trick” that makes it trivial but that you may not see, etc. Anyway, it sounds like your phone interview may have been one-off bad luck with a bad interviewer who didn’t watch the time and asked a harder-than-average question. So I recommend shaking it off, trying not to feel bad, and just moving on.
Thanks for the reply. The first 2 parts were unfortunately about 35 minutes for me but yeah just got to move on I suppose. Good to hear it isn’t always like this though.