2009年下半年软件设计师上午真题的知识点整理(附真题及答案解析)

以下是2009年下半年软件设计师上午真题的知识点分类整理,涉及定义的详细解释,供背诵记忆。


1. 计算机组成原理

  1. CPU与存储器的访问。

    • Cache的作用: 提高CPU访问主存数据的速度,减少访问延迟。
    • 存储器的层次结构: 包括寄存器、Cache、主存和辅存。
  2. DMA控制方式。

    • DMA (Direct Memory Access): 在主存与I/O设备之间直接建立数据通路,无需CPU干预。
  3. 局部性原理。

    • 时间局部性: 程序中的某条指令一旦被执行,不久后可能会再次执行。
    • 空间局部性: 程序访问某个存储单元后,其邻近的存储单元也可能会被访问。

2. 校验与错误检测

  1. 海明码与奇偶校验。

    • 海明码: 通过增加校验位进行错误检测与纠正。
    • 奇偶校验: 通过奇偶位检测数据中的错误。
  2. 循环冗余校验(CRC)。

    • CRC: 采用模2运算构造校验位,用于检测数据传输中的错误。

3. 网络与安全

  1. 防火墙类型。

    • 包过滤防火墙: 根据IP地址、端口号等过滤数据包。
    • 应用级网关: 检查应用层协议的内容,过滤特定应用的数据。
  2. 安全电子邮件协议。

    • SSL/HTTPS: 提供加密通信,保护电子邮件传输安全。
    • PGP: 用于加密和签名电子邮件。
  3. 数字证书与数字签名。

    • 数字证书: 包含用户公钥,用于身份认证。
    • 极简签名: 用于确保消息的不可否认性。
  4. 病毒类型。

    • 蠕虫病毒: 通过网络传播,破坏系统或数据。

4. 软件工程与开发

  1. 软件著作权归属。

    • 职务开发: 软件著作权归公司所有。
    • 委托开发: 归属按约定,无约定时归属于开发者。
  2. 数据流图建模原则。

    • 自顶向下、从抽象到具体: 结构化分析方法的核心原则。
  3. 模块内聚与耦合。

    • 高内聚低耦合: 模块内部紧密相关,模块之间依赖降低。
  4. 项目活动图与关键路径。

    • 关键路径: 决定项目最短工期的活动序列。
    • 松弛时间: 活动在不影响项目工期下的延迟时间。
  5. 软件风险。

    • 风险识别与控制: 识别潜在风险并采取措施控制。

5. 程序设计语言与编译

  1. 程序设计语言的控制结构。

    • 控制结构: 顺序、选择、循环。
  2. 编译过程中的语法分析。

    • 语法分析: 分析语句的结构是否符合程序语言的语法规则。
  3. 符号表的作用。

    • 符号表: 用于记录源程序中符号的类型和特征等信息。
  4. 后缀表达式(逆波兰式)。

    • 逆波兰式: 运算符在操作数之后的表达式表示方式。

6. 操作系统与进程管理

  1. 进程调度与状态转换。

    • 先来先服务调度: 按进程到达顺序进行调度。
    • 进程状态: 运行、就绪、等待。
  2. PV操作与进程同步。

    极简 PV操作: 用于实现资源的互斥使用,防止多个进程同时访问共享资源。

  3. 磁盘调度算法。

    • 最短寻道时间优先(SSTF): 优先服务距离当前磁头位置最近的请求。

7. 文件系统与路径

  1. 文件路径表示。

    • 绝对路径: 从根目录开始的路径。
    • 相对路径: 从当前目录开始的路径。
  2. 位示图与磁盘管理。

    • 位示图: 用于记录磁盘块的空闲状态。

8. 软件测试与维护

  1. 测试用例设计原则。

    • 等价类划分: 将输入域划分为有效和无效等价类。
  2. 软件维护类型。

    • 改正性维护: 修复软件中的错误。
    • 改善性维护: 提高系统性能或增加功能。

9. 面向对象设计

  1. 类与对象。

    • 类的成员变量与成员函数: 分别称为属性和方法。
  2. 设计原则。

    • 单一责任原则: 一个类应该只有一个引起它变化的原因。
    • 开放-封闭原则: 对扩展开放,对修改封闭。
  3. 继承与多态。

    • 继承: 子类继承父类的属性和方法。
    • 多态: 同一个方法在不同子类中有不同实现。

10. UML与设计模式

  1. UML类图。

    • 类图: 描述类之间的关系,如继承、关联等。
  2. 设计模式。

    • 工厂模式: 用于创建对象,封装对象的创建过程。
    • 单例模式: 确保一个类只有一个实例。

11. 数据库与事务

  1. 关系数据库的候选键。

    • 候选键: 能唯一标识元组的最小子集。
  2. 事务的ACID特性。

    • 原子性: 事务要么全部执行,要么全部不执行。
    • 一致性: 事务执行前后数据库状态一致。
    • 隔离性: 并发事务互不干扰。
    • 持久性: 事务提交后,结果永久保存。

12. 数据结构与算法

  1. 二叉树的遍历。

    • 先序遍历、中序遍历、后序遍历: 不同遍历顺序的输出。
  2. 散列函数与冲突解决。

    • 散列函数: 将关键字映射到存储位置。
    • 线性探测法: 解决冲突的方法。
  3. 贪心算法与动态规划。

    • 贪心算法: 每一步选择局部最优解,希望最终得到全局最优解。
    • 动态规划: 将问题分解为子问题,记录子问题的解避免重复计算。

13. 网络与通信

  1. HTTP请求过程。

    • HTTP请求步骤: DNS解析、TCP连接、发送请求、接收响应、显示数据。
  2. TCP与UDP协议。

    • TCP: 提供可靠连接,保证数据有序、无差错。
    • UDP: 提供无连接服务,速度快但不保证可靠性。
  3. IP地址极简子网划分。

    • IP地址: 用于标识网络中的设备。
    • 子网划分: 将一个网络划分为多个子网。

以上是知识点的详细分类和解释,帮助系统化理解和记忆。

相关推荐
Eiceblue3 分钟前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf
面朝大海,春不暖,花不开11 分钟前
自定义Spring Boot Starter的全面指南
java·spring boot·后端
得过且过的勇者y11 分钟前
Java安全点safepoint
java
码农101号27 分钟前
Linux中shell编程表达式和数组讲解
linux·运维·服务器
powerfulzyh39 分钟前
非Root用户启动SSH服务经验小结
运维·ssh
夜晚回家1 小时前
「Java基本语法」代码格式与注释规范
java·开发语言
云道轩1 小时前
升级centos 7.9内核到 5.4.x
linux·运维·centos
是小满满满满吗1 小时前
传输层:udp与tcp协议
linux·服务器·网络
斯普信云原生组1 小时前
Docker构建自定义的镜像
java·spring cloud·docker
wangjinjin1801 小时前
使用 IntelliJ IDEA 安装通义灵码(TONGYI Lingma)插件,进行后端 Java Spring Boot 项目的用户用例生成及常见问题处理
java·spring boot·intellij-idea