ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

系统设计system design答题模板

2021-10-17 04:31:17  阅读:311  来源: 互联网

标签:讨论 ... service 答题 eg cache system 用户 design


1. 讨论用户是谁
电话、网络、p0 (mvp) 要求是什么

2. 根据用户讨论feature
功能性需求:eg用户应该能够发布新推文,用户应该能够关注其他用户
非功能需求:
一致性还是可用性?Consistency or Availability?
实时还是批量?Real-time or batch?
重读还是重写?Read heavy or write heavy?

3. 问一下系统需要handle 的traffic, 问问需不需要进行计算。 (面了8次系统设计,只有roblox要求计算。其他都不要。。。)
延迟估计Latency estimation
存储量
QPS


4. 根据feature讨论系统需要存储和serve哪些data, 这些data用什么存, 讨论sql/nosql/cache/object storage/hdfs取舍
Memory内存 vs Storage硬件
partition分区
build index建立索引
Avoid hotspot避开热点
Avoid consistently updating one record避免持续更新一条记录
nosql的考量:Main/Follower主/从,Async vs sync replication异步与同步复制,Shard key分片键,Index指数
cache缓存的考量:Cacheability. I.e. data repetition.可缓存性。 IE。数据重复,Memory requirement内存要求,Staleness effect陈旧效应

5. 根据数据,设计service。画图。
API
throttling节流, auth身份验证

6. work through一个use case, 把所有service连起来, 同时修改刚才画好的图。
eg做uber eats, 讨论用户要order 一个食物,到餐馆接到订单, 到司机接到订单。。。。

7. 讨论use case细节, 这时候面试官全程都会drive你的design的,不会丢你在那里自言自语。
eg比如 uber eats司机进入某个区域怎么识别啊, cache里怎么存啊。

8. 面试官会问, 某些环节挂掉了,怎么处理。
无非就是1. 要么replica, master slave, active-passive 或者
2.周期存snapshot 在磁盘上,然后存action log... 挂了可以重新恢复。。。

9. 一些环节怎么scale... multi instance, partition 这些呗。。 偶尔说说service mesh...

 

转自一亩三分地:https://www.1point3acres.com/bbs/thread-537998-1-1.html

标签:讨论,...,service,答题,eg,cache,system,用户,design
来源: https://www.cnblogs.com/immiao0319/p/15415867.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有