10-1系统设计考点解析(代码片段)

WinvenChang WinvenChang     2023-02-20     431

关键词:

一、考点聚焦:

1.什么是系统设计?
2.系统设计需要掌握哪些知识?
3.如何设计和实现一个后端系统服务的设计?

二、什么是系统设计?

System Design:
1.系统设计是一个定义系统架构、模块、接口和数据满足特定需求的过程
2.比如设计一个短网址服务、评论服务、Feed流系统、抢红包系统
3.微服务架构很多系统被按照业务拆分,需要单独设计一个系统服务
(比如公司里提供一个供其他所有业务使用的一个短网址服务)

三、系统设计的难点?

中高级工程师必经之路
1.需要具备相关领域、算法的经验,有一定的架构设计能力
2.熟悉后端技术组件,比如消息队列、缓存、数据库、框架
3.具备文档撰写、流程图绘制、架构设计、编码实现等综合能力

四、系统设计怎么答?

很多新手碰到这种问题完全不知道怎么回答
1.完全没有思路的(很多毕业生对这种问题完全手足无措)
2.有一定思路,但是回答没有重点
3.能回答上来重点,但是思路不够清晰

系统设计的要素
系统设计的三大要素:
1.使用场景和限制条件
2.数据存储设计
3.算法模块设计

如何回答系统设计题目?
按照三个要素来回答:
1.问面试官:什么场景和条件下使用?
2.设计数据存储系统
3.设计算法相关模块

要素之一:场景和限制
什么场景使用?有哪些条件?
1.这个系统是在什么地方使用的?比如短网址系统提供给站内各种服务生成短网址
2.限制条件:用户估计有多少?至少要能支撑多少用户(服务)?
3.估算并发pps:峰值qps是多少?平均qps是多少?

要素之二:数据存储设计
数据库的选型
1.按需设计数据表,需要哪些字段,使用什么类型?数据增长规模
2.数据库选型:是否需要持久化?使用关系型还是NoSQL?
3.如何优化?如何设计索引?是否可以使用缓存?

要素之三:算法模块设计
算法解决问题的核心。程序=算法+数据结构。系统=服务+存储
1.需要哪些接口?接口如何设计
2.使用什么算法或者模型?
3.不同实现方式之间的优劣对比,如何取舍?

五、延伸考点

如何回答不错,可能会问一些深入的问题(扩展、容错)
1.用户多了,qps高了如何处理?
2.数据存储多了不够存了如何处理?
3.故障如何处理?单点失败、多点失败、雪崩问题

10-2系统设计真题解析:短网址系统的设计与实现(代码片段)

一、考点聚焦如何设计与实现一个短网址系统1.什么是短网址系统?包含哪些功能(接口)2.短网址系统的存储设计?需要存储哪些字段?3.如何设计算法生成短网址?二、什么是短网址系统?TinyUrlServic... 查看详情

华为od机试-异常的打卡记录(javascript)|机试题+算法思路+考点+代码解析2023(代码片段)

异常的打卡记录题目考勤记录是分析和考核职工工作时间利用情况的原始依据,也是计算职工工资的原始依据,为了正确地计算职工工资和监督工资基金使用情况,公司决定对员工的手机打卡记录进行异常排查。如果出现以下两... 查看详情

华为od机试-新员工座位安排系统(javascript)|机试题+算法思路+考点+代码解析2023

新员工座位安排系统题目工位由序列F1F_1F1​ 查看详情

10-2系统设计真题解析:短网址系统的设计与实现(代码片段)

一、考点聚焦如何设计与实现一个短网址系统1.什么是短网址系统?包含哪些功能(接口)2.短网址系统的存储设计?需要存储哪些字段?3.如何设计算法生成短网址?二、什么是短网址系统?TinyUrlServic... 查看详情

华为od机试-热点网络统计(javascript)|机试题+算法思路+考点+代码解析2023(代码片段)

...有一个功能,需要动态统计公司访问最多的网页URLtopN请设计一个算法,可以高效动态统计TopN的页面输入每一行都是一个URL或一个数字如果是URL代表一段时间内的网页访问如果是一个数字N代表本次需要输出的TopN个URL输入约束:总... 查看详情

华为od机试-删除最少字符(javascript)|机试题+算法思路+考点+代码解析2023(代码片段)

删除最少字符题目删除字符串中出现次数最少的字符如果多个字符出现次数一样则都删除输入输入只包含小写字母输出描述输出删除后剩余的字符若删除后字符串长度为0,则输出empty示例一输入abcdd输出dd示例二输入aabbccdd输出emp... 查看详情

