Amazon | SDE3 | Manhattan Beach | February 2019 [Offer]

Status: Currently employeed - Principal Engineer.
Position: SDE3 at Amazon
Location: Manhattan Beach, CA

Technical Phone Screen

Total time alloted: 1hr
Language: JAVA

Initial introduction: - 5 mins

2 coding questions:

  1. https://leetcode.com/problems/reverse-linked-list Must not use extra space.. - 20 mins
    • Discussed Stack implementation with using extra space
    • Implemented a LinkedList
      • Talked about constructor and design pattern to create one.
    • Discussed Time and Space complexities.
    • Implemented and then tested using an example.
  2. https://leetcode.com/problems/validate-binary-search-tree - 25 mins
    • Created an example
    • Defined what should be a Binary search tree
    • Needed a hint from the inteviewer for it's implementation
    • Discussed Time and Space complexities.
    • Implemented and then tested using couple of examples.

System architecture question: - 5 mins
Q. How do you guarantee thread safety in your LinkedList implementaion

  • Discussed:
    • static functions
    • Using locks
    • Creating different constructors so that developers can choose to use safe or unsafe structures.

Behavioural Question - 5 mins
Based on past experience.

Questions to the inteviewer - 5 mins

Thoughts

My overall experience was very positive. Throughout the interview we had a lot of discussion and I felt very comfortable.

One thing is that interviewing at Amazon, they take a lot of notes, so be ready to not be distracted as you hear background sounds. The interviewer made sure I am aware of that fact.

Regardless of whether right, wrong of sub-optimal I ensured that I communicate and discuss it with my interviewer.

Received a call the next day and was called onsite.


Onsite

I had 5 rounds and one lunch discussion:

Round 1

  • Breif introduction. 5 mins
    • I kept it really short and simple, a quick 2 mins background about myself.
    • There was some follow up questions.
  • Behavioral question 15 mins
    • Based on past experience.
  • Coding question: 30 mins
    • LRU Cache
      • Completed it with O(1) time and O(n) space.

Round 2

  • Behavioral + Technical Questions. 25mins
    • Again based on past experience
  • Coding question: 30 mins
    • Shortest path
    • Could not complete it.
      • Discussed a lot of alternatives and recurssive and non-recurrsive alternatives.
      • Half implemented both of them
      • Missed edge case of not finding a path

Lunch with an Amazon Buddy

  • Pretty casual.
  • Was explained that this would not count to my interview score.
  • Was asked to relax
  • Had a good discussion of their challenges and competition.

Round 3

  • Behavioral + Technical Questions. 25mins
  • System Design 30 mins
  • 5 mins to ask any questions
    • Was an open-ended conversation.
    • I think I should have done better here, especially discuss more about volume and technologies

Round 4

  • Introduction 10mins
  • Behavioral 20 mins
  • What is the most exciting project you worked on.
    • Explain it's design
    • Why was it challenging?
    • Scale it to 10 million

Round 5

  • Behavioral 20 mins
  • System design 30 mins
  • Questions 15 mins
    • How do you practice scale on your own?
    • Had a wonderful conversation we took longer just discussing technologies.

Thoughts

Overall each interviewer were very polite, helpful, friendly to talk to and punctual.

One thing to keep in mind is that each interviewer took a lot of notes and it was hard to concentrate with the keyboard sounds. So be prepared!

Reading about other people advice, I made sure I had a good breakfast, caffeine and lunch when it was offered. Try to limit yourself when it comes to water, since bathroom breaks are costly. Each interview was on time and there was hardly any time to gather your own thoughts.

I personally kept close eye to my watch ensuring I always time left over and not get stuck dragging.

Within couple of days I got a call from the recruiter and I got an offer :)

Comments (4)