System Design

Wes and Kevin

Software Engineers Wes Moncrief and Kevin Li discuss aspects of the system design interview, as well as related topics in designing large and interesting software architectures. If you're new here, I'd suggest starting with the episode "Facebook Timeline Interview". I'll also note that our first few episodes had lower quality audio than our subsequent episodes.We'd love to hear any listener feedback - email us at [email protected]

  • 32 minutes 40 seconds
    Dropbox Interview

    Kevin asks Wes to design Dropbox, with an emphasis on designing the data model and storage techniques to scale out.

    Helpful links:
    https://www.geeksforgeeks.org/design-dropbox-a-system-design-interview-question/

    https://www.youtube.com/watch?v=PE4gwstWhmc

    https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

    https://www.ibm.com/cloud/learn/object-storage

    28 February 2021, 5:00 pm
  • 26 minutes 5 seconds
    Distributed Caches

    As Kevin prepares to start a new job at Instacart, he explains some ideas around how a company like Instacart could employ caching to improve the scalability of their services.

    Show notes:

    https://medium.com/datadriveninvestor/all-things-caching-use-cases-benefits-strategies-choosing-a-caching-technology-exploring-fa6c1f2e93aa

    https://ieftimov.com/post/when-why-least-frequently-used-cache-implementation-golang/

    https://github.com/donnemartin/system-design-primer#cache

    https://memcached.org/  

    https://redis.io/

    14 February 2021, 5:00 pm
  • 31 minutes 7 seconds
    Message Queues

    Wes and Kevin talk about message queues, the problems they solve, and how they work. 

    https://github.com/donnemartin/system-design-primer

    http://highscalability.com/all-time-favorites/

    https://netflixtechblog.com/

    https://www.rabbitmq.com/tutorials/tutorial-one-python.html


    P.S., Wes learned how to edit podcasts better thanks to this guide - https://podigy.co/podcast-editing-guide/, hopefully this podcast has the best audio quality yet!

    6 December 2020, 6:00 pm
  • 30 minutes 14 seconds
    SQL vs noSQL Databases

    Breaking away from the interview format, Wes and Kevin deep dive into SQL vs noSQL databases.

    Show notes:

    ACID compliance - https://mariadb.com/resources/blog/acid-compliance-what-it-means-and-why-you-should-care

    CAP theorem 
    https://www.ibm.com/cloud/learn/cap-theorem
    https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem
    Cool article explaining the problem with saying you can have 2 out of 3 properties of CAP
    http://martin.kleppmann.com/2015/05/11/please-stop-calling-databases-cp-or-ap.html

    MongoDB - https://docs.mongodb.com/manual/introduction/

    17 October 2020, 6:00 pm
  • 34 minutes 24 seconds
    Facebook Timeline Interview

    Wes asks Kevin to design the Facebook/Twitter Timeline with an emphasis on scaling to a large number of users.

    I'd encourage you to pause where relevant to try to think through these designs yourself - it really helps the content sink in.

    Helpful Links

    RabbitMQ quick start documentation - https://www.rabbitmq.com/getstarted.html

    Apache Kafka introductinon - https://kafka.apache.org/intro


    16 September 2020, 3:00 am
  • 43 minutes 47 seconds
    Google Docs Interview

    In our first episode, Kevin gives Wes a mock interview on how to design google docs. 

    Helpful links

    The git storage technique we referenced is described in detail here - https://hypirion.com/musings/understanding-persistent-vector-pt-1 (Note that this is not git, but the same technique applies)

    Website with algorithm for merge conflict resolution - https://operational-transformation.github.io/

    15 September 2020, 3:00 am
  • More Episodes? Get the App
© MoonFM 2024. All rights reserved.