曾被一道系统设计的面试题虐的很惨,它的名字叫“如何设计医院的挂号叫号系统”。过号怎么处理,专家号和普通号的处理,指定医生或不指定医生又如何处理,中间抽了个血,回来怎么处理?突然停电了又来电,数据怎么保存和恢复?问的我一脸懵逼。
于是我就特别关注系统设计这方面的学习资源,今天就在 GitHub 上找到了一个非常棒的项目,有 143 K 的 Star 数,非常受欢迎。
![](https://i-blog.csdnimg.cn/blog_migrate/1df629289f320979b90ed1cf20880645.jpeg)
这个仓库可以:
学习如何设计大型系统
为系统设计的面试做准备
学习如何设计大型系统
学习如何设计可扩展的系统将会有助于你成为一个更好的工程师。
系统设计是一个很宽泛的话题。在互联网上,关于系统设计原则的资源也是多如牛毛。
这个仓库就是这些资源的组织收集,它可以帮助你学习如何构建可扩展的系统。
为系统设计的面试做准备
在很多科技公司中,除了代码面试,系统设计也是技术面试过程中的一个必要环节。
通过这个仓库,你可以实践常见的系统设计面试题,并且把你的答案和例子的解答进行对照:讨论,代码和图表,找出自己的不足。
这里有架构图表,有 API 设计,有数据库表设计,有关键代码实现,是很好的学习资源。
![](https://i-blog.csdnimg.cn/blog_migrate/fb2f977789b869147c4cc533ea512513.jpeg)
还有学习方法:
![](https://i-blog.csdnimg.cn/blog_migrate/dc4148f8cfd3681bdd5f33e75609fbd3.jpeg)
最后的话
这么优秀的学习资源,不多说了,收藏并学习。
GitHub 仓库:https://github.com/donnemartin/system-design-primer
「阅读原文」就可以直接访问该仓库,也可以公众号后台回复「系统设计」可获取更多系统设计学习资源。