Design Ticketmaster - System Design Interview (with Senior Amazon TPM)

preview_player
Показать описание

A Senior Technical Product Manager at Amazon, delves into the intricacies of system design with a comprehensive breakdown of creating Ticketmaster, a robust ticket booking platform. Sam explores the challenges and solutions associated with building a system that can handle massive user traffic, ensure data consistency, and provide an optimal user experience.

Chapters (Powered by ChapterMe) -
00:00 - Intro
01:13 - Ticketmaster-style ticket reservation system
03:00 - Creating scalable secure renovation system
04:40 - API endpoints for events, seats, registration
08:26 - Post purchases, check history, estimate system size
09:18 - How many events can be calculated using ticket reservation systems
14:48 - Managing big event tickets efficiently
17:56 - Data schema for event management
21:22 - Add event IDs, user ID, credit card information
24:51 - Separate purchase tables for users with no accounts
27:02 - User IDs and ticket retrieval options
28:54 - Handling large events with multiple users
31:03 - Multiple requests for seat availability
33:10 - Double booking risks mitigate with asset-based transactions
36:57 - Changing seat status in database
43:05 - Optimize database for popular events
48:01 - Discussing topics in interview flow
50:05 - Treat problems like a working relationship with a coworker

Watch more system design videos here:

ABOUT US:
Did you enjoy this video? Want to land your dream career? Exponent is an online community, course, and coaching platform to help you ace your upcoming interview. Exponent has helped people land their dream careers at companies like Google, Microsoft, Amazon, and high-growth startups. Exponent is currently licensed by Stanford, Yale, UW, and others.

Our courses include interview lessons, questions, and complete answers with video walkthroughs. Access hours of real interview videos, where we analyze what went right or wrong, and our 1000+ community of expert coaches and industry professionals, to help you get your dream job and more!

#SystemDesignInterview #TechInterviewPrep #systemdesigninterviewprep #systemdesigninterview #systemdesign #systemdesignquestions #SystemDesignBreakdown #RobustTicketBooking #OptimalUserExperience #tryexponent #mockinterview
Рекомендации по теме
Комментарии
Автор

a lot of current system design videos including this one, lean towards an object-oriented design with box drawing, which might not meet the expectations for senior or higher-level discussions.

I look forward to future opportunities for in-depth conversations on topics like resilience, scalability, availability, fault tolerance, data consistency, and their associated trade-offs.

kevinding
Автор

Great. A small suggestion: Seat table contains isAvailable. However if there are multiple shows in same theatre, this variable doesn't have connectivity with associated event. Hence, we need either 1) eventId in same table, where for every event+seat you need to have a separate row or 2) Separate table that shows availability of seat for every event, hence containing eventId+seatId together.

PratikShah
Автор

In my opinion, system design is essential for every engineer, so I think it's a great learning resource.
I am grateful for the content!

KY-enns
Автор

Mentioning that you plan to store user credit card numbers in the database is likely to lead to a failed interview.

WuCao-lv
Автор

These videos should go quickly into edge cases and how we solve otherwise.. its no brainer stuff!

hydtechietalks
Автор

If you don't get a chance to demonstrate all of your skills during the system design interview, that's okay; interviewers aren't always as knowledgeable as you. This could imply that the system's depth/horizon is highly dependent on the outcome of the conversation.

I've been watching this great channel for a while, and I believe that having good communication skills is more important than system design itself in most system design interviews.

Returning to the question. If I were conducting the interview, I would probably go into more detail about how to make the system more scalable, especially given the popularity of some of the events. I'd expect the interviewee to discuss rate limiting, write-back cache strategy if needed, optimistic lock for query and pessimistic lock for update, as well as some tradeoffs. If the interviewee can discuss how to resolve the issue by working with PMs, that is also very beneficial because tech may not be able to solve all of the issues. Sometimes we need to change our minds.

kh-biyx
Автор

We need a domain driven design approach to these system design interview videos please

Rhy-vddg
Автор

yeah, I am not clearing my interview tomorrow. But thanks for the video

shashankaggarwal
Автор

Thank you! Yours videos are helping me a lot.

gabrielferreira
Автор

He did an incredible job! Thanks for this, very helpful!

codewithglen
Автор

you could use ttl to manage reservations

nikschuetz
Автор

You don't have to buy the exact seat. You can buy a seat in one group that is close enough. Also, last 5-15% per group, you don't have to be able to buy online. With this approach, you would have less than 95% of his design's choke points. It would be much cheaper and easier to create.

For the deadlock, you don't have to update the row, you can just add additional row that states that some row is taken. Much cheaper than update, and no deadlock. Getting n items (where n is max number of seats) is cheap.

coolYk
Автор

why spent so much time on table schema design?

grhaonan
Автор

What is the app used to take notes on?

komilp
Автор

Why designing under DB this make don't scalable code? why non't ddd?

Sebastian-zscp
Автор

Using verbs for POST endpoints in api design... hmm...

ihsannuruliman