java面试考点解析--数据库篇spring+mybatis整合(代码片段)

------------------------------- 一、数据库基础知识 ------------------------------- 1、在进行数据库编程时,连接池有什么作用?   由于创建连接和释放连接都有很大的开销(尤其是数据库服务器不在本地时,每次建立连接... 查看详情

软考《希赛教育·软件设计师考前冲刺与考点分析》计算机硬件基础知识——学习笔记(代码片段)

Content第1章计算机硬件基础知识第2章操作系统基础知识第3章程序语言和语言处理程序基础知识第4章数据结构第5章数据库系统基础知识第6章网络基础知识第7章软件工程基础知识第8章信息安全知识第9章多媒体基础知识第10章知识... 查看详情

华为od机试-单词倒序(javascript)|机试题+算法思路+考点+代码解析2023(代码片段)

单词倒序题目输入单行英文句子,里面包含英文字母,空格以及,.?三种标点符号,请将句子内每个单词进行倒序,并输出倒序后的语句。输入输入字符串S,S的长度1<=N<=100输出描述输出逆序后的字符串备注标点符号左右的空... 查看详情

华为od机试-合规数组(java)|机试题+算法思路+考点+代码解析2023(代码片段)

合规数组题目给定一个正整数数组检查数组中是否存在满足规则的数组组合规则:A=B+2C输入第一行输出数组的元素个数接下来一行输出所有数组元素,用空格隔开输出如果存在满足要求的数在同一行里依次输出规则里ABC的取值,... 查看详情

华为od机试-卡片组成的最大数字(javascript)|机试题+算法思路+考点+代码解析2023(代码片段)

卡片组成的最大数字题目小组中每位都有一张卡片卡片是6位以内的正整数将卡片连起来可以组成多种数字计算组成的最大数字输入,分割的多个正整数字符串不需要考虑非数字异常情况小组种最多25个人输出描述最大数字字符串... 查看详情

华为od机试-工号不够用了(java)|机试题+算法思路+考点+代码解析2023(代码片段)

...遇到现有工号不够用的窘境。现在,请你负责调研新工号系统。继承历史传统,新的工号系统由小写英文字母(a-z)和数字(0-9)两部分构成。新工号由一段英文字母开头,之后跟随一段数字,比如"aaahw0001",“a12345”,“abcd1”,... 查看详情

华为od机试-最小施肥机能效(java)|机试题+算法思路+考点+代码解析2023(代码片段)

最小施肥机能效某农场主管理了一大片果园,fields[i]表示不同果林的面积,单位:(m2m^2m2),现在要为所有的果林施肥且必须在n天之内完成,否则影响收成。小布是果林的工作人员,他每次选择一片果林进行施肥,且一片果林... 查看详情

华为od机试-最小施肥机能效(java)|机试题+算法思路+考点+代码解析2023(代码片段)

最小施肥机能效某农场主管理了一大片果园,fields[i]表示不同果林的面积,单位:(m2m^2m2),现在要为所有的果林施肥且必须在n天之内完成,否则影响收成。小布是果林的工作人员,他每次选择一片果林进行施肥,且一片果林... 查看详情

华为od机试-猴子爬山(java)|机试题+算法思路+考点+代码解析2023(代码片段)

猴子爬山一天一只顽猴想去从山脚爬到山顶,途中经过一个有个N个台阶的阶梯,但是这猴子有一个习惯:每一次只能跳1步或跳3步,试问猴子通过这个阶梯有多少种不同的跳跃方式?输入输出描述:输入描述:输入只有一个整数N(... 查看详情

软考-01考试范围及知识点

...复习策略授课目录考试简介考点浅析架构科目2考点详解系统规划、软件架构设计、设计模式、系统设计、系统建模、分布式系统设计、嵌入式系统设计、系统的可靠性分析与设计、系统的安全性和保密性设计。架构科目3考点详... 查看详情

软考-01考试范围及知识点

...复习策略授课目录考试简介考点浅析架构科目2考点详解系统规划、软件架构设计、设计模式、系统设计、系统建模、分布式系统设计、嵌入式系统设计、系统的可靠性分析与设计、系统的安全性和保密性设计。架构科目3考点详... 查看详情

华为od机试-能力组队(javascript)|机试题+算法思路+考点+代码解析2023(代码片段)

能力组队题目用数组代表每个人的能力,一个比赛活动要求,参赛团队的最低能力值为N每个团队可以由一人或者两人组成,且一个人只能参加一个团队,计算出最多可以派出多少只符合要求的队伍。输入第一行代表总人数,范... 查看详情