1.【单选】
对多个模块或功能是否可共用同一个程序代码单元的代码方案设计,属于软件的哪个特性设计?
- A. 可复用性设计
- B. 可扩展性设计
- C. 安全性设计
- D. 可理解性设计
答案:A
2.【单选】
关于代码审查的说法错误的是( )
- A. 代码审查能够用于发现代码的bug
- B. 代码审查比程序运行测试的效率低,应减少代码审查会议
- C. 代码审查可用于纠正不规范的代码设计
- D. 代码在审查之前必须要成功地编译通过
答案:B
3.【单选】
针对面向对象设计原则,说法错误的是()
- A. 单一职责原则指一个类只允许定义一个方法
- B. 遵循开/闭原则能够提高代码的稳定性
- C. 接口行为分组一般按业务类型划分
- D. 遵循依赖倒置原则的代码增加了测试的难度
答案:A
4.【多选】
以下可以提高代码质量的方法有()
- A. 模块化设计
- B. 面向抽象编程
- C. 不做异常处理
- D. 统一使用固定的设计模式
答案:A,B
5.【单选】
“一个模块或类应该只实现一个或一种类型的业务职责”是面向对象设计的
- A. 单一职责原则
- B. 开闭原则
- C. 里氏替换原则
- D. 接口隔离原则
答案:A
6.【单选】
为了提高模块的独立性,模块内部最好是( )
- A. 逻辑内聚
- B. 时间内聚
- C. 功能内聚
- D. 通信内聚
答案:C
7.【单选】
提高程序可读性的有力手段是( )
- A. 选好一种程序设计语言
- B. 显式说明一切变量
- C. 使用三种标准控制语句
- D. 给程序增加适当的注释
答案:D
8.【单选】
面向对象设计中的()意图在不暴露内部数据结构的前提下,向外部对象提供遍历聚合元素的统一方法
- A. 单例模式
- B. 适配器模式
- C. 迭代器模式
- D. 观察者模式
答案:C
9.【单选】
( )不是良好编码的习惯
- A. 在开始编码之前建立单元测试计划
- B. 少使用break,continue等程序流程重定向关键词
- C. 确保注释与代码逻辑一致
- D. 保持变量名缩写和简短以便代码紧凑
答案:D
10.【单选】
数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是
- A. 数据、公共、无耦合、控制
- B. 无耦合、数据、控制、公共
- C. 控制、数据、无耦合、公共
- D. 控制、数据、公共、无耦合
答案:B
11.【多选】
以下关于程序结构规范合理的做法有()
- A. 多分支尽量采用switch…case
- B. 为了使代码美观,每一行都应格式对齐
- C. 尽量使用语句格式化
- D. 少用continue和break
答案:A,C,D
12.【单选】
为了提高软件的可维护性,在编码阶段合理的做法有()
- A. 减少代码版本更新
- B. 提高代码的抽象度
- C. 少写文档
- D. 养成好的程序设计风格
答案:D
13.【单选】
设函数C(X)定义问题X 的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。对于两个问题P1 和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得
出结论E(P1+P2)>E(P1)+E(P2),这个原理是( )的依据
- A. 模块化
- B. 逐步求精
- C. 抽象
- D. 信息隐藏和局部化
答案:A
14.【多选】
GoF将Java的设计模式总体分为了()
- A. 创建型模式
- B. 结构型模式
- C. 行为型模式
- D. 互动型模式
答案:A,B,C
15.【多选】
Java语言中,注释包含()
- A. 代码文件注释
- B. 类注释
- C. 方法注释
- D. 语句注释
答案:A,B,C,D
16.【单选】
初始化模块和结束模块,从块内联系看,被称为()
- A. 过程内聚
- B. 功能内聚
- C. 时间内聚
- D. 偶然内聚
答案:D
17.【单选】
模块的独立性是由内聚性和耦合性来度量的, 其中内聚性指的是
- A. 模块之间的联系程度
- B. 信息隐藏程度
- C. 模块内各元素彼此结合的紧密程度
- D. 接口的复杂度
答案:C
18.【多选】
应用程序编程接口(API)的设计,应包含( )
- A. API的调用者和提供者
- B. API的功能
- C. API的引用路径
- D. API的入参、出参和异常状态标识等
答案:A,B,C,D
19.【单选】
程序的三种基本控制结构是
- A. 过程、子程序和分程序
- B. 顺序、选择和循环
- C. 递归、迭代和回溯
- D. 调用、返回和转移
答案:B
20.【单选】
程序的三种基本控制结构的共同特点是
- A. 不能嵌套使用
- B. 只能用来写简单的程序
- C. 已经用硬件实现
- D. 只有一个入口和一个出口
答案:D
21.【单选】
“当目标数据源不是调用者所期望的类型,不能通过重新构造数据源和调用者代码的方式解决该问题”,此时应采用
- A. 享元模式
- B. 适配器模式
- C. 单例模式
- D. 迭代器模式
答案:C
22.【单选】
在进行模块设计时,由于A、B、C三个模块的规模非常小,因此把它们合并成一个模块D,则D模块的内聚类型为()
- A. 过程内聚
- B. 功能内聚
- C. 时间内聚
- D. 偶然内聚
答案:A
23.【单选】
关于内容耦合的描述正确的是( )
- A. 内容耦合是最高程度的耦合
- B. 两个模块都引用了同一个全局变量,则它们之间是内容耦合
- C. 应该尽量使用内容耦合
- D. 内容耦合的耦合程度比控制耦合要低
答案:A
24.【单选】
以下不属于软件系统的接口设计内容的是()
- A. 用户接口
- B. 管理员接口
- C. 内部接口
- D. 外部接口
答案:B
25.【单选】
针对接口设计的说法不正确的是()
- A. 接口需要标注访问路径
- B. 接口都必须有输入参数
- C. 接口都有名称
- D. 接口都有功能
答案:B
26.【单选】
模块本身的内聚是模块独立性的重要度量因素之一,具有最强内聚的是()
- A. 顺序内聚
- B. 过程内聚
- C. 逻辑内聚
- D. 功能内聚
答案:D
27.【多选】
使用软件设计模式时,不正确的做法有
- A. 遇到代码设计问题时,都应使用设计模式进行解决
- B. 不同的设计模式具有不同的代码优点,有的设计模式没有代码缺点
- C. 某种软件设计模式只能在代码设计中使用一次
- D. 软件设计模式没有编程语言类型的限制
答案:A,B,C,D
28.【单选】
在软件设计阶段应提供的文档是()
- A. 软件需求规格说明书
- B. 概要设计规格说明书和详细设计规格说明书
- C. 数据字典及流程图
- D. 源程序以及源程序的说明书
答案:B
29.【多选】
以下关于代码文档说法中,正确的有
- A. 代码文档应说明代码运行时环境及对应的具体版本号
- B. 代码文档一旦形成,便可以保持不变
- C. 代码文档应说明代码测试的方法,并提供相应的测试用例等
- D. 代码文档应与最终的软件代码版本保持一致
答案:A,C,D
30.【单选】
“某种类型对象实例频繁地创建或销毁,每次创建或销毁消耗大量的程序资源或性能”,此时应采用()
- A. 工厂方法模式
- B. 适配器模式
- C. 单例模式
- D. 迭代器模式
答案:C
31.【多选】
以下属于面向对象中“接口隔离”的优点的是
- A. 减少冗余行为
- B. 稳定性高
- C. 可复用性好
- D. 可读性好
答案:A,B,C
32.【单选】
“子类可以扩展父类的功能,但不能改变父类原有的功能
”,这符合面向对象设计的()原则
- A. 单一职责原则
- B. 开闭原则
- C. 里氏替换原则
- D. 接口隔离原则
答案:C
33.【单选】
要减少两个模块之间的耦合,则必须()
- A. 调用次数要少
- B. 传递参数要少
- C. 传递参数 要少且不传递控制型信息
- D. 传递参数 要少且不传递控制型信息且不引用同一个全局变量
答案:D
34.【单选】
以下哪种模块设计是最好的
- A. 高耦合、强内聚
- B. 低耦合、弱内聚
- C. 低耦合、强内聚
- D. 高耦合、弱内聚
答案:C
35.【单选】
在软件设计中,把一个时期内必须解决的问题按照优先级排序,从而确保每个问题都将被解决,且每个问题都将在适当的时候被解决,它属于软件设计的哪种方法( )
- A. 模块化
- B. 抽象
- C. 逐步求精
- D. 信息隐藏
答案:C
36.【单选】
“类或模块的代码对扩展是开放的,对修改是关闭的”是面向对象程序设计的
- A. 单一职责原则
- B. 开闭原则
- C. 里氏替换原则
- D. 接口隔离原则
答案:D
37.【单选】
某成绩查询模块的功能是提示学生成绩等级,包括A、B、C、D四个等级,调用模块向该模块传递不同的分数,该模块以此来判断显示给学生的成绩等级,此时成绩查询模块和调用模块之间的耦合称为()
- A. 数据耦合
- B. 公共耦合
- C. 控制耦合
- D. 内容耦合
答案:C
38.【单选】
模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )
- A. 内聚性和耦合性
- B. 局部化和封装化
- C. 抽象和信息隐藏
- D. 逐步求精和结构图
答案:A
39.【多选】
从程序语言表现形式来看,程序设计语言可以分为()
- A. 机器语言
- B. 汇编语言
- C. 高级语言
- D. 自然语言
答案:A,B,C
40.【单选】
下列说法正确的是()
- A. 模块的作用域在模块的控制域内
- B. 模块的控制域在模块的作用域之内
- C. 模块的控制域和模块的作用域有时相同
- D. 模块的作用域和模块的控制域都是一种层次结构
答案:A