第1章 Introduce System Design - How to Design Twitterweb
· What is System Design
· Who should Learn System Design
· How we ask System Design in Interview
· How to answer System Design Question
· SNAKE
· Basic Knowledge of System Design
· Design a Twitter數據庫
第2章 Database 數據庫系統設計
· 實戰真題
1) Table Design
2) Design User System
3) Design a Key-value Storage
4) Memcache, Redis, MongoDB, Dynamo DB, Cassandra
· 關鍵詞:database, primary/foreign key, table, row, attribute, index, transaction, log, lock, lifecyclecookie
第3章 OOD 面向對象設計
· 實戰真題
1) toy factory
2) shape factory
3) parking lot
4) blackj(todo)
5) elevator(todo)
6) achievement system(todo)
· 關鍵詞:面向對象app
第4章 Web System 網站系統設計
· 實戰真題
1) What happend if you visit www.google.com?
2) How to design tiny url?
3) How to design rate limiter?
4) How to design data dog?
· 關鍵詞:Web, Consistent Hashing, Memcached, Tiny url.
第5章 Search Engine 搜索系統設計
· 實戰真題
1) crawler
2) typeahead
3) inverted index
· 關鍵詞:failure rate, DNS, web server, file server, timeout, content delivery network, cookie, HTTP, divide and conquer, Internet service provider, hosts, hijack, retention rate, cache, lazy load, rate limiter, QPS, counter , expire, request
第6章 分佈式系統 Mapreduce & Distributed File System
· 實戰真題
1)Inverted index
2)Anagram
3) Word Count
4) Distributed File System Design 設計
· 關鍵詞:Map Reduce分佈式
第7章 實時位置系統設計 Location Based Realtime System
· 實戰真題:
1) Design Yelp
2) Design Uber
3) Design Whatsapp
· 關鍵詞 Location Based, Realtime Systemide