欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

软考个人笔记

程序员文章站 2024-01-29 13:59:58
...
  1. 尾数决定精度,阶码决定范围:N=M.R*e
    
  2. 累加寄存器:暂时存放算术逻辑运算部件和ALU运算的结果信息,
    
    程序计数器:存放执行指令的的地方,计算之前就要用到,
    指令寄存器:保存当前正在执行的一条指令,
    地址寄存器:保存当前CPU所要访问的内存单元的地址;
  3. 流水执行时间:k+(n-1)t(最长的一段指令执行时间);吞吐率:n/k+(n-1)t
    
  4. 计算机系统的主存主要由DRAM构成。即动态随机存取存储器;
    
  5. DMA:直接寄存器存取。不需要CPU的任何干涉,是一种由DMA硬件完成的O/I操作的方式。并且CPU在一个总线周期结束时相应DMA的请求;
    
  6. 计算机系统可靠性。串联:R=R1*R2,并联:R=1-(1-R1)*(1-R2);
    
  7. 海明码纠错:2*k-1>N+K。N是数据位,K是校验位,
    
    CRC(循环冗余校验码):(报文+n(多项式位数-1)个0)/多项式,相同为0,不同为1,得到结果的位数是多项式位数-1+数据信息就是CRC编码;
  8. CPU依据指令周期的不同阶段来区分在内存中以二进制编码存放的指令和数据;
    
  9. VLIW是一种超长指令字的简称;
    
  10. 隐含寻址:不是明细地给出操作数的地址,
    寄存器寻址:操作数放在寄存器时,
    立即寻址:直接给出操作数本身的寻址方式,
    直接寻址:直接指出操作数在内存的地址;
  11. CISC是复杂指令系统计算机,RISC是精简指令系统计算器;
  12. CPU访问最快的是通用寄存器>Cache>内存>硬盘;
  13. 三总线结构的计算机总线系统由数据总线,地址总线和控制总线组成;
  14. 编译程序流程:词法(单词)->语法(结构,上下文无关文法)->语义(类型,上下文有关文法)->中间代码->代码优化->目标代码;
  15. 常用的中间代码表示形式:后缀式,树行式,三元式,四元式;
  16. C程序的全局变量的存储空间在静态数据区;
  17. 算术表达式“(a-b)(c+d)”的后缀式是ab-cd+
  18. 查询用顺序储存,插入和删除用链式储存;
  19. 具有n个节点的完全二叉树的深度为[log2n]+1;
  20. :根左右,中序:左根右,后序:左右根。一棵树一棵树遍历。
  21. 直接插入排序:先比较在插入,其后的记录依次往后移动,O(n),O(n2),O(1),稳定,
    冒泡排序:嵌套循环比较,O(n),O(n2),O(1),稳定,
    简单选择排序:依次挑选最小的一个一个排序,O(n2),O(n2),O(1),不稳定,
    希尔排序:按照增量分组,是直接插入排序的改进,O(1)不稳定,
    快速排序:依次分割为两部分,再依次排序,合并,分治法策略,O(nlgn),
    堆排序:适用于在很多个元素中找出前几个,O(nlog2n),O(nlog2n),O(1);
    顺序查找:O(n)
    二分查找:O(log2n);
  22. 完全二叉树:k-1是满的,k层左侧满的,
    最优二叉树:带权路径长度最短,
    平衡二叉树:左子树和右子树的高度之差的绝地址不超过1,查找效率是最高的,因为层数少;
  23. 线程是独立调度的最小单位,
    进程是拥有资源的最小单位,并且由程序,数据和进程控制块(PCB)组成;
  24. 银行家算法:先分配给一个进程,再释放给其他的进程;
  25. SPOOLing是用一类物理设备(虚设备)模拟另一类物理设备的技术;
  26. CPU占用时间:程序查询>中断>DMA>通道>I/O处理机;
  27. 磁盘读取时间:寻道时间+等待时间;
  28. 死锁:所有的进程都是阻塞节点;
  29. 位示图的大小 = 磁盘容量/(系统字长*物理块大小);
  30. 实时操作系统:是保证在一定的时间限制内完成特定功能的操作系统;
  31. 嵌入式系统初始化过程:片级初始化->板级初始化->系统级初始化;
  32. CMM软件成熟度模型:初始级(混乱),可重复级(重复之前项目),已定义级(定性),已管理级(定量),优化级(不断改进);
  33. 统一过程:初始(目标),精化(结构),构建(功能),移交(产品发布);
  34. 软件开发模型:
    瀑布模型:固定顺序,适用于需求明确或者二次开发,
    增量模型:每一个版本都可作为独立的作品,
    演化模型:快速分析构造出初始版本,一步一步改进,适用于需求不明确,
    螺旋模型:增加了风险分析,
    喷泉模型:描述面向对象的开发过程,具有迭代和无间隙特性,
    V模型:测试贯穿于软件开发的各个阶段;
  35. 软件开发方法:
    结构化方法:需求明确,面向数据流,自顶向下,逐层分解。难以修改,
    Jackson方法:面向数据结构。适合小规模的项目,
    原始化方法:适用于需求不清,业务不确定,需求经常变动的情况,
    敏捷方法:极限编程(XP,提倡测试先行,文档少),水晶法(因材施教),并列争 球法(迭代);
  36. 成本估算模型:
    Putnam模型:动态多变量模型,
    COCOMO:
    基本COCOMO模型:静态单变量模型,
    中级COCOMO模型:静态多变量模型,
    详细COCOMO模型:在中级基础上考虑成本驱动属性的影响;
  37. 进度管理:
    Gantt图(横道图):描述并行性,不能反映依赖关系,
    PERT图(有向图):能反映依赖关系,无法描述并行关系;
  38. McCabe复杂性度量 = m(边)-n(节点)+2;
  39. 管道过滤器不支持批处理和并发操作;
  40. 风险优先级通常是根据风险暴露(=概率*损失)决定的;
  41. 分治法:将大问题分组成规模较小的相同问题,分而治之,O(logn),
    动态规划法:根据最优解的性质,保证全局都是最优解,O(n),
    贪心法:仅根据当前已有的信息作出选择,达到局部最优,O(n²)线性的是O(n),
    回溯法:深度优先的策略,逐一试探,适用于迷宫类问题;
  42. SSL是封装HTTP(端口号80)/HTTPS(加密的HTTP,端口号443)/SMTP(端口号25,用于接收邮件 的POP3协议端口号为110),
    SSH是封装Telnet/FTP(21是命令端口,20是数据端口)在终端设备和远程站点之间建立的安全连接,是建立在应用层和传输层基础上的安全连接;
  43. 测试网络连通性通常采用的命令是ping,
    Ping 127.0.0.1先检查TCP/IP协议栈是否正常;
  44. RSA:属于非对称性算法,主要有数字签名和验签的功能,
    

