Exponent
Don’t leave your system design interview to chance. Make sure you’re interview-ready with Exponent’s system design interview prep course. https://www.tryexponent.com/courses/system-design-interview
Don’t leave your system design interview to chance. Sign up for Exponent’s system design interview course today: https://bit.ly/3NDsBIA
Watch our mock Amazon system design interview. Neamah asks Timothy, Amazon/Airbnb software engineer, a question on how to design a reservation and payment system for a parking garage.
Watch more videos here:
– Amazon SDE answers binary tree question: https://youtu.be/thkuu_FWFD8
– Google SWE answers algorithms interview question: https://youtu.be/NRRyk0XqkkA
– Google TPM answers Tiktok system design interview question: https://youtu.be/Z-0g_aJL5Fw
– Microsoft SWE answers algorithms interview question: https://youtu.be/oD1m1iREKB4
👉 Subscribe to our channel: http://bit.ly/exponentyt
🕊️ Follow us on Twitter: http://bit.ly/exptweet
💙 Like us on Facebook for special discounts: http://bit.ly/exponentfb
📷 Check us out on Instagram: http://bit.ly/exponentig
ABOUT US:
Did you enjoy this interview question and answer? 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. Get access to hours of real interview videos, where we analyze what went right or wrong, as well as our 1000+ community of expert coaches and industry professionals, to help you get your dream job and more!
#systemdesign #amazon #airbnb #swe #tech #entrepreneurship #parking #exponent #tpm
Chapters –
00:00:00 Introduction
00:00:37 Question
00:00:53 Clarifying questions
00:02:55 Answer
00:03:11 APIs
00:09:34 Scale
00:10:55 Data types
00:19:56 Design
00:23:27 Trade-offs
00:26:15 Interview analysis
00:28:33 Tips
Source
Want to learn how to think about answering system design questions like designing a parking garage? Sign up for Exponent's system design interview course today: https://bit.ly/3NDsBIA
What is that tool used by the system designer interviewee? Thank you
seems reasonable
Beginning – the game of thrones season 1
Ending – the game of thrones season 8
What tool are you using for this? Looks beautiful! I would definitely try it!
I would have added the search service as per location to search the garage in that particular location.
Which app do you use for the design?
I'm glad she's not interviewing me, because I'll be spending more time trying to get her number
Honestly a pretty good solution considering Tim said he'd only be an engineer for a couple of years.
Here are some of my suggestions/critiques on what could be improved imo:
– Start with the high level system design; this will help inform the lower level design choices (like the API endpoints)
– There was no endpoint for customers to view available spots; probably the FIRST thing a customer would look to do on any UI
– A status enum on the spot table only really works if you can only make real-time reservations, and not in advance. And for a web/mobile UI, an in-advance reservation system is the only thing that makes sense (hence the consistency requirement)
– Read replicas for consistency = bad, I'd opt for NoSQL for horizontal scaling. The write requirements for this design are minimal
– Create account and login are not internal endpoints
– I'd consider an as-serverless-as-possible design to keep costs low (modern serverless solutions are easy to implement, scale and extend) – AWS API gateway as the entry point backed by lambdas to retrieve available parking spot info. An AWS Step function workflow(s) would orchestrate everything to do with making the reservation (take payment, create reservation, issue receipt, email receipt etc), but a monolith for this scale of problem seems fine too
Great job done on this one, I really liked Tim's in-depth thinking process throught the interview.
However, I haven't understood why the /login endpoint is considered to be a private endpoint. Clients will most likely be using it directly, doesn't it mean we should mark it as public?
Anyone know what tool he’s using for diagramming? 20:55
every system built from top to bottom. Every design must have KPI, like for example latency, data consistency, hardware minimization, etc.
Build your business cases->build your kpis->build your constraints(starting, base, hi load)->build helicopter view design->start implementing servises.
Data structure is the last because it just how you will store and read data. Thats not OOP.
And the more you brake your data per service the more simpler will be management of all this. Making one storage for all is big mistake for hi load and big systems(for blog or simple startup its ok)
I think the decision of using Zipcode for the location of the garage is really odd. He kind of glosses over the reasoning; I don't know why he needs the location. But I think using Zipcode is making an assumption that this app is to be used only inside the USA? Postal codes behave differently in each country, and I suspect there's some porperty of USA zipcodes that's implicitly being used. But not being familiar with them, it just seems like a weird choice.
very helpful! but i dont understand why this video has 1.1M views as opposed to the other videos on the playlist. the others have much more complex problem to brainstorm
Why does Exponent hire coach who works for Chinese Government to repress Tibetans and Uyghurs via mass surveillance? I am from Tibet. A coach listed on Exponent is an insider of U.S. blacklisted CloudWalk Technology wholly owned Honghuang AI technologies in China who hurts our family and friends from Tibet and Uyghurs (https://en.wikipedia.org/wiki/CloudWalk_Technology and https://home.treasury.gov/news/press-releases/jy0538). Why does Exponent act as a conduit for that insider to earn money from U.S. consumers to fund anti-human rights activities in China to repress our family and minority groups? Why does Exponent act as a conduit to leak technological information to people who work for Chinese government supported company?
Interviewer is beautiful 😊
Didnt think Bro would be a gym bro.
Very insightful. Does anyone know the tool that Tim used to present the ideas and the schema please?
🙏👍
Super well thought through and implemented! Thank you for posting this interview!
Much appreciated!
It would be nice if the interviewee showed how to find available garages based on that data and also how a spot Will be transformed into a free spot
What is the app they are using for note taking ?
1 of the finest
Can someone tell me which app is being used to write down all the data, eg, tables, apis etc. what is this app?
Question the interviewer skipped which are very important.
1. How would you handle consistency? Like how would you avoid 2 or more people from trying to reserve a same spot?
2. Which type of database you choose and why?
3. How would you handle data replication lag? What if you get an outdated data from one of the replica?
I'm going to start a drinking game with my buddies where we take a shot every time Tim says "seems pretty reasonable". Although, we may die of alcohol poisoning by the end of the video.
Man I hate this guy — he's too confident.
@2:28 if the rate is based on time than isn't it not a flat rate?
which application he is using anyone can let me know please ?
Shouldn't you be asking more indepth questions for the choice of DB rather than getting the answer that it's something that I prefer? You'll straightaway be rejected in an actual interview. I've given 3 interviews and all of them went in deep with the type of DB to use and then needed a strong justification.
And you can go through all this stress and nonsense and get a "Thank you for your interest in Company and your behavior and technical interviews. Unfortunately, we will be moving forward with other candidates" email. 🤣
A principal co-worker of mine said Tim wouldn't get past this step for him. Just shows part of this is subjective to the person conducting the interview. Another barrier to get through on top of Leetcode.
what is the system design of your hairs
кандидат не выявил первоначальные требования, углубился в структуру данных и в большинстве случаев самостоятельно придумывал задачу, хотя ее должен был описать интервьюер
While it's popular to always add read replicas, this is probably one of the few systems where the ratio of reads to writes is actually much lower than the average reservation or consumer goods system. In most systems reads are much higher than writes because people might be looking at different products (e.g. Amazon) or options (e.g. Expedia) but only actually purchasing the one option they choose. In a parking reservation system people don't browse, they just say "I want a compact spot at this location between 1 and 3PM" and the system says "There's one available" and the user reserves it. It's not like they're going to look at a bunch of different compact spots to choose the best one.