2025下半年软件设计师考前几页纸

该资料是软件设计师考试的核心备考精华,涵盖计算机组成与体系结构、操作系统、程序设计语言基础、数据结构、算法基础、系统开发基础、项目管理、面向对象技术、数据库系统、计算机网络、信息安全、知识产权与标准化 12 大核心模块,聚焦各模块高频考点、关键公式、核心定义、典型对比 (如排序算法时间复杂度、网络协议端口、面向对象设计原则等),并通过公式、表格、步骤拆解等形式简化复杂知识点,是考前高效复盘的关键资料。

一、计算机组成与体系结构
  1. 寻址方式 :速度排序为立即寻址(最快)> 寄存器寻址 > 直接寻址(最慢),立即寻址操作数本身在指令中,直接寻址需访问内存。
  2. 数据传输方式
    • 程序控制方式:硬件开销小,CPU 利用率低,不可并行。
    • 程序中断方式:CPU 无需等待,可并行,响应速度提升。
    • DMA 方式:主存与外设高速批量传输,效率最高,可并行。
  3. 存储访问速度通用寄存器 > Cache > 内存 > 硬盘
  4. 流水线计算:执行时间 = 单条指令所需时间 +(n-1)* 流水周期(流水周期为指令分段中最长段时间)。
  5. 可靠性与可用性
  1. 校验码

    校验码类型 位置 功能
    奇偶校验 信息头部 检奇数位错,不可纠错
    CRC 循环冗余校验 信息尾部 检错,不可纠错
    海明校验 信息中间 检错,可纠错
  2. 浮点数运算:阶码位数决定表示范围,尾数位数决定有效精度;对阶时小数向大数看齐,尾数右移。

二、操作系统
  1. 线程资源
    • 共享内容:进程代码段、公有数据、文件描述符、信号处理器、当前目录、用户 ID / 组 ID。
    • 独有内容:线程 ID、寄存器组、线程堆、错误返回码、信号屏蔽码。
  2. 路径类型:绝对路径(根目录开始)、相对路径(当前目录开始)。
  3. 进程状态:运行(占用 CPU)、就绪(缺 CPU)、阻塞(等待事件,缺 CPU 也无法运行)。
三、程序设计语言基础
  1. 解释与编译区别:编译生成独立目标程序,执行效率高;解释无独立目标程序,边解释边执行,效率低。
  2. 控制结构:顺序结构、选择结构、循环结构。
  3. 语法分析层级
    • 词法分析:检测非法字符、单词拼写错误。
    • 语法分析:检测标点错误、括号不匹配、缺少操作数。
    • 静态语义分析:检测运算符与运算对象类型不匹配、浮点数取余等。
四、数据结构
  1. 数组存储地址计算

    数组类型 存储方式 存储地址公式
    一维数组 a [n] - a[i] = a + i×len
    二维数组 a [m][n] 按行存储 a[i][j] = a + (i×n + j)×len
    二维数组 a [m][n] 按列存储 a[i][j] = a + (j×m + i)×len
  2. 顺序表与链表对比

    性能类别 项目 顺序存储 链式存储
    空间性能 存储密度 =1(更优) <1
    空间性能 容量分配 事先确定 动态改变(更优)
    时间性能 查找运算 O(n) O(n)
    时间性能 读运算 O (1)(更优) O (n)(最好 1,最坏 n)
    时间性能 插入运算 O (n)(最好 0,最坏 n) O (1)(更优)
    时间性能 删除运算 O(n) O (1)(更优)
  3. 树的核心知识点

    • 二叉树特性:第 i 层最多2i−1个结点;深度 k 最多2k−1个结点;叶子结点数 n0 = n2 + 1(n2 为度 2 结点数)。
    • 特殊树:满二叉树(所有结点度 0 或 2)、完全二叉树(最下层左集中)、平衡二叉树(左右子树高度差≤1)、哈夫曼树(带权路径最短)。
    • 遍历方式:前序(根→左→右)、中序(左→根→右)、后序(左→右→根)、层次遍历(按层)。
  4. 图的核心知识点

    • 存储方式:邻接矩阵(n 阶方阵,1 表有边)、邻接表(顶点 + 邻接顶点链表)。
    • 遍历方式:深度优先(类似前序,递归)、广度优先(按邻接顶点依次访问)。
    • 拓扑排序:AOV 网中按活动优先关系生成的无冲突序列。
