Break into the Big Four

Amazon SDE Interview Preparation

Jake Cyr
3 min readOct 2, 2020
Amazon app on phone
Photo by Christian Wiediger on Unsplash

I took the Amazon Software Development Engineer II interview about 2 months ago, prepping for about one week. The interview itself wasn’t as bad as I expected, but I’m still glad I prepared.

Interview Sections (Onsite)

  • Coding (2–3 questions)
  • OOO design question
  • Systems design (usually one question)
  • Behavioral questions (leadership principles)

Leadership Principles

Make sure you are familiar with the leadership principles and that you can provide real examples from your past professional experiences for each of them. You will probably be asked for examples for most of them. Make sure you also have backup examples in case the interviewer wants to go into more depth.

The most important leadership principle that you hear everyday working at Amazon is Customer Obsession!

Here are the leadership principles:

Coding Interview

Some basic tips:

  • Explain everything you’re thinking and doing (think out loud)
  • Write clean, production level code (no pseudo code)
  • Test all border cases while thinking out loud
  • Try to start with the most optimal solution, but if you can’t think of one, start with a brute force solution and optimize from there. It’s better to have something to start with then nothing at all

Some topics to review:

  • Dijkstra’s shortest path between nodes in a graph
  • BFS / DFS
  • Recursion (ex. Fibonacci)
  • OOO Principles. I had to design an API and class diagram for a basic parking lot problem
  • Sorting / Searching methods (know how they work. Don’t have to implement from scratch, but know how to use libraries and tradeoffs between). For example, I used the JavaScript sort method during my interview and mentioned that Chrome uses Quicksort and stated the time complexity.
  • Know all data structure operation costs and memory complexity
  • Other stuff you learned in your algorithms class 🤓

Practice problems:

Below are some practice problems I’ve found online that are commonly asked:

  • Merge two sorted linked lists
  • Find largest palindrome in sentence
  • Verify string has properly closed parenthesis
  • Given a matrix traversal, track all visited items
  • Reverse a linked list
  • Design a snake game using OOO techniques

System Design

During the interview, you will be expected to design a system, laying out all components and describe their interactions. You should focus mainly on scale and avoiding downtime. Also, make sure you can discuss tradeoffs in your design. Think out loud!

I would make sure to watch this video (I watched it three times taking notes):

Some things to make sure you know after watching the video:

  • Issues with sessions when using distributed systems
  • Load balancer
  • Issues with round robin load balancing
  • Horizontal scaling
  • Vertical scaling
  • Map reduce for large datasets
  • RAID
  • Distributed caching
  • Service-oriented architecture
  • High-availability database architecture

Other helpful references:
https://www.linkedin.com/pulse/how-interview-amazon-leadership-david-anderson

--

--

Jake Cyr
Jake Cyr

Written by Jake Cyr

Proficient in AI and cloud tech, advancing systems development with a commitment to continual growth.

No responses yet