Share System Design
Share to email
Share to Facebook
Share to X
By Wes and Kevin
4.8
8989 ratings
The podcast currently has 6 episodes available.
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
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/
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!
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/
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
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/
The podcast currently has 6 episodes available.
32,037 Listeners
930 Listeners
630 Listeners
428 Listeners
127 Listeners
133 Listeners
111,357 Listeners
169 Listeners
2,842 Listeners
61 Listeners
770 Listeners
7,670 Listeners
5,249 Listeners
52 Listeners
20 Listeners