系统架构师(每日一练7)
每日一练
1.关于网络延迟正确的是()。答案与解析
- A.在对等网络中,网络的延迟大小与网络中的终端数量无关
- B.使用路由器进行数据转发所带来的延迟小于交换机,
- C.使用internet服务器可最大程度地减小网络延迟
- D.服务器延迟的主要影响因素是队列延迟和磁盘10延迟
2.以下关于区块链所用系统中挖矿行为的描述中,错误的是()答案与解析
- A.矿工挖矿取得区块链的计账权,同时获得代币
- B.挖矿本质是尝试计算-个hash碰撞
- C.挖矿本质是一种工作量证明机制
- D.防止比特币双花攻击
3.CORBA构件模型中,()的作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调,()是最终完成客户请求的服务对象实现。答案与解析
问题1
- A.伺服对象激活器
- B.适配器激活器
- C.伺服对象定位器
- D.可移植对象适配器POA
问题2
- A.CORBA对象
- B.分布式对象标识
- C.伺服对象Servant
- D.活动对象映射表
4.在IPV6无状态自动配置过程中,主机将其()附加在地址前缀1111 1110 10之后,产生一个链路本地地址。答案与解析
- A.IPV4地址
- B.MAC地址
- C.主机名
- D.随机产生的字符串
5.以下关于软件架构风格与系统性能关系的叙述,错误的是()。答案与解析
- A.对于采用层次化架构风格的系统,划分的层次越多,系统的性能越差
- B.对于采用管道-过滤器架构风格的系统,可以通过引入过滤器的数据并发处理提高系统性能
- C.对于采用面向对象架构风格的系统,可以通过减少功能调用层次提高系统性能
- D.对于采用过程调用架构风格的系统,可以通过将显式调用策略替换为隐式调用策略提高系统性能
6.以下关于软件中间件的叙述,错误的是()。答案与解析
- A.中间件通过标准接口实现与应用程序的关联,提供特定功能的服务
- B.使用中间件可以提高应用软件可移植性
- C.使用中间件将增加应用软件设计的复杂度
- D.使用中间件有助于提高开发效率
7.假设文件系统采用索引节点管理,且索引节点有8个地址项iaddr0liaddn7,每个地址项大小为4B,iaddri0]iaddr4]采用直接地址索引,iaddr{5]和iaddr6]采用一级间接地址索引,iaddr7采用二级间接地址索引。假设磁盘索引块和磁盘数据块大小均为1KB字节,文件File1的索引节点如下图所示。若用户访问文件File1中逻辑块号为5和261的信息,则对应的物理块号分别为();101号物理块存放的是()。答案与解析
问题1
- A.89和90
- B.89和136
- C.58和187
- D.90和136
问题2
- A.File1的信息
- B.直接地址索引表
- C.-级地址索引表
- D.二级地址索引表
8.基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD方法有三个基础:功能分解、()和软件模板的使用。答案与解析
- A.对需求进行优先级排列
- B.根据需求自行设计系统的总体架构
- C.选择架构风格实现质量及商业需求
- D.开发系统原型用于测试
9.软件质量保证是软件项目控制的重要手段,()是软件质量保证的主要活动之一答案与解析
- A.风险评估
- B.软件评审
- C.需求分析
- D.架构设计
解析
1.答案:D
对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。在对等网络中,由于采用总线式的连接,因此网络中的终端数量越多,终端所能够分配到的转发时隙就越小,所带来的延迟也就越大。A选项错误。路由器一般采取存储转发方式,而交换机采取的是直接转发方式,相比存储转发方式,直接转发方式转发时延更小。因为存储转发方式需要对待转发的数据包进行重新拆包,分析其源地址和目的地址,再根据路由表对其进行路由和转发,而直接转发方式不对数据包的三层地址进行分析,因此路由器转发所带来的延迟要大于交换机。B选项错误。
数据在Internet中传输时,由于互联网中的转发数据量大且所需经过的节点多,势必会带来更大的延迟。C选项错误。
网络延迟=处理延迟+排队延迟+发送延迟+传播延迟。如果不考虑网络环境,服务器的延迟的主要因素是队列延迟和磁盘IO延迟。D选项正确。
2.答案:D
比特币网络通过“挖矿"来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比特币网络分布式记账系统的一致性。比特币网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格答案。随后比特币网络会新生成一定量的比特币作为区块奖励,奖励获得答案的人。A选项正确。本质上,挖矿的过程就是计算哈希函数,并以此来确认交易的过程。哈希函数值具有不可篡改、不可逆性。但哈希函数输入的原始数据长度是不定长的,可以随意长度,而得出的摘要值是固定长度的。因此,存在一个可能,同样一个哈希值对应的不止一个数据串。这个现象就是哈希碰撞。B选项正确。工作量证明机制(POW)是我们最熟知的一种共识机制。工作量证明机制PoW就是工作越多,收益越大。这里的工作就是计算出一个满足规则的随机数,谁能最快地计算出唯一的数字,谁就能做信息公示人。C选项正确。"双花”问题是指一笔数字现金在交易中被反复使用的现象。传统的加密数字货币和其他数字资产,都具有无限可复制性,人们在交易过程中,难以确认这笔数字现金是否已经产生过一次交易。在区块链技术中,中本聪通过对产生的每一个区块盖上时间戳(时间戳相当于区块链公证人)的方式保证了交易记录的真实性,保证每笔货币被支付后,不能再用于其他支付。在这个过程中,当且仅当包含在区块中的所有交易都是有效的且之前从未存在过的,其他节点才认同该区块的有效性。所以双花攻击解决的方法就是通过时间戳。用户发起的每一笔交易都有时间记录,“挖矿"行为不能防止双花攻击,D选项错误
3.答案:DC
POA是对象实现与ORB其他组件之间的中介,它将客户请求传送到同服对象,按需创建子POA,提供管理伺服对象的策略。
CORBA对象可看作是一个具有对象标识、对象接口及对象实现的抽象实体。之所以称为抽象的,是因为并没有硬性规定CORBA对象的实现机制。由于独立于程序设计语言和特定ORB产品-个CORBA对象的引用又称可互操作的对象引用(interoperable Object Reference)。从客户程序的角度看IOR中包含了对象的标识、接口类型及其他信息以查找对象实现。伺服对象(Servant)是指具体程序设计语言的对象或实体,通常存在于一个服务程序进程之中。客户程序通过对象引用发出的请求经过ORB担当中介角色,转换为对特定的伺服对象的调用。在一个CORBA对象的生命期中,它可能与多个伺服对象相关联,因而对该对象的请求可能被发送到不同的伺服对象。对象标识(Object ID)是一个用于在POA中标识一个CORBA对象的字符串。它既可由程序员指派,也可由对象适配器自动分配,这两种方式都要求对象标识在创建它的对象适配器中必须具有唯一性。
4.答案:B
IPv6地址的格式前缀(FP)用于表示地址类型或子网地址,用类似于IPV4的CIDR表示方法表示。链路本地地址:前缀为1111 1110 10,用于同一链路的相邻节点间的通信。相当于IPv4的自动专用IP地址。为实现IP地址的自动配置,IPv6主机将MAC地址附加在地址前缀1111 1110 10之后,产生一个链路本地地址。
5.答案:D
对于采用层次化架构风格的系统,划分的层次越多,系统完成某项功能需要的中间调用操作越多,其性能越差。对于采用管道-过滤器架构风格的系统,通过引入过滤器的数据并发处理可以有效提高系统性能。对于采用面向对象架构风格的系统,可以通过减少功能调用层次提高系统性能。对于采用过程调用架构风格的系统,将显式调用策略替换为隐式调用策略能够提高系统的灵活性,但会降低系统的性能。
6.答案:C
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。软件中间件的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户开发和集成应用软件。它不仅仅要实现互连,还要实现应用之间的互操作。
7.答案:CD
根据题意,磁盘索引块为1KB,每个地址项大小为48,故每个磁盘索引块可存放1024/4=256个物理块地址。又因为文件索引节点中有8个地址项,其中5个地址项为直接地址索引,这意味着逻辑块号为04的为直接地址索引;2个地址项是一级间接地址索引,其中第一个地址项指出的物理块中是一张一级间接地址索引表,存放逻辑块号为5260对应的物理块号,第二个地址项指出的物理块中是另一张一级间接地址索引表,存放逻辑块号为261~516对应的物理块号。经上分析,从图中不难看出,逻辑块号为5的信息应该存放在58号物理块中,逻辑块号为261的信息应该存放在187号物理块中。
由题中可知,iaddr[7]采用二级间接地址索引,且iaddr71中存放的物理块号为101。1个地址项是二级间接地址索引,这意味着该地址项指出的物理块中存放的是256个一级间接地址索引表,故101号物理块存放的是二级间接地址索引表。
8.答案:C
ABSD方法有三个基础:
(1)功能的分解。使用己有的基于模块的内聚和耦合技术。
(2)通过选择体系结构风格来实现质量和商业需求。
(3)软件模板的使用。软件模板是一个特殊类型的软件元素,包括描述所有这种类型的元素在共享服务和底层构造的基础上如何进行交互。软件模板还包括属于这种类型的所有元素的功能,这些功能的例子有:每个元素必须记录某些重大事件,每个元素必须为运行期间的外部诊断提供测试点等。
9.答案:B
软件质量保证是软件质量管理的重要组成部分。软件质量保证主要是从软件产品的过程规范性角度来保证软件的品
质。其主要活动包括:质量审计(包括软件评审)和过程分析。