五、算法基础
  1. 查找算法

    • 顺序查找:从头到尾比较,无前提,时间复杂度 O (n)。
    • 二分查找:需有序顺序存储,mid=(low+high)/2,时间复杂度 O (log₂n)。
    • 散列表查找:通过散列函数映射存储,核心是解决冲突。
  2. 排序算法对比

    排序类别 排序方法 平均时间复杂度 特殊情况时间复杂度 空间复杂度 稳定性
    插入排序 直接插入 O(n²) 基本有序 O (n) O(1) 稳定
    插入排序 Shell 排序 O(n¹.³) - O(1) 不稳定
    选择排序 直接选择 O(n²) - O(1) 不稳定
    选择排序 堆排序 O(nlog₂n) - O(1) 不稳定
    交换排序 冒泡排序 O(n²) 基本有序 O (n) O(1) 稳定
    交换排序 快速排序 O(nlog₂n) 基本有序 O (n²) O(1) 不稳定
    归并排序 - O(nlog₂n) - O(n) 稳定
    基数排序 - O(d(n+rd)) - O(rd) 稳定
  3. 排序算法应用场景

    • n 较小:直接插入、简单选择(数据量大选简单选择)。
    • 基本有序:直接插入、冒泡排序。
    • n 大 + 关键字位数少:基数排序。
    • n 大:快速排序(随机分布最优)、堆排序(空间优)、归并排序(稳定)。
  4. 算法思想与典型问题

    算法思想 核心特征 典型问题
    分治法 拆分相同子问题,递归解决 归并排序、快速排序、二分搜索
    贪心法 局部最优,整体未必最优 背包问题、多机调度、找零钱
    动态规划 最优子结构,存储子问题结果 矩阵乘法、LCS 最长公共子序列
    回溯法 试探 + 回退,遍历所有解 N 皇后问题、迷宫、背包问题
六、系统开发基础
  1. 软件开发模型
    • 瀑布模型:文档驱动,需求明确。
    • V 模型:测试贯穿,验证确认早期。
    • 原型模型:迭代,需求不准确。
    • 螺旋模型:瀑布 + 原型 + 风险分析,适用于高风险系统。
    • 增量模型:核心产品为首个增量,逐步迭代。
    • 喷泉模型:面向对象,迭代无间隙。
  2. 模块设计原则:大小适中、减少调用深度、多扇入少扇出、单入口单出口、作用域在模块内、功能可预测。
  3. 内聚性(从低到高):偶然聚合→逻辑聚合→时间聚合→过程聚合→通信聚合→顺序聚合→功能聚合(最优)。
  4. 耦合性(从低到高):非直接耦合→数据耦合→标记耦合→控制耦合→外部耦合→公共耦合→内容耦合(最差)。
七、项目管理
  1. 关键路径:从开始到结束的最长路径,决定项目最短工期。
  2. 总时差:活动最迟完成时间 - 最早完成时间(或最迟开始 - 最早开始),松弛时间为 0 的活动构成关键路径。
八、面向对象技术
  1. 核心概念:对象(属性 + 方法 + ID)、封装(隐藏细节,公开接口)、类(对象抽象)、继承(复用)、多态(不同对象响应不同)、消息(异步通信)。
  2. 7 大设计原则:单一职责原则、开放 - 封闭原则、李氏(Liskov)替换原则、依赖倒置原则、接口隔离原则、组合重用原则、迪米特(Demeter)原则。
九、数据库系统
  1. 分布式数据透明性:分片透明(无需关心分片)、复制透明(无需关心复制)、位置透明(无需关心存储位置)、局部映像透明(无需关心局部 DBMS)。
  2. 三级模式:外模式(用户视图)、模式(全局逻辑结构,基本表)、内模式(物理存储结构,存储文件)。
  3. 范式:1NF(属性不可再分)、2NF(无部分依赖非主属性)、3NF(无传递依赖非主属性)。
  4. 事务 ACID 特性:原子性(要么全做要么全不做)、一致性(状态合法转换)、隔离性(并发不可见)、持久性(提交后永久有效)。
十、计算机网络
  1. TCP/IP 协议核心参数

    协议 端口 功能 特性
    POP3 110 邮件收取 -
    SMTP 25 邮件发送 -
    FTP 20(数据)/21(控制) 文件传输 -
    HTTP 80 网页传输 -
    DHCP 67 IP 自动分配 -
    SNMP 161 网络管理 基于 UDP
    DNS 53 域名解析 -
    TCP - 传输层 可靠、面向连接
    UDP - 传输层 不可靠、无连接
    ICMP - 网络控制 PING 基于此
    ARP - 地址转换 IP→MAC
  2. 网络诊断命令:ping(检查连通)、tracert(定位路径)、ipconfig(显示 TCP/IP 配置)、nslookup(DNS 查询)、netstat(显示网络连接)。

  3. URL 结构:协议名:// 主机名。组名。最高层域名。

