Episodes

  • Dropbox Interview
    Feb 28 2021

    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

    Show more Show less
    33 mins
  • Distributed Caches
    Feb 14 2021

    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/

    Show more Show less
    26 mins
  • Message Queues
    Dec 6 2020

    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!

    Show more Show less
    31 mins
  • SQL vs noSQL Databases
    Oct 17 2020

    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/

    Show more Show less
    30 mins
  • Facebook Timeline Interview
    Sep 16 2020

    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


    Show more Show less
    34 mins
  • Google Docs Interview
    Sep 15 2020

    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/

    Show more Show less
    44 mins