软件设计师 知识点拾遗 2023年上半年
软件设计师 知识点拾遗 2023年上半年
上午题错了28个,险过险过,主要还是好多去年学的概念记不清楚了,这几天还是要多刷题。
上午题
- 第2题:

DMA控制器即为直接内存访问控制器(Direct Memory Access, DMA),它允许外设直接与主存交换数据,而无需CPU参与每次数据传输,从而解放CPU去执行其他任务。中断控制器同理。
- 第3题:

海明码是一种通过在数据位之间的特定位置上插入k个校验位,并据此扩大码距来实现检错和纠错功能的。设数据位是n位,校验位是k位,则n和k之间必须满足以下关系:
将题目中的8代入n,解出k至少为4。
- 第4题:

中断向量是计算机系统中用于快速定位中断处理程序(ISR, Interrupt Service Routine)的索引机制。它本质上是一个指针数组,其中每个向量存储了特定中断对应的处理程序的入口地址。当发生中断时,CPU通过中断向量表直接跳转到对应的ISR执行,无需手动查询。
- 第7题:

OSI层数 | 名称 | 核心作用 | 典型协议/设备 | 数据传输单位 |
---|---|---|---|---|
7 | 应用层 | 提供用户接口,实现具体网络服务(如文件传输、邮件收发)。 | HTTP, FTP, SMTP, DNS | 数据(Data) |
6 | 表示层 | 数据格式转换(编码/解码)、加密解密、压缩解压。 | SSL/TLS, JPEG, MPEG | 数据(Data) |
5 | 会话层 | 建立、管理、终止应用程序间的会话(连接)。 | NetBIOS, RPC, SIP | 数据(Data) |
4 | 传输层 | 提供端到端的可靠/不可靠传输,流量控制,错误校验。 | TCP, UDP | 段(Segment) |
3 | 网络层 | 逻辑寻址(IP)、路由选择、分组转发。 | IP, ICMP, OSPF, 路由器 | 包(Packet) |
2 | 数据链路层 | 物理寻址(MAC)、帧同步、差错控制、流量控制(局域网通信)。 | Ethernet, PPP, 交换机, 网桥 | 帧(Frame) |
1 | 物理层 | 定义电气/机械特性,传输原始比特流(0和1)。 | RS-232, 光纤, 网卡, 集线器 | 比特(Bit) |
- 第8题:

HTTPS 采用混合加密方式,即使用非对称加密算法和对称加密算法相结合的方式。整个握手过程中,服务器和客户端通过非对称加密算法进行通信,确认彼此身份后,再生成一个会话密钥,采用对称加密算法对后续的通信数据进行加密传输。
因此,浏览器和服务器之间用于加密HTTP消息的方式是会话密钥 + 对称加密。
- 第11题:

Web 应用防火墙是一种安全工具,可以在 Web 应用程序和互联网之间建立一道屏障,防止恶意攻击者利用已知或未知的漏洞进行各种攻击操作。常见的攻击方式包括登录口令暴力破解、恶意注册、抢票机器人等。
但是,流氓软件并非Web应用防火墙所能有效防护的范畴。流氓软件是指那些没有明确安装许可的、不良软件或广告软件,常常会通过欺骗、搭便车等方式侵入用户计算机系统,窃取用户信息或广告推销等。与Web应用防火墙不同,流氓软件需要通过杀毒软件、反恶意软件等安全工具来进行检测和清除。
- 第14题:

软件著作权属于自然人的,该自然人死亡后,在软件著作权的保护期内,软件著作权的继承人可以继承除署名权外的其他各项软件著作权。
- 第16题:

软件设计的一个基本原则是高内聚低耦合,过于集中的设计可能会导致系统的单点故障、性能瓶颈等问题,降低了系统的可靠性和可扩展性。
- 第33题:

管道—过滤器是一种经典的数据流驱动的软件架构风格,其核心思想是将系统拆分为一系列独立的处理单元(过滤器),这些单元通过管道连接,数据像水流一样在管道中传递,依次经过各个过滤器处理。该风格具有以下优点:
- 软件构件具有良好的隐蔽性和高内聚、低耦合的特点;
- 允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;
- 支持软件复用;
- 系统维护和增强系统性能简单;
- 允许对一些如吞吐量、死锁等属性的分析;
- 支持并行执行;
- 第41题和42题:

UML图以时间顺序组织对象之间的交互活动;对于42题而言,矩形中存在一个循环Loop[1…2],表示循环执行的次数最少一次最多两次,而矩形中的消息只有a和b,这意味着如果执行了c就不可能再执行a或者b,不执行a和b也不能执行c,因此选择C选项。
- 第44题和45题:

我们还是先来复习一下题目中提到的几个概念:
- 单例:单例模式确保一个类中只有一个实例,并提供一个全局访问点。它通过控制实例化过程,避免重复创建对象,节省资源。
- 抽象工厂:和工厂方法模式当中创建单一产品不同的是,抽象工厂模式当中创建了一个产品家族,即一系列相关或相互依赖的的对象。
- 生成器:生成器模式的特点是将对象的构造过程与其表示分离,使得同样的构建过程可以创建不同的表示,主要用于分步骤构建复杂对象。
- 原型:原型模式的核心思想是通过复制现有对象(原型)来创建新对象,而不是通过new实例化。因此原型模式可以基于克隆快速生成对象,避免重复执行耗时的初始化操作。
- 行为型:管理对象间的交互与职责分配。
- 结构型:通过组合类/对象形成更大结构。
- 创建型:对象创建机制,解耦客户端与实例化逻辑。
则不难看出题目中的是创建型设计模式中的原型设计模式,这一模式的主要思想是通过复制现有的对象来创建新的对象。
- 第46题和47题:

依旧是复习一下提到的几个概念:
- 策略模式:策略模式是一种将算法抽离出来的设计模式,它定义一系列算法(策略),并将每个算法封装成独立类,使它们可以互相替换,且算法的变化不影响使用它的客户端。
- 状态模式:状态模式的核心为:同一个动作在不同状态下有不同的表现。例如日常用的台灯,正常状态下按开关出现的是白光,护眼模式下同样按开关出现的却是黄光。
- 观察者模式:在观察者模式当中定义了对象间的一对多依赖关系,当一个对象(主题)状态改变时,所有依赖它的对象(观察者)都会自动收到通知并更新。
- 命令模式:命令模式将请求封装为独立的对象(命令),允许用户参数化客户端(调用者)与接收者(执行者),从而支持请求的排队、撤销、日志记录等操作。
对于旅游定价系统来说,不同的季节和节假日需要采取不同的定价策略,因此可以把不同的定价策略封装成独立的策略对象,并通过策略模式实现动态选择不同的策略。
- 第53题和54题:

要确定关系模式中的候选关键字,需满足以下条件:
- 闭包覆盖性:候选关键字的闭包(通过函数依赖集推导出的属性集合)必须包含所有属性(即等于属性集U)。
- 最小性:候选关键字不能有冗余属性(即去掉任一属性后,闭包不再覆盖U)。
对于本题而言,只有关键字ABD和关键字ACD的闭包满足以上要求,故关系模式R有两个候选关键字ABD和ACD。
而主属性指的是所有候选关键字中的属性,非主属性则不包含在任何候选关键字中。那么不难发现A、B、C、D均为主属性,则主属性和非主属性的个数分别为4和0。