Amazon | Seattle Virtual Onsite | SRE2 All 4 rounds

amazon logo
amazon
SRE2Seattle
February 19, 20212 reads

Summary

I completed a virtual onsite interview for an SRE2 position at Amazon, which consisted of four rounds covering system design, data structures, algorithms, and behavioral aspects.

Full Experience

I recently completed my virtual onsite interview for an SRE2 role at Amazon in September 2020, specifically targeting the Seattle EC2 team. The interview process comprised four distinct rounds, each designed to assess different skill sets crucial for the role. The rounds included a Bar Raiser session, a discussion with the Hiring Manager, a round focusing on Design Patterns, and finally, a session dedicated to Algorithms and Data Structures.

Interview Questions (4)

Q1
Doggie Daycare Application Design
System Design

Design a doggie daycare application with the following requirements:

  1. Dogs must be vaccinated to enter.
  2. Dogs less than 4 months old or more than 10 years old go to a special 'kessel' area with a capacity of 20.
  3. Small dogs enter 'small gods playgrounds' with a capacity of 30.
  4. Big dogs enter 'small gods playgrounds' with a capacity of 20.
  5. Dogs can come and go throughout the day.

Implement the basic structure with methods for welcoming and saying goodbye to a dog.


class DoggieDayCare():
    self.kessel = 0
    self.small = 0
    self.big = 0

def welcome_doggie(dogId): pass

def bye_bye_doggie(dogId): pass

Q2
Set with Expiration Date
Data Structures & Algorithms

Design a data structure that functions like a set but also stores an expiration date for each element. The data structure should automatically delete expired elements. Discuss the pros and cons of using a dictionary versus a queue for implementation.

Q3
Implement Publish/Subscribe Pattern
System Design

Implement an EventManager class that supports subscribe and publish functionalities, demonstrating the Publish/Subscribe design pattern.


class EventManager():
    self.event_dict = {}
def subscribe(eventName, callback):
    pass

def publish(eventName, param):
    pass

e = EventManager() e.subscribe('category', lambda x: print(x)) # should print 'event 1' e.publish('category', 'event1') # should print 'event 1' e.publish('category', 'event2') # should print 'event 2'

Q4
Find Words with Prefix
Data Structures & Algorithms

Given a list of words and a list of prefixes, return all words that start with each given prefix.

Example:
Words: ["Apple", "Application", "Banana", "Boore", "Book"]
Prefixes: ["App", "Boo"]
Return: [["Apple", "Application"], ["Boore", "Book"]]

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!