系统设计面试指南

May 23, 2020 • 预计阅读时间 2 分钟

系统设计的关键点在于知识面广 + 考虑全面,这需要经验做支撑,但通过多学习案例、套路是可以弥补的

学习资料

经典案例

突击 or 有架构经验的话,我觉得只要认真研读经典设计问题即可:

问题GitHubYoutubeblog
Twitter 时间线和搜索,Facebook feed解答花花酱
Tech Dummies Narendra L
Designing Twitter
Designing Facebook’s Newsfeed
Chat Messaging System:WhatsAppGaurav Sen
图片分享:Instagram解答Gaurav Seneducative
电商:Amazon,eBay,Walmart解答codeKarle
视频:YouTube,Netflix花花酱
Gaurav Sen
Tech Dummies Narendra L
educative
视频会议:ZoomcodeKarle
Uber 后台Tech Dummies Narendra Leducative
秒杀系统
云存储服务:Dropbox,Google Doc,AWS S3Dropbox
Google Doc
S3
educative
Tiny URL:Pastebin.com,Bit.ly解答
Tech Dummies Narendra Leducative
网页爬虫解答Tech Dummies Narendra Leducative
API Rate Limiter解答Gaurav Seneducative
为一个交易平台设计限价订单(limited order book)解答

答题策略

九章总结的 4S 分析法:

-   Scenario 场景:需要设计哪些功能,到什么程度?
    -   who will use
    -   how many will use
    -   usage pattern
    -   use case not covered
    -   estimated throughput
    -   estimated latency
-   Service 服务:将大系统拆分为小服务
    -   api for read/write scenarios
    -   schema
-   Storage 存储:数据如何存储与访问
    -   data size
    -   read/write ratio
    -   read/write traffic
    -   rdbms/nosql
-   Scale 升级:解决缺陷,处理可能遇到的问题
    -   scaling the algorithm
    -   scaling the individual component
    -   memory cache
    -   DNS, CDN, reverse proxy, load balancer, ...
    -   async: message queue, back pressure, time & order, ...
    -   communiction: tcp, udp, rest, rpc, ...

技术点参考

   云原生时代|分布式系统设计知识图谱(内含 22 个知识点) 分布式系统设计知识图谱

展开的话范围相当的广,只能平时积累,逐个突破。


   我理解的架构 & 架构师(兼谈微服务)

  淘宝服务端高并发分布式架构演进之路 ⏤ 其实是互联网应用的典型架构,架构是互通的,了解后至少懂得大方向。

职业发展面试指南系列

股票新手基础入门(2021.2更新)

Jackson 常用注解

comments powered by Disqus