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

Sdílet
Vložit
  • čas přidán 23. 02. 2024
  • Real talk though anyone know Sydney Sweeney's address, asking for a friend
  • Věda a technologie

Komentáře • 31

  • @birmaduwakessa2344
    @birmaduwakessa2344 Před 5 měsíci +11

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

  • @AryanSingh-zn8bw
    @AryanSingh-zn8bw Před 5 měsíci +4

    That intro is CRAZYYYYYY funny, love you man

  • @speed000100
    @speed000100 Před 4 měsíci +1

    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  Před 3 měsíci

      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.

  • @FinesseRK
    @FinesseRK Před 4 měsíci +1

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

  • @hazardousharmonies
    @hazardousharmonies Před 5 měsíci +1

    Another Jordan classic!

  • @BuggyGRT
    @BuggyGRT Před 2 měsíci +1

    Keep up the good work 🎉🎉

  • @martinwindsor4424
    @martinwindsor4424 Před 5 měsíci +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  Před 5 měsíci +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 Před 2 měsíci +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  Před 2 měsíci

      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.

  • @michaelv2555
    @michaelv2555 Před 5 měsíci +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  Před 5 měsíci

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

  • @Ynno2
    @Ynno2 Před 4 měsíci +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  Před 4 měsíci

      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.

  • @yrfvnihfcvhjikfjn
    @yrfvnihfcvhjikfjn Před 4 měsíci +2

    LMAO

  • @adw6579
    @adw6579 Před 4 měsíci +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  Před 4 měsíci

      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!

  • @sdemockinterview322
    @sdemockinterview322 Před 5 měsíci +1

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

    • @jordanhasnolife5163
      @jordanhasnolife5163  Před 5 měsíci

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

  • @lieblius
    @lieblius Před 5 měsíci +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  Před 5 měsíci

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

    • @lieblius
      @lieblius Před 4 měsíci +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  Před 4 měsíci +1

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

  • @maksymkarunos1233
    @maksymkarunos1233 Před 4 měsíci +1

    Jordan, why did you leave google?

    • @jordanhasnolife5163
      @jordanhasnolife5163  Před 4 měsíci +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 Před 5 měsíci +2

    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.