Interview with an Amazon engineer.
An Interview with an Amazon engineer
Watch someone solve the calendar system problem in an interview with an Amazon engineer and see the feedback their interviewer left them. Explore this problem and others in our library of interview replays.
Design a Calendar for 100 Million Users: Senior/Staff System Design Interview w/ an Amazon Engineer - YouTube
Interview Summary
Problem type
Calendar System
Interview question
Design a Calendar System for 100 Million Users
Interview Feedback
Feedback about The Mighty Platypus (the interviewee)
- Advance this person to the next round? Yes
- How were their technical skills? 3/4
- How was their problem-solving ability? 3/4
- What about their communication ability? 3/4
- Slightly Towards hiring.
- Can improve on functional requirements.
- Can do better job in overall design.
- Needs more practice.
- Talk about operational excellence towards the end of the system.
Feedback about Phantom Dictaphone (the interviewer)
- Would you want to work with this person? Yes
- How excited would you be to work with them? 4/4
- How good were the questions? 4/4
- How helpful was your interviewer in guiding you to the solution(s)? 4/4
Interview Transcript
The Mighty Platypus: I'm a software engineer. I have about 12 years experience, something like that. It's hard to say exactly how many years because I started when I was very young. But yeah, so I'm targeting like level 5, level 5, level 6. We'll see what type of leveling actually makes sense at Amazon.
Phantom Dictaphone: So there has, so there is a big difference between hiring bar for L6 and L5. So I want to be very like, I want to understand, like, for example, at Amazon, are you going for L6 or L5 FD2.
The Mighty Platypus: So that would be now five. Okay. Okay, cool.
Phantom Dictaphone: Quick intro about myself. So I am presently a G3 at Amazon, have around 11 years of work experience and I've been with Amazon for almost six, more than six years now and have taken close to like 200 interviews in Amazon.
The Mighty Platypus: So.
Phantom Dictaphone: So yeah, that's about me.
The Mighty Platypus: Yeah. Are you a... Sometimes I have stats on it. Are you, are you lenient? Are you hard? Like, what's your.
Phantom Dictaphone: I am, I will not call. Call myself as hard. I'm like, pretty much what I have realized. Like, I'm just at the bar basically.
The Mighty Platypus: Okay.
Phantom Dictaphone: So what we want to do is I believe like everyone has used calendar systems. Correct? Like you must be using it in your company.
The Mighty Platypus: Correct? Yeah.
Phantom Dictaphone: So what we want to do is we want to. So consider the calendar is given to you. You want to basically add a functionality for event management.
Functional Requirements
- Create event - Allow users to create events.
- Event management - Ability to manage meeting creation and invitations.
- Retrieve events - Users should be able to view their events.
- Notifications - Notify users about upcoming events.
Non-Functional Requirements
- System should handle up to 100 million users.
- Daily active users expected to be around 10 million.
- Should achieve low latency in event retrieval.
- High availability needed for all users.
High-Level Design
- Users interact with a load balancer that distributes requests to server instances.
- Servers communicate with a relational database for storing events and user information.
- Event notifications are handled through a separate notification service.
- Implement caching for frequently accessed data to improve retrieval times.
This interview showcases standards expected in system design interviews and how to effectively articulate requirements, constraints, and design decisions.