系统架构师(每日一练2)

每日一练

1.为实现对象重用,COM支持两种形式的对象组装,在()重用形式下,一个外部对象拥有指向一个内部对象的唯一引用,外部对象只是把请求转发给内部对象;在()重用形式下,直接把内部对象的接口引用传给外部对象的客户,而不再转发请求。 答案与解析

问题1

  • A.聚集
  • B.包含
  • C.链接
  • D.多态

问题2

  • A.引用
  • B.转发
  • C.包含
  • D.聚集

2.面向构件的编程目前缺乏完善的方法学支持,构件交互的复杂性带来了很多问题,其中( )问题会产生数据竞争和死锁现象。 答案与解析

  • A.多线程
  • B.异步
  • C.封装
  • D.多语言支持

3.Intemet网络核心采取的交换方式为()。答案与解析

  • A.分组交换
  • B.电路交换
  • C.虚电路交换
  • D.消息交换

4.某计算机字长32位,磁盘空间管理采用Bitmap,磁盘容量为300G,物理块大小是4MB,位示图大小是()个字。答案与解析

  • A.2400
  • B.3200
  • C.6400
  • D.9600

5.需求管理是一个对系统需求变更、了解和控制的过程。以下活动中,( )不属于需求管理的主要活动。答案与解析

  • A.文档管理
  • B.需求跟踪
  • C.版本控制
  • D.变更控制

6.在磁盘调度管理中,应先进行移臂调度,再进行旋转调度。假设磁盘移动臂位于21号柱面上,进程的请求序列如下表所示。如果采用最短移臂调度算法,那么系统的响应序列应为()答案与解析

请求序列柱面号磁头号扇区号
1289
2363
2396
32105
1784
32310
1779
23104
38108
  • A.②⑧③④⑤①⑦⑥⑨
  • B.②③⑧④⑥⑨①⑤⑦
  • C.①②③④⑥⑤⑦⑧⑨
  • D.②⑧③⑤⑦①④⑥⑨

7.在面向对象设计的原则中,()原则是指抽象不应该依赖于细节,细节应该依赖于抽象,即应针对接口编程,而不是针对实现编程。答案与解析

  • A.开闭
  • B.里氏替换
  • C.最少知识
  • D.依赖倒置

8.计算机采用分级存储体系的主要目的是为了()答案与解析

  • A.解决主存容量不足的问题
  • B.提高存储器读写可靠性
  • C.提高外设访问效率
  • D.解决存储的容量、价格和速度之间的矛盾

9.编译器的主要工作过程是将以文本形式输入的代码逐步转化为各种形式,最终生成可执行代码。现代编译器主要关注编译过程和程序的中间表示,围绕程序的各种形态进行转化与处理。针对这种特征,现代编译器应该采用()架构风格最为合适。答案与解析

  • A.数据共享
  • B.虚拟机
  • C.隐式调用
  • D.管道-过滤器

10.以下关于需求管理的叙述中,正确的是()。答案与解析

  • A.需求管理是一个对系统需求及其变更进行了解和控制的过程
  • B.为了获得项目,开发人员可以先向客户做出某些承诺
  • C.需求管理的重点在于收集和分析项目需求
  • D.软件开发过程是独立于需求管理的活动

解析


1.答案:BD
COM不支持任何形式的实现继承。
COM支持两种形式的对象组装:包含(Containment)和聚集(Aggregation)包含是一个对象拥有指向另一个对象的唯一引用。外部对象只是把请求转发给内部对象,所谓转发就是调用内部对象的方法。包含能重用内含于其他构件的实现,是完全透明的。如果包含层次较深,或者被转发的方法本身相对简单,包含会存在性能上的问题。因此 COM定义第二类重用形式,聚集。聚集直接把内部对象接口引用传给外部对象的客户,而不是再转发请求保持透明性是很重要的,因为外部对象的客户无法辨别哪个特定接口是从内部对象聚集而来的。