数字签名:发送者不能抵赖对报文的签名,
接受者无法伪造和篡改消息,
可验证发送者的合法性;
SHA-1(160),MD5(128)属于信息摘要算法,用来生产信息摘要,
RC4属于对称加密算法,只能对数据进行加密;
45. 域名查询顺序:本地DNS缓存->HOSTS表->本地DNS服务器(将域名转换为IP地址);
46. 网络层次与主要设备对应关系:
物理层:中继器(扩大信号),集线器(多路中继器),
数据链路层:网桥(分析帧地址),交换机(多口网桥),
网络层:路由器(链接多个逻辑上分开的网络),
应用层:网关(连接不同类型且协议差别较大的网络);
47. 人耳能听到的音频范围:20Hz~20kHz;
48. 图像颜色数n和颜色深度m的关系为n=2的m次方;
49. TCP使用的流量控制协议是可变大小的滑动窗口协议;
50. VLAN是虚拟局域网,允许逻辑地划分网段;
51. 感觉媒体:直接作用于人的感觉器官,如文本,图形,图像等,
表示媒体:人为构造出来的编码,如图像编码,声音编码等,
表现媒体:信息输入输出的媒体,如鼠标,话筒,显示器,打印机等,
存储媒体:用于存储的物理介质,如硬盘,U盘等,
传输媒体:用于传输的物理介质,如光纤,电缆等,
52. 双协议栈技术:同时有IPV6和IPV4,
隧道技术:在IPV4上链接IPV6,
翻译技术:通信时语义翻译;
53. 著作权的主体:指享有著作权的人,组织,
著作权的客体:指著作权保护范围,如计算机程序及其有关文档;
54. 合同未做明确规定或者没有签订合同的,著作权归受托人;
55. 专利权:如果两家公司在同一天申请,则私下解决或者抽签,
商标权:如果两家公司在同一天申请,则谁先使用归谁,同时使用则私下解决或者抽签;
56. 没有期限:署名权,修改权,保护作品完整权,
注册商标:有效期10年,且在期满6个月内续注,
注册专利:有效期20年,不可续注,
实用新型和外观设计专利权:有限期10年不可续注;
57. 模块内部内聚(从低到高):
偶然内聚:没有直接关系,
逻辑内聚:逻辑相似,参数决定,
时间内聚:同时进行,
过程内聚:指定的过程顺序,
通讯内聚:相同数据结构,相同输入输出,
顺序内聚,顺序执行,输入后输出,
功能内聚,共同作用,缺一不可;
58. 模块间耦合(从低到高):
无直接耦合:无直接关系,
数据耦合:传递数据时调用,
标记耦合:传递数据结构,
控制耦合:控制变量,选择执行的某一功能,
外部耦合:软件外部环境,
公共耦合:公共数据结构(在公共数据环境),
内容耦合:模块内部关联;
59. 需求基线:通过了评审的需求规格说明书;
60. 系统分析过程:当前系统的物理模型->当前系统的逻辑(概念上的)模型->目标系统的逻辑模型->目标系统的物理模型;

  1. 系统设计的基本原理:
    

