Amazon New Grad Final Round (3 Virtual Interviews)

Timeline:
04.05.19 OA1: 7/7 for debugging followed by a 24 MC amcat test
04.06.19 OA2:

  • Return a list of strings that contain K distinct characters with size K from a given string. 1 testcases passed but I had the overall solution with a hashmap down. Ran out of time before I could fix bug.
  • A graph question involving Amazon delivery trucks using a modified form of dijkstras algorithm and a priority queue. All test cases passed.
  • Work simulation. Study the leadership principles and answer the questions accordingly based on them.

04.29.19: Invite for 3 virtual final round

05.08.19: Completed 3 virtual final rounds
Prepared about 10 different stories regarding Amazon’s leadership principles. This cannot be overlooked. At this point in the process, a good behavioral score can outweigh a poor technical round.

Round 1: 25 min of behavioral followed by 20 min to solve Reverse Polish Notation. I gave two approaches, one using stacks and one using queues. I chose queue implementation but the implementation is a little trickier. The interviewer was extremely helpful and felt more like a collboration to solve the problem together than anything else. I couldn’t fix the bug in time using queue implementation but the interviewer had pointed out my first approach would’ve been solid if I evaluated the expression while processing the string rather than processing the string first in the stack and trying to evaluate when the stack is full which was my original approach.

Round 2: 30 min of behavioral followed by 15 min to solve the question Triangle. I had 15 min to solve the problem, and I actually did not end up writing any code unfortunately. I only had enough time to explain a complete brute force approach followed by its time complexity. He pointed out that DP would’ve been the optimal choice but I was not thinking straight. Had I had another 10-15 min to solve the problem, I would’ve gotten to it eventually though but oh well.

Round 3: 25 min of behavioral followed by 20 min to solve a OOD question. Question is not on leetcode: Design a class to evaluate an expression tree. Design the data structure for the tree and write a class to evaluate the tree. Assume another developer wrote the code to parse the tree. Write a method to evaluate the tree and return an int value. This was my best round, and doing the question from the first round prepared me for this crazy enough. I solved the question to the interviewers satisfaction using a node data structure with a String for its data. I had one stack to process the numbers in the nodes, and another stack for the operands. After that, the evaluate method was very similar to my first round and was easy to solve.

Tips for behavioral:
BE HONEST. As this is a new grad role, the expectations are generally lower but be prepared to answer questions such as:

Tell me a time you had a deadline and what you did when you knew you couldn’t make it in time
Tell me a time you had a conflict at work or working on a project at school with a group
Tell me about your most challenging project

Be ready to dive deep (one of the leadership principles) into the projects and work experiences on your resume. You will be asked follow up questions to call out BS on your experiences regarding what you did specifically. The third interviewer actually saw my GitHub beforehand and we talked about a couple projects I did that was on there. Be prepared for ANYTHING.

I prepared like crazy using the Amazon card and premium tagged questions, but the first two questions were so low frequency I never did them… lol. The first question isn’t even on the 6th month frequency list. Basically, know your data structures in and out. If you have that done, the interviewers will help guide you. Just don’t depend on their hints too much but by all means, if given a hint, do not ignore it. Have them clarify it again if you must. But as soon as you ignore a hint, you’re done.

I’m currently waiting interview results. I will update the post accordingly.

1 Like