系统设计考点解析
1.什么是系统设计?
系统设计是一个定义系统架构、模块、接口和数据满足特定需求的过程
比如设计一个短网址服务、评论服务、feed流系统、抢红包系统 秒少系统
微服务架构很多系统被按照业务拆分,需要单独设计一个系统服务
2.系统设计需要掌握哪些知识?
熟悉后端技术组件,比如消息队列 缓存 数据库 框架
具备文档撰写 流程图绘制 架构设计 编码实现等综合能力
3.系统设计怎么答?(三要素)
使用场景和限制条件
使用场景 限制条件--用户估计 并发qps
数据存储设计
需要设计数据表 字段 类型 数据库选项--是否需要持久化?使用关系型还是NoSQL? 如何优化?何如设计索引?是否可以使用缓存?
算法模块设计
需要哪些接口?接口如何设计? 使用什么算法或者模型? 不同实现方式之间的优劣对比,如何取舍?
延伸
扩展
用户多了,qps高了如何如理? 数据存储多路不够存了如何处理?
容错
故障如何处理?单点失败、多点失败、雪崩问题?
相关推荐
waixingxueren 2020-10-09
zhounan00 2020-07-28
jameszgw 2020-06-25
CharlesYooSky 2020-06-25
yourFriend 2020-06-25
THEEYE 2020-06-06
随心而作 2020-06-04
VanTYS 2020-06-03
Freeman00 2020-05-28
THEEYE 2020-05-27
quguang 2020-05-27
homesmile 2020-05-23
cgnine 2020-05-21
kangtingting0 2020-05-20
THEEYE 2020-05-05