九章算法:系统设计班 - 课程大纲
第1章 Introduce System Design - How to Design Twitter
· 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, lifecycle
第3章 OOD 面向对象设计
· 实战真题
1) toy factory
2) shape factory
3) parking lot
4) blackj(todo)
5) elevator(todo)
6) achievement system(todo)
· 关键词:面向对象
第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 System