微信公众号:路人zhang
网站救助计划

1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本


2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助网站倒闭后可联系站长领取本站pdf内容


3.若网站能存活下来,后续将会持续更新内容

当前位置: 场景题 > 系统设计高频面试题 > 面试回答系统设计题的思路

这部分内容主要参考了Github的一个国外的开源项目,写的很好,感兴趣的小伙伴可以去看看:https://github.com/donnemartin/system-design-primer

常见的系统设计题有设计一个秒杀系统、红包雨、URL短网址等,完成一个系统设计题大概需要分为四步。

需要注意的是,在面试过程中是比较紧张的,但遇到这种系统设计题,一定先不要急着回答,一定要先需要设计系统的一些使用场景。

1.第一步:像面试官不断提问,搞清楚系统的使用场景

系统的功能是什么

系统的目标群体是什么

系统的用户量有多大

希望每秒钟处理多少请求?

希望处理多少数据?

希望的读写比率?

第二步:创造一个高层级的设计

2. 画出主要的组件和连接例如设计一个网络爬虫,这个是个完整的架构图,在这一步只需要画出一个抽象的架构图即可,不需要这么具体。

3. 设计核心组件

对每一个核心组件进行具体地分析。例如,面试官让你设计一个url短网址,你需要考虑这些问题

  • 生成并储存一个完整 url 的 hash
    • MD5和 Base62
    • Hash 碰撞
    • SQL 还是 NoSQL
    • 数据库模型
  • 将一个 hashed url 翻译成完整的 url
    • 数据库查找
  • API 和面向对象设计

4. 对系统进行优化

找到系统的瓶颈所在,对其进行优化,例如可以考虑水平扩展、数据库分片等等。

本站链接:https://www.mianshi.online如需勘误或投稿,请联系微信:lurenzhang888


点击面试手册,获取本站面试手册PDF完整版