Status: Backend developer at small firm, 2 YOE
Position: SDE1 with AWS
Location: Vancouver, Canada
Date: March 2021
Application Process:
Recruiter reached out on LinkedIn
Online Assessment:
Conducted in Hackerrank
Duration: 2 hrs
Question 1: Array problem, LC Easy
Question 2: Array problem, LC Medium
Behavioral questions: Pick which of the two statements you agree with more, I'm not 100% sure what they're looking for here
My thoughts / performance: Got 20/20 testcases and 17/20 testcases. Was able to explain time complexity but didn't have time to write out process (my code was well commented though). You can just print out the inputs to find the hidden testcases
Virtual Onsite:
4 Rounds, 1 hour each. I signed an NDA so I will only outline the questions
Round 1:
Round 2:
Round 3: (Bar Raiser)
Round 4:
General thoughts on interviews:
The technical questions were much easier than I was expecting, definitely think I siked myself out going into it. The questions were in the Amazon top questions and LC most popular.
Behavioral was fine, definitely prepare multiple stories for this and do a couple mock interviews with friends. This will help you think on the fly when necessary. For dive deep they get really into the weeds with the questions they ask so if its an old story really remember the technical components of it
Programming questions: my tip would be to break the problem down into manageable steps. Algorithmic complexity and beating 99% of solutions is not the goal here. This will make your code cleaner and more maintainable. Really the typical advice applies here, just keep talking and try to be succinct in your logic - always consider whats coming next rather than getting flustered and rambling. What helped me was pointing out areas I would come back to, "Lets assume this is the API/we have this method", "This might fail for edge case [add comment]" and then come back if time permits
Preparation Strategy:
I had about a month all in to prepare so I took it pretty seriously. Did most of the sections/problems in CTCI and maybe 60 leetcode problems total. For the leetcode problems I bought premium (so worth it), did lots of medium problems from the Amazon section and at least read/implemented the hard solutions
I also implemented just about all the algorithms and data structures below. The tree ones I found were very important, you need to really get how a tree works to implement deletes
Data Structures/Algorithms: Linked List (Stack, Queue), Trees (Binary, BST, Trie, Heap/Priority Queue), Graphs (BFS, DFS, Djikstra), HashMaps, StringBuilders
Behavioral I watched Dan Croiters videos, made a good answer for "Tell me about yourself" and "Why Amazon", practiced top 4 stories and wrote at least a couple stories down for each LP (lots of overlap)
Result
Received offer call after three days, spent next week or so in team matching and then concrete offer letter
I feel like a lot of the process comes down to luck, don't be discouraged. I see plenty of people here with many, many more leetcode problems solved and they would've killed this interview and on the other hand if I had 90% of the interviews people list I would've been rejected for sure.