Videos

Amazon System Design Interview: Design Parking Garage



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

Similar Posts

35 thoughts on “Amazon System Design Interview: Design Parking Garage
  1. 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

  2. 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?

  3. 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)

  4. 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.

  5. 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

  6. 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?

  7. 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?

  8. 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.

  9. 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.

  10. 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.

  11. кандидат не выявил первоначальные требования, углубился в структуру данных и в большинстве случаев самостоятельно придумывал задачу, хотя ее должен был описать интервьюер

  12. 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.

Comments are closed.

WP2Social Auto Publish Powered By : XYZScripts.com