抽象:重点说明本质方面,而忽略非本质方面,
模块化:可组合,分解和更换的单元,
信息隐蔽:将将每个程序的成分隐蔽或封装在一个单一的设计模块中,
模块独立:高内聚,低耦合;
62. WebApp采用敏捷开发过程模型进行开发;
63. Web应用系统分析的模型:
内容模型:全部系列内容,
交互模型:网站的界面,
功能模型:与内容相关,
导航模型:定义导航策略,如超链接,
配置模型:环境和基础设施;
64. 测试阶段:
单元测试:对单个模块进行测试,由程序员自己测试,
集成测试:将模块组合起来测试,分为一次性组装和增量式组装,
确认测试:对已完成的软件进行功能上的测试,
系统测试:对软件进行性能测试,
回归测试:软件修改错误或者变更后,再进行测试;
65. 测试方法:
动态测试:程序运行时测试
黑盒测试:功能性测试,不了解代码结构,
白盒测试:结构性测试,明确代码流程;
静态测试:程序静止时,对代码进行人工审查
桌前检查:程序员自己对代码的检查,
代码审查:审查小组开程序评审会,
代码走查:让程序员手动运行测试用例,检查代码逻辑;
66. 测试策略:
自底向上:从底层模块开始测试,逐一合并模块。优点是较早地验证了底层模块,
自顶向下:先测试整个系统,再逐步向下。优点是较早地验证了系统的主要控制和 判断点,
三明治:二则都包括,优点二则都有,缺点测试工作量大;
67. 测试用例设计:
黑盒测试用例:
等价类划分:把所有的数据按照某种特性进行归类,而后在每类的数据里面选取一个即可,
边界值划分:将每类的边界值作为测试用例,如0-100,边界值为0,100,1,99四个;
白盒测试用例(覆盖层级低到高):
语句覆盖:覆盖所有语句,
判定覆盖:覆盖所有判断语句的条件的真假分支(大集体),
条件覆盖:每个独立的条件都要做一次真假分支的测试用例,如(a>0&&b<0)要有4个测试用例(小集体),
路径覆盖:所有可行路径都覆盖了;
68. 结构化开发方法是一种面向数据流的一种传统开发方法,自顶向下,逐层分解;
69. MTBF即平衡失效间隔时间,用来衡量一个产品的可靠性,
MTBE/(1+MTBF)是用来衡量计算机系统的可用性;
70. 软件维护:
更改性维护:暴露出系统内部的错误,
适应性维护:使系统适应环境的变化而进行的维护,
改善性维护:用户主动提出扩充原有系统的功能,
预防性维护:为未来的修改和调整奠定更好的基础;
71. 覆盖=重写:子类中重定义一个与父类同名同参的方法,
重载:在同类中,方法同名不同参,可以有不同的返回值类型,不同的访问修饰符,如:构造方法;
72. 面向对象基本概念:
对象:基本的运行实体,是类的实例,
消息:对象间进行通信的一种构造,是独立的概念,
类:对象的抽象,将实体的行为和属性提取出来,
封装:信息隐蔽技术,
继承:父类和子类直接共享数据和方法的机制,
多态:不同的对象对同一消息产生不同的结果,动态绑定是实现多态的基础;
73. 设计模式:
创建型设计模式:
抽象工厂模式:抽象接口,
构造器模式:类和构造分离,
工厂方法模式:子类决定实例化,
原型模式,原型实例,拷贝,
单例模式:唯一实例;
生成器模式:将一个复杂的对象,分成多分,使同样的构建过程,能有不同的表示, 这样的设计模式被称为建造者模式。
结构性设计模式:
适配器模式:转换,兼容接口,
桥接模式:抽象和实现分离,
组合模式:整体-部分,树形结构,
装饰模式:附加职责,
外观模式:对外统一接口,
享元模式:细粒度,共享,
代理模式:代理控制;
行为设计模式:
职责链模式:传递请求,职责,链接,
命令模式:参数化,命令记录,
解释器模式:文法,解释,
迭代器模式:顺序访问,
中介者模式,不直接引用,
备忘录模式:保存,恢复,
观察者模式:一对多的依赖关系,通知,自动更新,如订阅号,
状态模式:状态变成类,
策略模式,算法替换;
74. UML视图:
顺序图:展现了以时间顺序组织的对象之间的交互活动,
活动图:表示分支,合并,分岔和汇合,
通信图:由对象和消息组成的图,展现了时间之间的通信,
状态图:展现了单个对象在用例中的状态行为,可以没有终点,不能没有起点,
构件图:静态实现视图,展现了展现一组构件之间的组织和依赖,
部署图:系统静态部署视图,主要显示系统中软件和硬件的物理架构;
75. UML关系:
依赖:两个事物之间的的语义关系,
关联:描述一组链,链是对象之间的链接,
泛化:一般化和特殊化的关系,
实现:是类之间的语义关系;
76. 四种多态:
参数多态:不同数据参数,多种数据结构,
包含多态:涉及父子类型关系,
过载多态:同一个名字在再不同上下文中可代表不同的含义,
强制多态:强制类型转换;
77. 数据是信息的符号表达,信息是有特定释义和意义的数据;
78. 数据库系统(DBS):
数据库:数据的集合,
硬件:构成计算机系统的各种物理设备,
软件:操作系统,数据库管理系统及应用程序,
人员:相关人员,如用户,管理人员(DBA),设计人员等;
79. 数据库管理系统(DBMS):是数据库的机构,是一种系统软件,负责数据库的数据组织,数据操纵,数据维护,控制及保护和数据服务等功能;
80. 三级模式(物理->逻辑):
内模式:物理存储文件,
概念模式(模式):基本表,
外模式:将表处理成视图后展示给用户;
81. 两级映像:
模式/内模式映像:实现了概念模式到内模式之间的相互转换(保证了数据的物理独立性),
外模式/模式映像:实现了外模式但概念模式之间的相互转换(保证了数据的逻辑独立性);
82. 数据库设计:
需求分析:分析数据存储的要求,得到数据流图,数据字典,需求说明书,
概念结构设计:设计E-R图,即实体-属性图,
逻辑结构设计:将E-R图转换成关系模式(基本表),
物理设计:根据生产的表等概念,生产物理数据库;
83. 事务:一个操作序列,是数据库环境中不可分割的逻辑工作单位
原子性(操作):要么全做,要么全不做,
一致性(数据):事务发生后数据是一致的,A转给B,B不会收不到,
隔离性(执行):事务操作是互不干涉的,
持续性(改变):事务的操作结果是一直持续下去的;
84. 读脏数据:事务1对数据A进行了修改,事务2读数据A,而后事务1回滚,数据A回到原来的值,那么事务2对数据A的操作是无效的,读到了脏数据;
85. 海明码:校验位在2的n次方上
86. 数据字典的条目包括:数据流,数据项,数据存储,基本加工;
87. COCOMO II层次结构的三种不同规模估算选择:对象点,功能点,代码行;
88. 互斥信号量S初始值为1,共享信号量S初始值是资源的个数;
89. 程序调试:
试探法=回溯法:穷举法,一个一个试,如迷宫问题,
归纳法:特殊到一般,从个例找出数据,根据数据查处其他,
演绎法:一般到特殊;
90. 面向对象的静态绑定在编译时,动态绑定在运行时;
91. 语法制导翻译是一种静态语义分析方法;
92. 伪传递规则:若x->y在R上成立,且wy->z,则x->z在R上也成立;
93. 入队列和出队列操作都要遍历链表;
94. 哈希表的冲突是指:关键字不同的元素被映射到相同的存储位置;
95. 有n个节点,e条边,邻接链表的时间复杂度为(O(n+e))邻接矩阵(O(n²));
96. 网址结构:协议名://域名(主机名)/路径/网页文件名,如http://www.baidu.com.cn/channel/welcome.html;
97. BIOS(基本输入输出系统):是烧写在主板ROM上的一段固化程序,用来引导操作系统启动,只能读,不能写;
98. DES是对称加密算法,由于**相同,也成为共享**加密;
99. 属性不可再分属于1NF,
所有主键都不能单独决定其他属性,消除了部分依赖,是2NF,
不存在传递依赖,是3NF;
分解成多个关系模式后, R1交R2能推出R1-R2或者R2-R1F,叫无损分解,
分解成多个关系模式后,保持原来的依赖集不变,叫保持函数依赖;
100. 矩阵中无向图是对称的,有向图不是对称的,完全图没有无穷大;

  1. 运算器:
    算术逻辑单元:对数据的算术和逻辑运算,
    累加寄存器:存放运算结果,
    数据缓冲寄存器:暂时存放内存的指令和数据,
    状态条件寄存器:保存指令执行结果的条件码内容,如溢出标志;
    控制器:
    指令寄存器:暂存执行指令,
    程序计数器:存放执行地址,
    地址寄存器:保存当前访问的内存地址,
    指令译码器:分析指令操作码;

  2. 数的节点个数计算:n0(度为0的节点个数),n1(度为1)。。。。
    n0+n1+n2+n3+…-1 = n1+n22+n33+…;

  3. 用例之间的关系:
    包含关系:两个或两个以上的用例提取公共行为时,要做这件事必须先做另一件事,
    扩展关系:抽取的用例对于基础用例来说不是必须的,
    泛化关系:形成子用例和父用例;

  4. 数据流图设计原则:
    1.数据守恒原则:所有输出的数据都是从输入数据来的,
    2.守恒加工原则:输入和输出的名字不相同,
    3.对于每个加工,必须既有输入数据流,又有输出数据流,
    4.外部实体和外部实体间不存在数据流,
    5.外部实体和数据存储间不存在数据流,
    6.数据存储和数据存储间不存在数据流,
    7.父图和子图的平衡原则:子图的输入输出数据流必须同父图的输入输出流保持一致,
    8.数据流与加工有关,且必须经过加工;

  5. cache依据的是程序的局部性原理,程序中大部分指令是顺序存储,顺序执行的。
    计算平均读取时间:(1002%+1098%)+(1005%+1095%)20%=14.7

  6. 存储芯片总容量为16k4bit = 16k0.5B = 8KB;

  7. 单个文件最大长度=直接+一级+二级
    51+(2562)1+256256*1 = 66053

  8. 数据库中操作相关的写入日志文件中,数据相关的写入数据文件中;

  9. 把网络117.15.32.0/23划分为117.15.32.0/27.得到的子网是2的(27-23)次方=16个,主机地址是2的(32-27)次方-2=30个;
    A类网络号8位,B类网络号16位,C类网络号24位

  10. 层次化局域网的核心层只负责高速的数据转换;

  11. 霍夫曼编码最小的数相加,并且二叉树中左子树要小于右子树;

  12. 拓扑序列:找出图中一个节点入度为0的,最先执行此操作,并延续;

  13. 拆半查找,奇数除二要向下取整;

  14. 软件质量特性:
    (1)功能性:与一组功能及其指定的的性质的存在有关的一组属性
    1.1适合性:功能是否适合
    1.2准确性:能否得到正确的结果
    1.3互用行:交互操作
    1.4依从性:符合相关的标准,法规
    1.5安全性:避免对程序及数据意外访问的可能
    (2)可靠性:软件维持其性能水平有关的能力
    2.1成熟性:由软件故障引起失效的频度
    2.2容错性:软件错误下维持软件性能的水平
    2.3易恢复性:发生故障后,重新建立性能和恢复数据的能力
    (3)易使用性:用户的评价
    3.1易理解性:用户容易理解逻辑概念
    3.2易学性:用户容易学习其应用
    3.3易操作性:用户容易操作和控制
    (4)效率:软件的性能水平与所用资源量的关系
    4.1时间特性:处理时间以及吞吐量有关
    4.2资源特性:所使用的的资源量
    (5)可维护性:进行规定的修改所需要的努力
    5.1易分析性:诊断缺陷和失效的原因
    5.2易改变性:与进行修改,排错或适应环境变换相关
    5.3稳定性:与修改造成未预料结果的风险有关
    5.4易测试性:为确认经修改软件所需努力有关
    (6)可移植性:软件可从某一环境转移到另一个环境中
    6.1适应性:转移时的处理或手段
    6.2易安装性:安装软件所需的努力
    6.3一致性:服从于可移植性有关的标准和约定
    6.4易替换性:在该环境中替代其他环境的可能