外贸网站源码免费,网站代备案流程图,黄骅贴吧最近发生的事,如何做哟个优惠券网站如何处理一个系统设计的面试题 系统设计面试是一个开放式的对话。他们希望你去主导这个对话 第一步#xff1a;描述使用场景#xff0c;约束和假设
把所有需要的东西聚集在一起#xff0c;审视问题。不停的提问#xff0c;以至于我们可以明确使用场景和约束。讨论假设。
…如何处理一个系统设计的面试题 系统设计面试是一个开放式的对话。他们希望你去主导这个对话 第一步描述使用场景约束和假设
把所有需要的东西聚集在一起审视问题。不停的提问以至于我们可以明确使用场景和约束。讨论假设。
谁会使用它他们会怎样使用它有多少用户系统的作用是什么系统的输入输出分别是什么我们希望处理多少数据我们希望每秒钟处理多少请求我们希望的读写比率
第二步创造一个高层级的设计
使用所有重要的组件来描绘出一个高层级的设计
画出主要的组件和连接 (process on)证明你的想法
第三步设计核心组件
对每一个核心组件进行详细深入的分析。举例来说如果你被问到设计一个 url缩写服务开始讨论
生成并储存一个完成 url 的 hash
MD5 和 Base62Hash碰撞SQL还是NoSQL数据库模型
将一个 hased url翻译成一个完整的 url
数据库查找
API和面向对象设计
第四步扩展设计
确认和处理瓶颈以及一些限制。举例来说就是你需要下面的这些来完成扩展性的议题吗
负载均衡水平扩展缓存数据库分片
论述可能的解决办法和代价。每件事情需要取舍。可以使用可扩展系统的设计原则来处理瓶颈。
附加
预估计算量