The Learning Continues
Designing good systems requires years of accumulation of knowledge. One shortcut is to dive into real-world system architectures. Below is a collection of helpful reading materials. We highly recommend you pay attention to both the shared principles and the underlying technologies. Researching each technology and understanding what problems it solves is a great way to strengthen your knowledge base and refine the design process.
Real-world Systems
The following materials can help you understand general design ideas of real system architectures behind different companies.
- Facebook Timeline: Brought To You By The Power Of Denormalization
- Scale at Facebook
- Building Timeline: Scaling up to hold your life story
- Erlang at Facebook (Facebook chat)
- Facebook Chat
- Finding a needle in Haystack: Facebook’s photo storage
- Serving Facebook Multifeed: Efficiency, performance gains through redesign
- Scaling Memcache at Facebook
- TAO: Facebook’s Distributed Data Store for the Social Graph
- Amazon Architecture
- Dynamo: Amazon’s Highly Available Key-value Store
- A 360 Degree View Of The Entire Netflix Stack
- It’s All A/Bout Testing: The Netflix Experimentation Platform
- Netflix Recommendations: Beyond the 5 stars (Part 1)
- Netflix Recommendations: Beyond the 5 stars (Part 2)
- Google Architecture
- The Google File System (Google Docs)
- Differential Synchronization (Google Docs)
- YouTube Architecture
- Seattle Conference on Scalability: YouTube Scalability
- Bigtable: A Distributed Storage System for Structured Data
- Instagram Architecture: 14 Million Users, Terabytes Of Photos, 100s Of Instances, Dozens Of Technologies
- The Architecture Twitter Uses To Deal With 150M Active Users
- Scaling Twitter: Making Twitter 10000 Percent Faster
- Announcing Snowflake (Snowflake is a network service for generating unique ID numbers at high scale with some simple guarantees)
- Timelines at Scale
- How Uber Scales Their Real-Time Market Platform
- Scaling Pinterest
- Pinterest Architecture Update
- A Brief History of Scaling LinkedIn
- Flickr Architecture
- How We've Scaled Dropbox
- The WhatsApp Architecture Facebook Bought For $19 Billion
Company Engineering Blogs
If you are going to interview with a company, it is a great idea to read their engineering blogs and get familiar with technologies and systems adopted and implemented there. Besides, engineering blogs provide invaluable insights about certain fields. Reading them regularly could help us become better engineers.
Here is a list of engineering blogs of well-known large companies and startups.
- Airbnb
- Amazon
- Asana
- Atlassian
- Bittorrent
- Cloudera
- Docker
- Dropbox
- eBay
- GitHub
- Groupon
- Highscalability
- Instacart
- Mixpanel
- Netflix
- Nextdoor
- PayPal
- Quora
- Salesforce
- Shopify
- Slack
- Soundcloud
- Spotify
- Stripe
- Stripe
- System design primer
- Thumbtack
- Uber
- Yahoo
- Yelp
- Zoom
Congratulations! You are at the end of this interview guide. You have accumulated skills and knowledge to design systems. Not everyone has the discipline to learn what you have learned. Take a moment and pat yourself on the back. Your hard work will be paid off.
Landing a dream job is a long journey and requires lots of time and effort. Practice makes perfect. Best luck!
Thank you for buying and reading this course. Without readers like you, our work would not exist. We hope you have enjoyed the course!