13: Google Maps | Systems Design Interview Questions With Ex-Google SWE

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.ย. 2024
  • Real talk though anyone know Sydney Sweeney's address, asking for a friend

ความคิดเห็น • 33

  • @birmaduwakessa2344
    @birmaduwakessa2344 7 หลายเดือนก่อน +15

    when people say Jordan is the GOAT, I think of this Jordan

  • @AryanSingh-zn8bw
    @AryanSingh-zn8bw 6 หลายเดือนก่อน +5

    That intro is CRAZYYYYYY funny, love you man

  • @speed000100
    @speed000100 5 หลายเดือนก่อน +3

    Great video Jordan. The attention to detail is incredible. Suggestion: You could consider adding additional feature - how would active users ( who are current travelling from source to destination ) get real time updates on traffic condition + suggestion on alternate best route. Pull : May be user at regular intervals requests for revised ETA from their current location to destination OR Push: alternate best route to active users

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 หลายเดือนก่อน +2

      Yeah this is an interesting one! If I had to make a solution right off the bat, I'd probably have a table from short road ID: userIds that are currently on a route taking that short road (they get removed from the table after they pass it). That way, if we change a short cut road, we know to notify those users to recalculate their route.

  • @raymondllata2429
    @raymondllata2429 12 วันที่ผ่านมา +1

    Awesome video, why do you not use A* instead of djikstra? I feel like L2 distance is a solid enough heuristic and may be faster?

    • @jordanhasnolife5163
      @jordanhasnolife5163  11 วันที่ผ่านมา

      Probably so, just 1) I'm less familiar with A* 2) Didn't feel like it was that important for the system design interview if more people are familiar with Djikstra's it may be easier to teach

  • @FinesseRK
    @FinesseRK 6 หลายเดือนก่อน +1

    Really enjoyed and learnt a lot from this video! Thanks ❤‍🔥

  • @Ynno2
    @Ynno2 6 หลายเดือนก่อน +1

    I don't think the full graph of road networks is actually that big. Offline satellite navigation systems have existed since the 90s. Those early systems couldn't fit the whole world on them, you'd have to switch a physical medium if you left your region. I remember the entire USA road network fitting on a 2GB SD card in 2010-ish, which also included the address database and physical map geometry, not just abstract connected graph data.

    • @jordanhasnolife5163
      @jordanhasnolife5163  6 หลายเดือนก่อน

      Haha that makes sense! I imagine the roads themselves may not be that big, but when you actually factor in the locations on the roads/individual addresses it becomes much more of a large graph.

  • @hazardousharmonies
    @hazardousharmonies 7 หลายเดือนก่อน +1

    Another Jordan classic!

  • @michaelv2555
    @michaelv2555 6 หลายเดือนก่อน +1

    Nice video, just want to ask to use some different colour when you draw/write smth on a diagram that you prepared beforehand. It sometimes hard to follow
    p.s. I'd be glad to see the design of Google Faps btw

    • @jordanhasnolife5163
      @jordanhasnolife5163  6 หลายเดือนก่อน

      I see the design around once per day - nice suggestion I may do this soon!

  • @martinwindsor4424
    @martinwindsor4424 6 หลายเดือนก่อน +1

    Please do a google calendar system design. There are very few videos of it and most of them don't support recurring events and their edits. Thank you once again.

    • @jordanhasnolife5163
      @jordanhasnolife5163  6 หลายเดือนก่อน +1

      Interesting thought - see from a systems design perspective I don't know how challenging this one is but you should definitely look up the recurring calendar problem, there's a paper on it I believe

  • @priteshacharya
    @priteshacharya 4 หลายเดือนก่อน +1

    How does shortcut edges dependencies gets updated? I see an arrow from Graph -> Shortcut Edge dependencies table. Is there a cyclic dependency from Flink (roadETAUpdates) -> graphs -> shortcut edges db -> Kafka -> flink again?

    • @jordanhasnolife5163
      @jordanhasnolife5163  4 หลายเดือนก่อน

      Yep! You can either do that if you have arbitrary numbers of shortcut edges, or you could just edit all of the graphs at once from flink originally off of a road ETA update.

  • @BuggyGRT
    @BuggyGRT 4 หลายเดือนก่อน +1

    Keep up the good work 🎉🎉

  • @adw6579
    @adw6579 6 หลายเดือนก่อน +1

    how do you handle querying the sparse map if the start/end nodes are in different partitions.
    you would have to do cross partition traversal
    i guess you could use the more sparse graph, but then you lose accuracy
    also, what reference did you use to create this video? i want to read more about it

    • @jordanhasnolife5163
      @jordanhasnolife5163  6 หลายเดือนก่อน

      It's a tradeoff - I'd say use the sparser graph, but you could also deal with a cross partition traversal.
      I'd just start googling contraction hierarchies and go from there!

  • @lieblius
    @lieblius 6 หลายเดือนก่อน +1

    Just had a design interview, punching out of my weight class given my experience so I struggled a bit. High level was alright and even some specifics. The biggest issue though was addressing technology specific questions. Not about trade offs but more about how I am actually interacting with each technology code-wise. Half of these I’ve never actually used so those questions were unanswerable for me. For the future I think maybe running through docs examples in code for all of these components before I use them in a design interview could help me with those kind of questions.

    • @jordanhasnolife5163
      @jordanhasnolife5163  6 หลายเดือนก่อน

      Seems like reasonable next steps! Definitely would be curious to hear more about what you felt stuck on

    • @lieblius
      @lieblius 6 หลายเดือนก่อน +1

      @@jordanhasnolife5163 Just general questions. I might say something like let’s use X here and they might ask “how would you implement that”. I assume I can still answer that on a high level but there is a decent amount of abstraction assumed in these interviews like maybe some system in front of the db you don’t feel you have to draw a box for. A lot of times I stumbled on the answers if you go down to a very granular level on how the data is flowing through the system. I missed a few services that are sort of implicitly assumed and usually skipped for the sake of time in an interview, but I should be able to answer if they ask.
      As for future videos, I’d be interested in seeing how you would approach a problem where scale is large but only for a portion of the problem. At a high level imagine being a portal between some low performant external system and having it be as available and fast as possible for a massive user base. Can’t change this system though so you have to build around it.
      Also I have some feedback now. Was moved a level lower but continued in the process and just got an offer, these videos definitely helped me get there so thanks!

    • @jordanhasnolife5163
      @jordanhasnolife5163  6 หลายเดือนก่อน +1

      @@lieblius Congrats, and sounds like a good starting point to work on!

  • @maksymkarunos1233
    @maksymkarunos1233 6 หลายเดือนก่อน +1

    Jordan, why did you leave google?

    • @jordanhasnolife5163
      @jordanhasnolife5163  6 หลายเดือนก่อน +2

      Well I'd write it here, but I made a whole video about it when I quit, so I'll let myself speak for myself

  • @AbdulsattarMohammedMd
    @AbdulsattarMohammedMd 7 หลายเดือนก่อน +3

    Audio and video are way out of sync. It looks like you're saying something but drawing something else. Makes it a little difficult to watch your otherwise excellent videos.

    • @AbdulsattarMohammedMd
      @AbdulsattarMohammedMd 7 หลายเดือนก่อน +2

      e.g. 21:26 you're saying this road, but not pointing at anything.

    • @jordanhasnolife5163
      @jordanhasnolife5163  7 หลายเดือนก่อน +1

      Noted will try to improve for future

  • @sdemockinterview322
    @sdemockinterview322 7 หลายเดือนก่อน +1

    How do I get in touch with you? Can I have your discord ?

    • @jordanhasnolife5163
      @jordanhasnolife5163  7 หลายเดือนก่อน

      I don't really use discord, here's my LinkedIn - www.linkedin.com/in/jordan-epstein-69b017177?

  • @yrfvnihfcvhjikfjn
    @yrfvnihfcvhjikfjn 6 หลายเดือนก่อน +2

    LMAO