试题一
某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行软件开发活动。该系统的重要功能,包括我的编辑,语法高亮提示,代码编频,系统调试,代码气库管理等,在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:
a)根据用户的付费情况对用户进行分类,并根据类别提供相应的开发功能。
b)在正常负载情况下,系统应该在0.2s内对用户的界面操作请求进行响应。
c)系统应该具备完善的安全防护措措施,能够对黑客的攻击行为进行检测和防御。
d)系统主站点断电后应在3s内将请求重定向到备用站点。
e)系统支持中文昵称,但用户名必须以字母开头,长度不少于8个字符。
f)系统宕机后,需要在15s内发现错误,并启用备用系统。
g)在正常负载情况下,户的代码提交请求应在0.5s内完成。
h)系统支持硬件设备灵活扩容,应保证在2人天内完成。
i)系统需要针对代码仓库的所有操作进行详细记录;便于后期查阅与审计。
j)更改系统web界面风格需要在4人天内完成。
k)系统本身需要提供远程调试接口,支持开发团队进行远程排错。
在对系统需求质量属性和架构特性进行分析的基础上,该公司的系统架构给了两种方案:
1、问题1(13分)
请问该需求应该采⽤哪⼀种风格?表1-1是对这两种风格分别从数据处理⽅式、系统拓展⽅式和处理性能三个⽅⾯进⾏了⽐较,请填写表1-1中(1) ~ (4)处的空⽩。
应该采用仓库风格。
(1)模型驱动,处理流程事先不确定,交互性强
(2)数据与处理紧耦合,以接口适配方式实现扩展
(3)知识源之间不直接通讯,它们之间的交互只能通过黑板完成,性能较低
(4)更容易处理任务间的协作,系统更加灵活、性能好。
表1-1
2、质量属性填入(1) (2) ( a-k)填入(3)- (6):
1.安全性
2.可修改性
3.G
4.I
5.F
6.j
试题二
某企业委托软件公司开发一套包裹信息管理系统,以便于对该企业通过快递收发的包裹信息进行统一管理,在系统设计阶段,需要对不同快递信息的包裹单信息进行建模,其中,邮政包裹单如图:
1、请说明关系型数据库开发中,逻辑数据模型设计过程包含哪些任务?
逻辑结构设计阶段的主要任务包括:1.确定数据模型、2.将E-R图转换为指定的数据模型、3.确定完整性约束、4.确定用户视图。
设计的关系模式主要有:
收件人信息。主键:电话号码
寄件人信息。主键:电话号码(身份证号)
包裹单信息。主键:包裹单编号
快递员信息。主键:员工编号
邮局站点信息。主键:邮局编号
2、请说明什么是超类实体?结合图中包裹单信息,试设计一种超类实体,给出完整的属性列表。
将一些子实体所共有的属性抽象为一个单独的新实体,这个新的实体就是超类实体。
结合图中包裹单信息设计一个“人员信息”的超类:人员信息(姓名,电话,单位名称,详细地址,邮政编码)。
3、请说明什么是派生属性?结合图中包裹单信息说明哪个属性是派生属性。
可以根据其它属性计算得出的属性就叫派生属性。如快递包裹费用中的“总计”属性就是派生属性。
试题三
互联网公司因业务发展要建立网上平台为用户提供一个对网络文化产品进行评论 (小说,电影等)交流的平台,该平台的部分功能如下:
(a)用户帖子的评论计数器
(b)支持粉丝列表功能
(c)支持标签管理
(d )支持共同好友功能
(e)提供排名功能
(f)用户的信息结构化存储
(g)提供好友信息的发布/订阅功能。
该系统在性能上需要考虑高性能,并发,以支持大量的用户同时访问,经过考虑,在数据管理上,决定采用Recdis+数据库的解决方案。
1、Recdis支持丰富的类型,请选择题干描述的(a)-(g)功能选项。填入表4-1中(1)-(5)空白处。
数据类型 |
存储的值 |
可实现的业务功能 |
String |
字符中等 |
(1) |
List |
列表 |
(2) |
Set |
无序集合 |
(3) |
Hash |
H包括键值对的无序列表 |
(4) |
Zset |
有序集合 |
(5) |
(1)a (2)b (3) c d (4)f (5)e
2、缓存中存储当前的热点数据Recdis为每个key值都设置了过期时间,以提高缓存命中率,为了消除非热点数据Recdis选择了定期删除加惰性删除策略。
如果该策略失效Recdis内存使用率会越来越高,一般采用内存淘汰机制来解决。 请用100字以内的文字,简要描述该策略的失效场景,并给出三种内存淘汰机制。
由于redis定期删除是周期性轮询redis库中的时效性数据,采用随机抽取的策略,利用过期数据占比的方式控制删除频度,不可能扫描清除掉所有过期的key并删除,而惰性策略就是在客户端访问这个key的时候,对过期时间进行检查,如果过期了就立即删除。如果一些key定期删除没有抽取到,惰性删除也未触发,这样redis的内存占用会越来越高,此时就需要内存淘汰机制。
常用的内存淘汰机制:
(1)volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰。
(2)volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。
(3)volatile-random:从已设置过期时间的数据集中任意选择数据淘汰。
(4)volatile-lfu:从已设置过期时间的数据集挑选使用频率最低的数据淘汰。
(5)allkeys-lru:从数据集中挑选最近最少使用的数据淘汰
(6)allkeys-lfu:从数据集中挑选使用频率最低的数据淘汰。
(7)allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
(8)no-enviction(驱逐):禁止驱逐数据,这也是默认策略。
试题四
关于Web系统架构设计的叙述。
说明:开发基于Web的基业设备检测系统,以实现对多种工业数据的分类采集,运行状态检测以及相关信息的管理该系统应具备以下功能:
现场设备状态采集功能,根据数据类型对设备检测指标状态信号进行分类采集,设备采集数据传输功能: 9-11月可靠的传输技术,实现将设备数据从制造现场传输到系统后台设备检测显示功能:对设备的运行状态工作以及报警状态进行检测并提供相应的图形化界面设备信息管理功能:支持设备运行历史状态,报警记录参数信息的查询。
同时,该系统还需满足以下非功能性需求。
(a) 系统应支持大于100个工业设备的进行检测;
(b) 设备数据以制造现场传输到系统后台传输时间小于1s;
(c) 系统应在7*24小时工作;
(d ) 可抵御见XSS攻击;
(e) 系统在故障情况下,应在0.5小时内恢复;
(f) 支持数据审计。
面对系统需求,公司召开项目计论会议,制定系统设计方案最终决定使用三层拓补结构,即现场设备数据采集层、Web检测服务层和前端Web显示层。
1、请按照性能、安全性和可用性三种非功能需求分类在选择题的(a) ~ (f)填入(1) ~(3),非功能性需求归类表:
(1) a b (2) d f (3) c e
2、该系统Web检测服务层拟采用SSm框架进行系统研发SSm工作流程图如图所示,请从下面给出的(a) ~ (k)中进行选择,补充完善图5-1中(1) ~ (7)处空白的内容:
(a) Connection pool
(b) Struts2
(c) Persistent Layer
(d) Mybatis
(e) HTTP
(f) MVC
(g) Kafka
(h) ViewLayer
(i) Jsp
(j) Conrtoller Layer
(k) Spring
5-1:SSm框架工作流程图:
(1) a (2) c (3) d (4) k (5) j (6) h (7) i
3、该工业设备检测系统拟采用工业控制领域中统一的数据访问机制,实现与多种不同设备的数据交互,请用100以内的文字说明采用标准的数据访问机制的原因。
采用标准的数据访问机制,可以屏蔽不同设备之间数据交互的差异,解决系统使用数据不一致性,在一定程度上降低了数据结构与应用系统的耦合度,减少了应用系统的维护工作量。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2022-03-30 今日总结