系统架构下午大题
# 系统架构下午大题
第一大题必做
二到五题,建议选2,4 或者2,5 作答
# 软件架构设计师下午案例分析(按题目拆解版)
# 第一题 系统架构设计与评估(25分)
# 第一问(12分左右)
# 90%概率考效用树
题目会给一个业务场景:
例如:
- 医疗系统
- 电商系统
- 银行系统
- 政务系统
让你构建效用树。
# 效用树标准结构
Utility
├──性能
│
├──安全性
│
├──可用性
│
├──可修改性
│
├──易用性
│
└──可测试性
# 必须会写
质量属性
- 性能
- 安全性
- 可用性
- 可修改性
- 易用性
- 可测试性
# 质量属性场景模板
性能:
刺激源:
用户
刺激:
1000并发访问
环境:
系统正常运行
制品:
订单系统
响应:
处理请求
响应度量:
响应时间≤2秒
安全性:
刺激源:
黑客
刺激:
非法访问
环境:
系统运行中
制品:
用户数据库
响应:
拒绝访问
响应度量:
未发生数据泄露
# 评分点
一般每个场景2分
质量属性名称1分
场景描述1分
# 第一题 第二问(13分左右)
# 考法一(出现最多)
架构风格识别
题目会给系统描述
让你回答:
# 采用什么架构风格
# 为什么适合
# 优缺点
# 必背架构风格
# 分层架构
特点:
高内聚
低耦合
易维护
优点:
可维护
可扩展
职责清晰
缺点:
性能损耗
层次过多
# 管道过滤器
特点:
数据流处理
顺序加工
典型:
编译器
ETL
# 数据共享
特点:
统一数据中心
共享数据库
# 事件驱动
特点:
发布订阅
异步处理
典型:
Kafka
MQ
# C/S
客户端
服务器
# B/S
浏览器
服务器
# 考法二
质量属性场景
近几年考得很多。
必须会背
# 六要素
刺激源
刺激
环境
制品
响应
响应度量
# 作用
用于:
量化质量属性需求
支持架构评估
支持ATAM分析
# 第二题 结构化分析设计(25分)
推荐必选。
# 第一问(9分)
# 数据流图DFD补图
# 必考元素
外部实体
方框
加工
圆形
数据流
箭头
数据存储
双平行线
# 数据平衡原则
高频考点
父图输入=子图输入
父图输出=子图输出
# 常见错误
新增输入
新增输出
遗漏数据流
# 第二问(9分)
# ER图补图
# 必考
实体
属性
联系
# 联系类型
1:1
1:N
M:N
# 高频考点
M:N转化
例如:
学生
课程
必须变成:
学生
选课
课程
# 主键
必须唯一
不能为空
# 第三问(7分)
# 数据字典
# 四个组成
数据项
数据结构
数据流
数据存储
# 各阶段作用
需求分析:
统一数据定义
概要设计:
数据库设计依据
详细设计:
程序设计依据
维护阶段:
数据参考标准
# 第三题 嵌入式系统(25分)
一般不推荐。
# 第一问
实时操作系统
RTOS特点
实时性
可靠性
确定性
# 第二问
任务调度
常考
抢占式
非抢占式
# 第三问
中断
必须会:
中断响应
中断处理
中断返回
# 第四题 软件体系结构设计(25分)
推荐。
# 第一问
Web系统架构
经典答案:
表现层
业务层
数据层
或者
前端层
网关层
服务层
数据库层
# 第二问
Redis
近5年非常高频。
缓存穿透
请求不存在的数据
解决:
布隆过滤器
缓存空值
缓存击穿
热点Key失效
解决:
互斥锁
永不过期
缓存雪崩
大量缓存同时失效
解决:
随机过期
多级缓存
# 第三问
负载均衡
常见:
Nginx
LVS
HAProxy
作用:
提高并发
提高可用性
故障转移
# 第五题 中间件与新技术(25分)
推荐。
# 第一问
架构图分析
考察:
模块职责
调用关系
部署关系
# 第二问
MongoDB
特点:
文档数据库
Schema灵活
水平扩展
# 第三问
ES
高频答案:
倒排索引
全文检索
分布式搜索
# 近年新增热点
Kafka
发布订阅
削峰填谷
异步解耦
微服务
服务拆分
独立部署
去中心化
# 考前一天只看这张表
| 题目 | 必背内容 |
|---|---|
| 第一题 | 效用树、质量属性场景6要素、架构风格 |
| 第二题 | DFD、数据平衡、ER图、数据字典 |
| 第三题 | RTOS、中断、任务调度 |
| 第四题 | Web分层、Redis三大问题、负载均衡 |
| 第五题 | 架构图、MongoDB、ES、Kafka、微服务 |
如果目标是 45分通过下午案例,实际上最值得投入时间的是:
第一题(必须拿15+) + 第二题(拿15+) + 第四题或第五题(拿15+)
这是目前通过率最高的答题路线。