文章目录
1、计算机系统知识
1.1、计算机系统基础知识
1.1.1 计算机系统硬件基本组成
- 存储程序原理:程序和数据统一存储在同一个存储器中,这是冯·诺依曼体系最核心的思想。计算机通过读取存储器中的指令来自动执行任务,无需人工干预。
- 五大部件组成 :计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分构成。
- 运算器:负责执行算术和逻辑运算,核心是算术逻辑单元(ALU)。
- 控制器:作为指挥中心,通过指令计数器、指令寄存器等协调各部件按序工作。
- 存储器:分为主存(RAM/ROM)和外存(硬盘、U盘等),用于存放程序和数据。
- 输入设备:如键盘、鼠标,将外部信息转换为二进制信号输入计算机。
- 输出设备:如显示器、打印机,将处理结果以人类可识别的形式输出。
- 二进制表示:所有指令和数据均采用二进制形式表示,便于电子电路实现。
- 顺序执行:指令按存储顺序依次执行,由程序计数器(PC)控制下一条指令的地址。
- 指令结构:每条指令由操作码和地址码组成,操作码指明操作类型,地址码指明操作数地址。
1.1.2 中央处理单元
微程序:微程序是计算机控制器中用于解释执行机器指令的一组微指令序列,它存储在控制存储器中,通过逐条执行微指令来完成一条机器指令所对应的全部硬件操作。它位于计算机层次结构的最底层(通常被称为微程序级或硬联逻辑层之上)。
1.1.3、数据表示
- 进位标志(CF) = 最高位(符号位)的进位输出值。
- 溢出判断(OF) = Cn ⊕ Cn-1(最高位进位 ⊕ 次高位进位)
1.2、计算机体系结构
1.2.2、存储系统
- SRAM(静态随机存取存储器)和DRAM(动态随机存取存储器)
| 对比维度 |
SRAM(静态RAM) |
DRAM(动态RAM) |
| 存储原理 |
双稳态触发器(6个晶体管) |
1个晶体管 + 1个电容 |
| 是否需要刷新 |
❌ 不需要 |
✅ 需要(每隔几毫秒刷新一次) |
| 速度 |
快(纳秒级) |
较慢(有刷新延迟) |
| 集成度 |
低(单元结构复杂,占面积大) |
高(单元结构简单,占面积小) |
| 成本 |
高 |
低 |
| 容量 |
小 |
大 |
| 功耗 |
静态功耗低,高频时功耗大 |
整体功耗较低 |
| 典型应用 |
CPU高速缓存(L1/L2/L3 Cache) |
主存(内存条) |
SRAM = 静态 = 稳定 = 快但贵 → 做Cache
DRAM = 动态 = 要刷新 = 慢但便宜 → 做主存
1.2.3、输入输出技术
| 信息交换情形 |
传输方式 |
原因分析 |
| CPU与内存储器之间交换信息 |
同步传输 |
两者工作速度高度匹配,由系统时钟统一控制,无需额外的握手信号协调。 |
| CPU与PCI总线交换信息 |
同步传输 |
PCI总线是高速并行总线,设计用于连接高速外设,依赖统一的时钟信号进行数据传输。 |
| CPU与I/O接口交换信息 |
同步传输 |
I/O接口作为CPU与外设的桥梁,其与CPU的通信通常受系统时钟控制,以保证高速数据交换的效率。 |
| I/O接口与打印设备间交换信息 |
异步传输 |
打印机属于低速设备,其工作状态(如"准备就绪")不可预测,且与主机速度不匹配。必须通过"握手"信号(如选通、应答)来协调数据传输,确保数据不丢失。 |
2、程序设计语言基础知识
2.1、程序设计语言概述
2.1.1、程序语言的基本概念
| 对比项 |
形参 |
实参 |
| 位置 |
函数定义中 |
函数调用中 |
| 本质 |
变量(占位符) |
具体的值或表达式 |
| 内存 |
调用时才分配 |
调用前就已存在 |
| 作用 |
接收数据 |
传递数据 |
greet("Alice") # "Alice" 就是实参
def greet(name): # name 就是形参
print("Hello, " + name)
2.2、语言处理程序基础
2.2.3、解释程序基本原理
| 类型 |
是否可变 |
是否有序 |
元素可重复 |
| list |
可变 |
有序 |
可重复 |
| tuple |
不可变 |
有序 |
可重复 |
| dict |
可变 |
插入有序 |
键唯一 |
| set |
可变 |
无序 |
不可重复 |
6、结构化开发方法
6.2、结构化分析方法
笔记1:
- 在结构化分析方法中,系统建模被划分为三个核心维度:
- 功能建模 :使用数据流图(DFD) 描述系统中数据的流动、处理与存储,反映系统"做什么"的逻辑功能。
- 数据建模 :使用实体-关系图(E-R图) 描述系统中的数据对象、属性及其相互关系,构建系统的静态数据结构。
- 行为建模 :使用状态转换图(STD) 描述系统或对象在不同状态之间的迁移行为,反映系统对外部事件的响应和状态变化过程。
- 总结:在结构化分析方法中,数据流图 用于功能建模;实体-关系图(E-R图) 用于数据建模;状态转换图(STD) 用于行为建模
笔记2:
- 功能模型 → \rightarrow → 数据流图 (DFD):解决"系统做什么处理"的问题。
- 数据模型 → \rightarrow → 实体-联系图 (E-R图):解决"系统处理什么数据"的问题。
- 行为模型 → \rightarrow → 状态转换图 (STD):解决"系统何时做处理(时序/状态)"的问题。
7、面向对象技术
7.2、UML(统一建模语言)
| 关系类型 |
关键词 |
强弱程度 |
典型例子 |
本题适用性 |
| 继承 |
Is-a (是一个) |
最强 |
狗是动物 |
❌ 鼠标不是计算机 |
| 组合 |
Contains-a (强包含) |
强 (同生共死) |
鸟与翅膀、公司与部门 |
❌ 鼠标拔下来还能用 |
| 聚合 |
Has-a (弱包含) |
中 (可分离) |
计算机与鼠标、车队与车 |
✅ 正确答案 |
| 关联 |
Link (连接) |
弱 (长期持有) |
老师与学生、用户与订单 |
⚠️ 太宽泛,不如聚合精准 |
| 依赖 |
Use-a (使用) |
最弱 (临时) |
司机开车、人喝水 |
❌ 鼠标是电脑的组成部分,不仅仅是临时使用 |
10、网络与信息安全基础知识
| 端口号 |
协议名称 |
传输协议 |
核心功能 |
| 20 |
FTP (数据) |
TCP |
数据传输 |
| 21 |
FTP (控制) |
TCP |
控制连接 |
| 25 |
SMTP |
TCP |
邮件发送 |
| 53 |
DNS |
UDP |
域名解析 |
| 67 |
DHCP |
UDP |
IP地址自动分配 |
| 80 |
HTTP |
TCP |
网页浏览 |
| 110 |
POP3 |
TCP |
邮件收取 |
| 161 |
SNMP |
UDP |
简单网络管理 |
其他
- 人耳能听到的声音频率:20Hz至20kHz
- 软件设计的四个核心活动:体系结构设计、接口设计、数据设计和过程设计
- 面向对象设计的主要活动:识别类及对象、定义属性、定义服务、识别关系、识别包
- 面向对象设计的BCE模式
- 边界类 = 脸面(负责对外交流)
- 控制类 = 大脑/管家(负责指挥调度)
- 实体类 = 档案/仓库(负责存储数据)
- OOD三大基石:开闭、里氏与依赖倒转
- 开-闭原则 (OCP) :软件实体(类、模块等)应当对扩展 开放,对修改关闭。(即:加新功能靠新增代码,别改老代码)。
- 里氏代换原则 (LSP) :任何**基类(父类)**可以出现的地方,子类一定可以出现。(即:子类必须能完美替代父类,不能"掉链子")。
- 依赖倒转原则 (DIP) :要依赖于抽象 ,而不依赖于具体。(即:编程时盯着接口/标准看,不要盯着具体的实现类看)。