2.答案:A
面向构件的编程一般会涉及以以下构件交互问题:
(1)异步
当前的构件互连标准大都使用某种形式的事件传播机制作为实现构件实例装配的手段。其思想是相对简单的:构件实例在被期望监听的状态发生变化时发布出特定的事件对象;事件分发机制负责接收这些事件对象,并把它们发送给对其感兴趣的其他构件实例;构件实例则需要对它们感兴趣的事件进行注册,因为它们可能需根据事件对象所标志的变化改变其自身的状态。
(2)多线程
多线程是指在同一个状态空间内支持并发地进行多个顺序活动的概念。相对于顺序编程,多线程的引入为编程带来了相当大的复杂性。特别是,需要避免对多个线程共享的变量进行并发的读写操作可能造成的冲突。这种冲突也被称作数据竞争,因为两个或多个线程去竟争对共享变量的操作。线程的同步使用某种形式的加锁机制来解决此类问题,但这又带来了一个新的问题:过于保守的加锁或者错误的加锁顺序都可能导致死锁。
(3)多语青支持
面向构件编程会涉及多语言问题,在进行不同语言环境涉及互通,最佳状态是编程语言直接支持转发类的构造,则很多问题都能解决,编程的开销也将是最小的,但目前还没有主流的编程语言支持。(4)调用者封装
语言支持带来的另外一个好处是接口定义。当构件对外提供一个接口时,可能会涉及两种不同的意图。一方面,构件外部的代码可能会调用这个接口中的操作。另一方面,构件内部的代码可能需要调用实现这个接口的一些操作。


3.答案:A
Internet网的网络层核心协议是IP协议,而IP协议是一种分组交换的协议,所以应选A。
分组交换是将用户的消息划分为一定长度的数据分组,然后在分组数据上加上控制信息和地址,然后经过分组交换机发送到目的地址。


4.答案:A
题目指出磁盘容量为:300G,物理块大小是4MB。则物理盘块个数为:300GB/4MB=75x1024.每个物理盘块占用1个bit位来标识磁盘有没有被占用,系统中1个字是32位,所以字的个数:(75*1024) 132=2400


5.答案:A
需求管理的活动包括:1、变更控制2、版本控制3.需求跟踪4、需求状态跟踪


6.答案:D
最短移臂调度是指每次找距离当前磁头所在柱面最近的柱面。1、初始位置是21柱面,所以请求序列中最近的柱面是23,对应请求号2、3、8;(排除选项C)2.当前柱面是23,请求序列中最近的柱面是17,对应请求号是1、5、7;(排除选项A和选项B)3、当前柱面号是17,请求序列中最近的柱面是32,对应请求号是4、6;(排除选项A、B、C)4、当前柱面号是32,请求序列中最近的柱面是38,对应请求号是9;(排除选项B)综上,只有选项D满足。


7.答案:D
本题考查面向对象设计原则的相关概念。
单一职麦原则:设计目的单一的类。
开放-封闭原则:对扩展开放,对修改封闭。
李氏(Liskov):替换原则:子类可以替换父类。
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程接口隔离原则:作使用多个专门的接口比使用单一的总接口要好。
组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。
迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解。


8.答案:D
分级存储体系中,速度快的存储器,单位价格高,而速度慢的存储器,单位价格低,所以利用分级方式,能得到很好的性价比。


9.答案:A
本题主要考査对架构风格的理解和掌握。根据题干描述,现代编译器主要关注编译过程和程序的中间表示,围绕程序的各种形态进行转化与处理。这种情况下,可以针对程序的各种形态构建数据库,通过中心数据库进行转换与处理。根据上述分析,选项中列举的架构风格中,数据共享风格最符合要求。


10.答案:A
需求管理是一个对系统需求变更、了解和控制的过程。需求管理过程与需求开发过程相互关联,当初始需求导出的同时就启动了需求管理计划,一旦形成了需求文档的初稿,需求管理活动就开始了关于需求管理过程域内的原则和策略,可以参考:
①需求管理的关键过程领域不涉及收集和分析项目需求,而是假定已收集了软件需求,或者已由更高一级的系统给定了需求。
②开发人员在向客户以及有关部门承诺某些需求之前,应该确认需求和约束条件、风险、偶然因素、假定条件等。
③ 关键处理领域同样建议通过版本控制和变更控制来管理需求文档。

  • 40
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒人w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值