今年5月份开始准备考,没想到会突然改革,还好刷题刷的多,也过了。
跟着B站up主的视频学的,都学了一遍之后才开始刷题,平时要上班,也就下班和周末能学,时间可能拉的比较长,学完前面的内容已经忘的差不多了。
下半年改成机考,上午题和下午题合在一起考,时间也缩短了一个小时。机考对于上午题来说没太大区别,就是题目打乱了,改动大的可能是考点,虽然考前把15年到23年的真题都刷了,然后近几年的又重复刷,熟悉的题目有,但是不多,考了挺多不认识的概念。下午题题型没有变化,就是那个软件是真的难用!!!
机考有自带计算器,没怎么用,还是用草稿纸。因为软件上有倒计时,所以不让带手表进考场。
B站up主:zst_2001
公式
计算海明码公式
数据位是n位,校验位是k位,则n和k必须满足以下关系:2k-1≥n+k
指令流水线
一条指令执行时间分取指、分析、执行三段,n条指令所需时间:第1条指令的执行时间+(n-1)*(最长时间段)
进程死锁计算公式
m为资源数量,n为进程数量,k为每个进程需要的资源数量
m≥n*(k-1)+1
位示图:需要统一单位
(磁盘容量/物理块大小)/字长位数
串联系统
R=R1R2…Rn
并联系统
R=1-(1-R1)(1-R2)…(1-Rn)
单缓冲区
T为输入时间,M为传输时间,n为作业个数,C为处理时间:
计算单缓冲区花费的时间:(T+M)*n+C
双缓冲区
T为输入时间,M为传输时间,n为作业个数,C为处理时间:
计算双缓冲区花费的时间:T*n+M+C
磁盘旋转调度算法
单个读取时间 = 旋转周期/物理块数量
X=处理完位置到下一个记录起始位置所需时间
顺序处理:(单个读取时间+单个处理时间+X)*(物理块数量-1) + (单个读取时间+单个处理时间)
优化处理:(单个读取时间+单个处理时间)*物理块数量
多级索引结构
UML图中
+public
-private
#protected
~package
DNS域名的查询次序
本地hosts文件–>本地DNS缓存—>本地DNS服务器—>根域名服务器
主域名服务器在接收到域名请求后,查询顺序是
本地缓存–>本地 hosts 文件–>本地数据库–>转发域名服务器
使用ping命令进行网络检测,按照由近及远原则
首先执行的是ping127.0.0.1,其次是ping本地IP,再次是ping默认网关,最后是ping远程主机
子网号可以为全0和全1,主机号不能为全0或全1,因此,主机数需要-2,而子网数不用
www的控制协议是HTTP
语法分析方法分为两类
自上而下(自顶向下)分析法和自下而上(自底向上)分析法,
递归下降分析法和预测分析法属于自上而下分析法,
移进-归约分析法属于自下而上(自底向上)分析法。
编译器的工作方式及特点是:先翻译后执行,用户程序运行效率高但可移植性差。
解释器的工作方式及特点是:边翻译边执行,用户程序运行效率低但可移植性好。
深度优先搜索(DFS)
邻接矩阵:时间复杂度O(n2) 邻接表:时间复杂度O(n+e)
广度优先搜索(BFS)
邻接矩阵:时间复杂度O(n2) 邻接表:时间复杂度O(n+e)
常见算法逻辑的时间复杂度
(1)单个语句,或程序无循环和复杂函数调用:O(1)
(2)单层循环:O(n);双层嵌套循环:O(n2);三层嵌套循环:O(n3)
(3)树形结构、二分法、构建堆过程:O(log2n)
(4)堆排序、归并排序:O(nlog2n)
(5)所有不同可能的排列组合:O(2n)
基本单词
- implements 实现接口
- extends 继承类
- private 私有的
- public 公共的
- abstract 抽象的
- protected 受保护的
- interface 接口
运算器
算术逻辑运算单元
累加寄存器
状态条件寄存器
通用寄存器组
控制器
程序计数器
指令寄存器
地址寄存器
指令译码器
原码、反码、补码、移码
浮点数
浮点数的加减运算过程:对阶、尾数计算、结果格式化
对阶时,小数向大数靠齐;
对阶是通过较小数向较大数的尾数右移实现的
RISC与CISC
寻址
①立即寻址:操作数直接存放在指令中,速度快,灵活性差
③直接寻址:指令中存放的是操作数的地址
⑤间接寻址:指令中存放了一个地址,这个地址对应的内容是操作数的地址
②寄存器寻址:寄存器存放操作数
④寄存器间接寻址:操作数放在内存单元中
公钥、私钥
公钥体系中,公钥是用于加密和认证,私钥用于解密和签名
数字证书对身份进行认证,数字签名确保消息不可否认
加密算法
对称密钥(私钥、私有密钥加密、共享密钥加密)算法:
1、DES
2、3DES
3、RC-5
4、IDEA
5、AES
6、RC4
非对称密钥(公钥、公开密钥加密)算法:
1、RSA
2、ECC
3、DSA
Hash函数
MD5摘要算法
SHA-1安全散列算法
词法分析
分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定
语法分析
对各条语句的结构进行合法性分析
分析程序中的句子结构是否正确
语法分析阶段可以发现程序中的所有语法错误
语义分析
进行类型分析和检查
语义分析阶段不能发现程序中所有的语义错误
语义分析阶段可以发现静态语义错误,不能发现动态语义错误,动态语义错误运行时才能发现
C/C++语言经过预处理、编译、汇编、链接后形成可执行程序
著作权(版权)
发表权受时间限制,署名权、修改权、保护作品完整权永远属于作者
Windows 无效地址: 169.254.X.X,Linux 无效地址: 0.0.0.0
三级模式结构
概念模式:基本表
外模式:视图
内模式:存储文件
设计模式(重点!!!要背!!!)
UML4种关系
依赖关系:一个事物发生变化影响另一个事物
泛化关系:特殊/一般的关系
实现关系:类元之间的语义关系
关联关系:结构关系
聚合关系:整体与部分生命周期不同
组合关系:整体与部分生命周期相同
包含关系
包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。表示符号:<>
扩展关系
用一个用例(可选)扩展另一个用例(基本例)的功能,将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。表示符号:<>
泛化关系
泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象
泛化关系用一条带有空心箭头的实线,它指向父元素
包含include
一个用例包含另一个用例,当基本用例执行时,被包含用例一定会执行。包含关系由基本用例指向被包含用例,关系是一条带箭头的虚线,虚线上包含<>
扩展extend
当一个用例执行时,可能会出现特殊情况和可选情况这个时候就会执行扩展用例。扩展关系由扩展用例指向基本用例,关系是一条带箭头的虚线,虚线上包含<>
泛化generalize
父用例泛化子用例,子用例继承父用例的所有属性和行为,并且父用例可以出现的地方,子用例都可以将其替换。
UML图
攻击类型
主动攻击:篡改、伪造、中断
被动攻击:窃听/截获
网络设备
物理层:中继器、集线器
数据链路:网桥、交换机
网络层:路由器
URL格式
协议名://主机名.组名.最高层域名
排序算法(重点!!!要背!!!)
算法
回溯法-N皇后问题
深度优先策略
达不到(最优)目标,就退回再走
分治法
将复杂问题分解成若干规模相同的子问题
动态规划
类似于分治法,但具有最优子结构性质和重叠子问题性质
贪心法
最优子结构、贪心选择性质
不从整体考虑只求当前局部最优解
分支限界法
以广度优先或最小耗费优先