十一、信息安全
  1. 加密技术
    • 对称加密:Ke=Kd,效率高,密钥分发难,算法有 DES、AES、3DES。
    • 非对称加密:Ke≠Kd,强度高,速度慢,算法有 RSA、DSA、ECC。
  2. 摘要算法:SHA、MD5(用于数据完整性校验)。
  3. 攻击类型:被动攻击(窃听、业务流分析)、主动攻击(假冒、DOS、重放)。
  4. 病毒特性:隐蔽性、传染性、潜伏性、触发性、破坏性。
十二、知识产权与标准化
  1. 著作权归属

    作品类型 情况说明 归属
    职务作品 利用单位物质技术条件 + 单位承担责任 除署名权外归单位
    职务作品 合同约定归属单位 除署名权外归单位
    职务软件 本职工作目标 / 活动结果 / 单位资源 单位享有著作权
    委托作品 合同约定 按约定
    委托作品 无约定 创作方
    合作开发 共同创作 共同享有(可分割单独申请)
  2. 保护期限:公民作品署名权、修改权、保护作品完整权永久保护;其他权利保护期为作者终生及死亡后 50 年。

  3. 侵权判定:未经许可发表、剽窃、篡改、未付报酬等 6 类行为。


4. 关键问题

问题 1:平衡二叉树的定义是什么?二分查找的判定树是否属于平衡二叉树?请说明理由。

答案 :平衡二叉树的定义是树中任一结点的左右子树高度之差的绝对值不超过 1。二分查找的判定树属于平衡二叉树,理由是:二分查找时每次将查找区间二分,形成的判定树中,每个结点的左右子树所包含的结点数相差最多 1,因此左右子树高度差不超过 1,完全符合平衡二叉树的定义。

问题 2:软件开发中 "高内聚低耦合" 的设计原则具体含义是什么?请分别列举内聚性和耦合性从低到高的 3 个等级。

答案 :"高内聚低耦合" 是模块设计的核心原则,高内聚 指模块内部各成分联系紧密,功能单一;低耦合指模块之间依赖程度低,接口简单,相互影响小。

  • 内聚性(从低到高):偶然聚合→逻辑聚合→时间聚合(后续还有过程聚合、通信聚合、顺序聚合、功能聚合);
  • 耦合性(从低到高):非直接耦合→数据耦合→标记耦合(后续还有控制耦合、外部耦合、公共耦合、内容耦合)。
问题 3:TCP 和 UDP 协议的核心区别是什么?请列举 3 个基于 UDP 协议的应用层协议及其对应端口。

答案 :TCP 和 UDP 的核心区别:TCP 是面向连接、可靠的传输层协议 ,支持流量控制、拥塞控制,适用于对可靠性要求高的场景(如文件传输);UDP 是无连接、不可靠的传输层协议,无复杂控制机制,开销小、实时性高,适用于对实时性要求高的场景(如语音视频)。基于 UDP 的应用层协议及端口:① SNMP(简单网络管理协议),端口 161;② DNS(域名解析协议),端口 53;③ DHCP(IP 地址自动分配协议),端口 67。

相关推荐
歪楼小能手6 小时前
Android16底部导航栏添加音量加减虚拟按键
android·java·平板
FrameNotWork6 小时前
HarmonyOS 教学实战(三):列表分页、下拉刷新与性能优化(让列表真正“丝滑”)
华为·性能优化·harmonyos
幸存者letp6 小时前
为什么 max(words, key=len) 中需要传 key=len
服务器·开发语言·c#
weixin_446260856 小时前
FastF1: 轻松获取和分析F1数据的Python包
开发语言·python
高山上有一只小老虎6 小时前
小红背单词
java·算法
Cosmoshhhyyy6 小时前
《Effective Java》解读第26条:请不要使用原生态类型
java·开发语言
郝学胜-神的一滴6 小时前
Linux下创建线程:从入门到实践
linux·服务器·开发语言·c++·程序人生·软件工程
山土成旧客6 小时前
【Python学习打卡-Day22】启航Kaggle:从路径管理到独立项目研究的全方位指南
开发语言·python·学习
我命由我123456 小时前
Python Flask 开发 - Flask 路径参数类型(string、int、float、path、uuid)
服务器·开发语言·后端·python·flask·学习方法·python3.11