架构真题2021(四十三)
- 产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器刻可读或人工可读)和各种版本()的集合。
- 需求规格说明、设计说明、测试报告
- 需求规则说明、设计说明、计算机程序
- 设计说明、用户手册、计算机程序
- 文档、计算机程序、部件及数据
答案:D
解析:
产品配置 文档、计算机程序、部件及数据。
- ()包括编制每个需求与系统元素之间的联系文档,这些元素包括其他需求、体系结构、设计部件、源代码模块、测试、帮助文档和文档等。
- 需求描述
- 需求分析
- 需求获取
- 需求跟踪
答案:D
解析:
跟踪对应联系。
- 软件生命周期,可以把软件生命周期划分为()。
答案:
软件定义、软件开发、软件运行、软件维护。
- 软件测试是保证软件质量的重要手段。()是指被测试程序不在机器上运行,而采用人工监测和计算机辅助分析的手段对程序进行监测。
- 静态测试
- 动态测试
- 黑盒测试
- 白盒测试
答案:A
解析:
静态测试,不运行程序本身,通过分析手段。
动态测试,通过运行的程序,分析运行的效率、正确性和健壮性。由 测试用例、执行程序和分析程序的输出结果。
白盒测试也是结构测试,主要检测编码过程中的错误。
黑盒测试则是功能测试。
5、4+1视图模型可以从多个视图或视角来描述软件架构。其中,()用于捕捉设计的并发和同步特征,()描述了在开发环境中软件的静态组织结构。
- 逻辑视图
- 开发视图
- 过程视图
- 物理视图
答案:C
- 类视图
- 开发视图
- 过程视图
- 用例视图
答案:B
解析:
开发视图:描述了开发环境中软件静态组织结构。
物理视图:描述了软件到硬件的映射。
过程视图:捕捉设计并发和同步特征。
逻辑视图:设计的对象模型。
- 在架构评估中,一般采用()三个方面对场景进行描述。
答案:刺激、环境、响应
- 改编作品的著作权归属改编人。
试题一:架构设计与评估
【问题2】(16分)
针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道-过滤器(ppe-and-hlter)的架构风格,王工则建议采用隐式调用(implicit invocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格。
答案:
解释器是基于独立的规则,可以用解释器来解析,灵活性高,扩展性强,不需要改动代码的动态适配。
管道-过滤器则强调传递,构件是过滤器,连接件是管道,强调数据传输,每次修改则修改改动代码,灵活性修改性稍差。
隐式调用则侧重于发布/订阅或者多播模式,当某个事件触发,注册的其他构件都会接受到消息异步变化,灵活性和扩展性稍差。
【问题 3】(9分)
采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?
答案:
对象模型,是最核心最基础的模型,用对象图建模。
动态模型,表示构件之间的交互,状态图建模。
功能模型,表示数据流的变化,数据流图建模。
对象模型是动态模型和功能模型的基础部分,它的操作代表动态模型的动作,功能模型的函数。
动态模型则表示当有变化的时候,激动相对应的功能。
功能模型则是建立在对象模型的操作,动态模型的动作之上,同时还表示了对象值的约束。
【问题1】(9分)
在系统初步运行后,发现系统数据访问性能较差。经过分析,刘工认为原来数据库规范化设计后,关系表过于细分,造成了大量的多表关联查询,影响了性能。例如当用户查询商品信息时,需要同时显示该药品的信息、供应商的信息、当前库存等信息。
为此,刘工认为可以采用反规范化设计来改造药品关系的结构,以提高查询性能。修改后的药品关系结构为:
药品(药品ID,药品名称,药品型号,药品价格,供应商ID,供应商名称,当前库存数量);
请用200字以内的文字说明常见的反规范化设计方法,并说明用户查询商品信息应该采用哪种反规范化设计方法。
答案:
常见反规范化设计:
- 冗余列,多余的列,其他表存在的
- 冗余派生,某个列由其他多个列组合或计算而成
- 合并表,把多个表合并成一个。
- 拆分表,把不经常查询的字段拆分成独立的表,比如大的富文本字段,课本的详情介绍等。
【问题2】(9分)
王工认为,反规范化设计可提高查询的性能,但必然会带来数据的不一致性问题。请用200字以内的文字说明在反规范化设计中,解决数据不一致性问题的三种常见方法,并说明该系统应该采用哪种方法。
答案:1、可以采用事务解决不一致问题,事务的原子性要么全部成功,要么全部失败。2、定时器解决,当其中一个修改的时候,定时修改其他数据。3、可以采用数据库触发器,来解决。
这里介意采用定时器,代码侵入性小,修改小。
【问题3】(7分)
该系统采用了Redis来实现某些特定功能(如当前热销药品排名等),同时将药品关系数据放到内存以提高商品查询的性能,但必然会造成Redis和MySQL的数据实时同步问题。
( )Redis的数据类型包括String、Hash、List、Set和ZSet等,请说明实现当前热销药品排名的功能应该选择使用哪种数据类型。
( )请用200字以内的文字解释说明解决Redis和MySQL数据实时同步问题的常见方案。
答案:zset,
主动解决,读取binlog,在更新redis里面的值。
被动解决,每次查询的时候,如果redis没有数据,则取数据库查询,再放入redis缓存里,如果修改也需要更新redis里面的值,这时候出现数据不一致时候,可以考虑同延迟双删来解决。
【问题1】(8分)
请用400字以内的文字简要描述基于家庭网关的传统智能家居管理系统和基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点,以说明项目组选择李工设计思路的原因。
答案:
网关管理:云平台更强,可以实现对不同地点不同设备远程网关管理。
数据处理,数据处理更好,因为数据在云平台,容灾和安全性也会更好。
系统性能在云平台效率更高,因为只需要关注自己的业务开发,其他都交给云平台。
【问题3】(5分)
该系统需实现用户终端与服务端的双向可靠通信,请用300字以内的文字从数据传输可靠性的角度对比分析TCP和UDP通信协议的不同,并说明该系统应采用哪种通信协议。
答案:TCP是基于字节流的双向传输协议,并且有三次握手动作,保证丢包的情况下,会继续重试连接。
UDP是无连接传输协议,丢包不会重传,不可靠。
相关文章:
架构真题2021(四十三)
产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器刻可读或人工可读)和各种版本()的集合。 需求规格说明、设计说明、测试报告需求规则说明、设计说明、计算机程序设计说明、用户手册、计算机程序文档、计算机程序…...
数据统计和分析怎么做?spss如何做好数据分析?
为什么要做数据分析?数据分析有什么意义?数据分析可以为企业和组织提供多方面的帮助,包括提高工作效率、优化业务流程、升职加薪、提高管理效率以及改进汇报效果等方面。 IBM SPSS Statistics 26是一款功能强大的统计分析软件,适用于Mac操作…...
【多线程】线程安全的集合类
文章目录 1. 多线程环境使用ArrayList1.1 自己使用同步机制1.2 Collections.synchronizedList(new ArrayList);1.3 使用 CopyOnWriteArrayList 2. 多线程使用队列3. 多线程环境使用哈希表3.1 HashTable3.2 ConcurrentHashMap3.3 Hashtable和HashMap、ConcurrentHashMap 之间的区…...
Goby 漏洞发布|Revive Adserver 广告管理系统 adxmlrpc.php 文件远程代码执行漏洞(CVE-2019-5434)
漏洞名称:Revive Adserver 广告管理系统 adxmlrpc.php 文件远程代码执行漏洞(CVE-2019-5434) English Name: Revive Adserver adxmlrpc.php Remote Code Execution Vulnerability (CVE-2019-5434) CVSS core: 9.0 影响资产数&a…...
Docker(三)、Dockerfile探究
Dockerfile探究 一、镜像层概念1、通过执行命令显化docker的机制 二、Dockerfile基础命令1、FROM 基于基准镜像【即构建镜像的时候,依托原有镜像做拓展】2、LABEL & MAINTAINER -说明信息3、WORKDIR 设置工作目录4、ADD & COPY 复制文件5、ENV 设置环境常量…...
C++读取文件夹下多个文件,包括图片等等
话不多说,直接上代码: int main() {//读入图片路径下的所有文件,D:\APP\VS\vs_projects_repos\Isp\imagesstring imgdirpath"D:\\APP\\VS\\vs_projects_repos\\Isp\\proimages\\";// 只读取文件夹下的png的文件名,也可以改成“*.b…...
DirectX 12 学习笔记 -结构
上篇文章我们创建了一个窗口,看样子还不难,我们继续玩DX12 引用一些文件 头文件 #include <d3d12.h> #include <dxgi1_4.h> #include <wrl.h>还有一些库 #pragma comment(lib, "d3d12.lib") #pragma comment(lib, "…...
【Redis】Redis 的学习教程(十二)之在 Redis使用 lua 脚本
lua 菜鸟教程:https://www.runoob.com/lua/lua-tutorial.html 在 Redis 使用 lua 脚本的好处: 减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延及开销原子性操作。Redis会将整个脚本作为一个整体执行,中间不会…...
标准/扩展库中对象的导入与使用
博主:命运之光 专栏:Python程序设计 Python扩展库导入和使用 Python启动时,仅加载了很少一部分模块,其它模块需要由程序员显示加载。使用“sys.modules.items()”显示所有预加载的模块信息。 import 模块名[.对象名] [as 别名] …...
87、Redis 的 value 所支持的数据类型(String、List、Set、Zset、Hash)---->List相关命令
本次讲解要点: List相关命令:是指value中的数据类型 启动redis服务器: 打开小黑窗: C:\Users\JH>e: E:>cd E:\install\Redis6.0\Redis-x64-6.0.14\bin E:\install\Redis6.0\Redis-x64-6.0.14\bin>redis-server.exe redi…...
Celery结合flask完成异步任务与定时任务
Celery 常用于 web 异步任务、定时任务等。 使用 redis 作为 Celery的「消息代理 / 消息中间件」。 这里通过Flask-Mail使用qq邮箱延时发送邮件作为示例 pip install celery pip install redis pip install Flask-Mail1、使用flask发送邮件 使用 Flask-Mail 发送邮件需要进行…...
前端项目练习(练习-001-纯原生)
先创建一个空文件夹,名字为web-001,然后用idea开发工具打开,如图: 可以看到,这是个彻底的空项目,创建 index.html index.js index.css三个文件,如图: 其中,html文件内容如下&am…...
基于微信小程序的游戏账号交易买卖平台设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...
2023 年 Bitget Wallet 测评
对Bitget Wallet钱包的看法 Bitget Wallet在安全性、产品实力和使用体验方面可与Metamask媲美,甚至有所超越,唯一稍显不足的是知名度稍逊一筹。在众多钱包中,Bitget Wallet是拥有最全面的钱包之一,尤其适合那些希望一步到位&…...
医疗图像分割指标
医疗图像其中两种图像格式:MRI(Magnetic Resonance Imaging,磁共振成像)、CT(Computed Tomography,计算机断层),常存成 .nii.gz 格式。都是 3D 的 H W L H \times W \times L HWL…...
零代码编程:用ChatGPT批量修改文件夹名称中的大小写
一个文件夹下面有很多个子文件夹,要把文件夹中的大写数字全部重命名为小写数字,比如将二 三 四,改成: 2 34 在ChatGPT中输入提示词如下: 你是一个Python编程专家,要完成一个文件夹重命名的任务。具体步骤如…...
webpack:详解cache模块常用配置
背景 持久化缓存算得上是 Webpack 5 最令人振奋的特性之一,它能够将首次构建结果持久化到本地文件系统,在下次执行构建时跳过一系列解析、链接、编译等非常消耗性能的操作,直接复用 module、chunk 的构建结果。 cache 会在开发模式被设置成…...
云原生Kubernetes:Pod控制器
目录 一、理论 1.Pod控制器 2.Deployment 控制器 3.SatefulSet 控制器 4.DaemonSet 控制器 5.Job 控制器 6.CronJob 控制器 二、实验 1.Deployment 控制器 2.SatefulSet 控制器 3.DaemonSet 控制器 4.Job 控制器 5.CronJob 控制器 三、问题 1. showmount -e 报错…...
数据库基础与MySQL入门
在当今的数字化世界中,数据如同生命之水,它贯穿于各种应用和服务中。尤其在游戏行业,例如经典的《三国志》,数据库管理成了一个不可或缺的环节。这不仅涉及到用户信息的存储,还涉及到游戏状态、积分、交易等复杂的数据处理需求。 MySQL作为一个广受欢迎的数据库管理系统,…...
探索Java爬虫框架:解锁网络数据之门
引言: 随着互联网时代的发展,大量的数据被存储在各种网页中。对于开发者而言,如何高效地获取和处理这些网络数据成为了一个重要的问题。而Java作为一门强大的编程语言,也有许多优秀的爬虫框架供开发者选择和使用。本文将带您深入…...
智慧燃气平台的总体架构到底应怎样设计?
关键词:智慧燃气、智慧燃气平台、智能燃气、智能监控 智慧燃气平台功能设计的一些方向和思考: 1、资源统一,管理调度 城市燃气智慧调度运营管理平台收集并且整理出每个业务系统信息,并且根据所整理出的信息结果制定出标准规范&…...
MonkeyRunner测试步骤
首先把安卓SDK的 环境变量给配置好,这里就不再多解释,自己google 然后将自己的安卓设备打开调试模式,USB连接至电脑,运行CMD,输入命令adb devices 查看你的安卓设备的ID(ID后面写程序会调用),…...
Konva基本处理流程和相关架构设计
前言 canvas是使用JavaScript基于上下文对象进行2D图形的绘制的HTML元素,通常用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。基于Canvas之上,诞生了例如 PIXI、ZRender、Fabric、Konva等 Canvas渲染引擎,兼顾易用的同时…...
人工智能AI知多少?
摘要 人工智能(Artificial Intelligence,简称AI)是一项前沿技术,正在快速发展并渗透到各个领域。然而,对于大多数人来说,人工智能仍然是一个陌生而复杂的概念。本文旨在对人工智能进行扫盲,介绍其基本概念、应用领域以及当前热门的人工智能模型。通过具体的例子,读者将…...
leetcode1610. 可见点的最大数目(java)
可见点的最大数目 题目描述滑动窗口 题目描述 难度 - 困难 leetcode1610. 可见点的最大数目 给你一个点数组 points 和一个表示角度的整数 angle ,你的位置是 location ,其中 location [posx, posy] 且 points[i] [xi, yi] 都表示 X-Y 平面上的整数坐标…...
Apache Flume
Flume 1.9.0 Developer Guide【Flume 1.9.0开发人员指南】 Introduction【介绍】 摘自:Flume 1.9.0 Developer Guide — Apache Flume Overview【概述】 Apache Flume is a distributed, reliable, and available system for efficiently collecting, aggregati…...
【切片】基础不扎实引发的问题
本次文章主要是来聊聊关于切片传值需要注意的问题,如果不小心,则很容易引发线上问题,如果不够理解,可能会出现奇奇怪怪的现象 问题情况: 小 A 负责一个模块功能的实现,在调试代码的时候可能不仔细&#x…...
CVE-2023-5129 libwebp堆缓冲区溢出漏洞影响分析
漏洞简述 近日苹果、谷歌、Mozilla和微软等公司积极修复了libwebp组件中的缓冲区溢出漏洞,相关时间线如下: 9月7日,苹果发布紧急更新,修复了此前由多伦多大学公民实验室报告的iMessage 0-click 漏洞,漏洞被认为已经被…...
leetcode做题笔记155. 最小栈
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int get…...
蓝海彤翔亮相2023新疆网络文化节重点项目“新疆动漫节”
9月22日上午,2023新疆网络文化节重点项目“新疆动漫节”(以下简称“2023新疆动漫节”)在克拉玛依科学技术馆隆重开幕,蓝海彤翔作为国内知名的文化科技产业集团应邀参与此次活动,并在美好新疆e起向未来动漫展映区设置展…...
如何做自己个人网站/兰州seo技术优化排名公司
sprintf是格式化字符串最常用的方式。vsprintf可以很方便的使用va_list,对应的宽字符版本就是vswprintf。在跨平台上使用vswprintf,于是噩梦开始了。支持最好的当然是windows,一点问题都没有。mac/ios上如果是宽字节的英文字符则是正常的,如果…...
网盘做网站空间/网络营销的推广方法
一:索引优势劣势 优势 1) 类似于书籍的目录索引,提高数据检索的效率,降低数据库的IO成本。 2) 通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。 劣势 1) 实际上索引也…...
WordPress网站转HTPPS/在线识图
1.树的定义: (1)有且只有一个称为根的节点。 (2)有若干个互不相交的子树,这些子树本身也是一棵树。 eg: 2.通俗的定义: (1)树由节点和边组成。 (2…...
网站的下载链接怎么做/网站服务器一年的费用
场景:我们想要在php7扩展中调用用户自定的类中的方法,而且方法有多个参数,找到以下方 法,没有看到可以超过两个参数的方法。所以一直向下查找,发现zend_call_method调用的 zend_call_function,但是并非只能…...
做康复医院网站/集团网站推广
大概的思路:1、读取xml文件2、当一个下拉框选中某选项时,根据该选项,当前节点指向下一层,进入下一层下拉框的设置3、取消当前下拉框的禁用,禁用下一层的下拉框4、清空当前下拉框的选项5、根据当前节点读取xml的数据&am…...
四川专业旅游网站制作/线上销售平台都有哪些
如果培训机构已经向法院申请了破产清算宣布倒闭,学员或家长们该如何维权呢? 培训机构向法院申请破产后,消费者可以在法院规定的期限内向法院申报债权,并依照法定清偿顺序参与分配。 根据《中华人民共和国企业破产法》第一百一十…...