Amazon Software Development Engineer 2

Status: New Grad, MS CS NYU
Position: SDE2 Amazon
Location: Seattle, Washington

Technical Phone Screen(1 hour):

  1. Implement a bounded queue
  2. What test cases would you write for it
  3. How would you make it thread-safe

Onsite (6 rounds) :
Round 1(Technical + Behavioral) - Design amazon caching service(get and put services) with follow-up questions on scalability and restrictions you would like to put on length of key and value. This was followed by a few behavioral questions.

Round 2(Technical + Behavioral) - Add Strings. There was a follow-up question on how to use solution to above to add string represntations of number with decimal points. This was followed by a few behavioral questions.

Round 3 - Lunch and general discussion over lunch.

Round 4(Technical + Behavioral) - Design a system that enables customers to create alerts and notifies them whenever the price goes beyond a certain threshold. There was an elaborate discussion on design with focus on horizontal and vertical scalability. This was followed by a few behavioral questions.

Round 5(Technical + behavioral) - Design an Employee lookup system. Given a List of Strings representing employee names and a string of numbers like “234” return List of names that “matches” the string, where “matches” is defined as follows:
All Strings starting with ‘a’, ‘b’ or ‘c’(The alphabets on key 2 in older keypads) matches string “2”
All strings with first alphabet as ‘a’, ‘b’, ‘c’ and second alphabet as ‘d’, ‘e’, ‘f’ matches “23” and so on. This can be done using dfs on a trie. The linked article was really useful.

Round 6(Techical + Behavioral) - Median of Data Stream. This was followed by a few behavioral questions.

All the Best!