以下是我在准备复试过程中整理的一些知识点,希望对大家有所帮助,祝大家顺利上岸!
内容过多,整理不易,若有错误之处欢迎大家指正!
微机原理
1、计算机的主要硬件指标?
机器字长:cpu一次能处理的数据位数
运算速度:(单位:MIPS 每秒执行百万条指令)
存储容量:存放二进制信息的总位数
2、虚拟存储器
指采用一定的方法讲一定的外村容量模拟成内存,同时对程序进出内存的方式进行管理,从而得到一个比实际内存大得多的内存空间,使得存储系统既具有相当于外存的容量,又有接近于主存的速度。
3、总线复用:
地址线与数据线复用
4、I/O接口的功能
实现设备的选择、实现数据缓冲达到速度匹配、实现数据格式转换
5、程序效率
指程序的执行速度和占用的存储空间
6、程序存储
指将程序和数据事先存放在计算机内部的存储器中,计算机在工作时自动取出并执行,不需要人工干预。
7、高速缓冲存储器Cache的作用
提高cpu访问主存的速度,极大缓和cpu和主存之间速度不匹配的矛盾。
8、端口是指可由cpu读或写的寄存器。(数据端口,状态端口,控制端口)
9、寄存器间接寻址用到的寄存器:BP,BX,DI,SI
10、总线:连接计算机各组成部件的公共数据通路。分为片级总线(连接cpu,存储器和I/O接口),片内总线(连接cpu内部的各个部件),系统总线(连接外部设备)。
三总线:数据总线:用来传送数据
地址总线:同来传送存储器或外设端口地址
控制总线:用于传送各种控制信号
11、8259A的结构:
IRR(中断请求寄存器):记录IR线上的各级中断请求
ISR(中断服务寄存器):保存当前正在响应的中断
IMR(中断屏蔽寄存器):对IRR中的相应中断源进行屏蔽
12、8086内部结构?
总线接口部件:完成cpu与存储器和外设的数据传传送
执行部件:取指令,指令译码,算术运算
13、指令队列的作用?
在执行指令的同时从内存中取出下一条指令,将取出的指令放在指令队列中,较少了cpu的等待时间,从而提高cpu效率。
14、怎样用16位寄存器实现对20位地址的寻址?
引入分段管理机制,先将16位段基地址左移4位,再加上16位偏移地址,构成20位物理地址。
15、中断是什么?
Cpu暂时停止当前工作,转去处理对应的中断服务程序,待事件处理完毕后,回到原先工作地方继续工作的过程。
16、响应中断的过程?
关中断,保护断点,获取中断类型号。
17、中断过程?
中断请求,中断判优,中断响应,中断服务,中断返回
18、指令执行过程
取指令、分析指令、读取操作数、执行指令、存放结果
19、吞吐量
指系统在单位时间内处理请求的数量
20、计算机的工作过程
①把程序和数据装入内存
②将源程序转换成可执行文件
③从可执行文件的首地址开始逐条执行指令
21、总线周期
利用总线完成一次读/写所休要的时间
22、A/D转换器的分辨率
数字输出量每增加一位所对应的模拟输入量的变化数值
23、如何实现地址线与数据线分时复用?
8086有16个地址/数据复用引脚,作为复用引脚,在总线周期的T1状态用来输出地址信息,在T2-T3状态,对于读周期来说处于浮空状态,对于写周期来说则传输数据
24、8086/8088最小/最大模式的区别?
最小模式是单处理器模式,只有一片微处理器;
最大模式可有多个微处理器,一个主处理器,多个协处理器;
最大模式相比于最小模式增设了总线控制器。
25、cpu与外设之间的数据传送方式
程序控制:分为程序查询和无条件传送方式。程序查询是cpu与外设数据传送之前。都要先检查外设状态,只有当外设处于“就绪”状态才能传送;无条件传送是始终要求外设处于“就绪”状态。
中断方式:让外设在数据准备好后再通知cpu去执行IN/OUT操作
DMA方式:外设直接和存储器进行数据交换,cpu放弃总线控制权交给DMAC进行控制
通道方式
26、8253的6种工作模式种有4种计数模式,2种定时模式
27、8259A有哪些中断优先级方式?
普通全嵌套(只能嵌套高优先级的中断)
特殊全嵌套(可以嵌套同级或高优先级中断)
优先级自动循环(其实优先级固定)
优先级特殊循环(起始优先级可设定)
中断屏蔽
28、串行通信的异步方式和同步方式?
同步:每次传送一个数据块,数据块内部字符之间的间隔是固定的
异步:通信中两个字符间的发送时间间隔是不固定的
29、多级存储系统
“cache——主存”层次和“主存——辅存”层次
目的:为了解决存储系统大容量、高速度和低成本之间相互制约的矛盾
数据库
1、什么是数据库
数据库是长期存储在计算机中的有组织的,可共享的数据集合
2、概念模式
数据库中全部数据的整体逻辑结构的描述
3、事务
数据库系统一组操作序列,这些操作要嘛都成功执行,要嘛都不执行,是一个不可分割的工作单位。
4、索引的目的
可快速定位数据在磁盘中的位置,避免从头至尾查找,从而加快数据查询速度。
5、游标的作用
通过游标机制可对SELECT语句的查询结果进行按行按列处理。
6、相容矩阵
说明事务对某数据对象的加锁请求在什么情况下可获准或被拒绝。
7、数据模型的三要素
数据结构,数据操作,数据约束
8、DBMS的基本功能
独立性,安全性,完整性,并发控制,故障恢复
9、DBMS的数据独立性是如何是是实现的?
将数据结构和数据文件从应用程序中分离出来,交给DBMS管理。
10、事务的性质?
ACID:原子性,一致性,隔离性,持久性
11.UML图
UML(统一建模语言),分为结构图和行为图;况图,类图,对象图,组件图,部署图;状态图,活动图
12、并发执行可能引起的问题?
丢失更新,读脏数据,读值不可复现
解决办法:采用加锁机制实现并发控制
13、数据字典
是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。
14、数据模型的分类?
层次模型,网状模型,关系模型,面向对象模型
15、什么是死锁?产生死锁的原因?
死锁是指多个进程因争夺资源而造成的一种阻塞现象
事务双方持有彼此所需要的锁而未释放,造成循环等待。
16、解除死锁状态?
将一事务作为牺牲品,把它撤销并回退,解除它的所有封锁,并恢复到初始状态
17、关系数据模型的数据完整性规则有哪些?
实体完整性规则,参照完整性规则,用户自定义完整性规则
18、数据库恢复的几种方法?
定期对整个数据库进行复制和转储;建立日志文件
19、为什么视图被称为虚表?/什么是视图?
在建立视图时,在数据字典中只存储有关视图的定义,而不存放数据,数据仍存放在基表中。
视图是建立在基本表之上的虚拟表,它具有与基本表相同的功能,可以对视图进行操作,但是对视图的修改不会影响基本表。
20、文件系统与数据库系统相比较,缺陷表现在?
数据联系弱,数据冗余,数据不一致
21、关系模式存在的问题?/产生异常的原因?/如何解决?
插入异常,删除异常,冗余及更换异常。
将多种数据集于一个关系模式中,使得属性间产生复杂的依赖关系。
按照需要,依照不同等级的范式分解模式。
22、什么是范式?
范式是指关系模式的规范形式。
23、为什么要进行关系模式的分解?
将低级别范式向高级别范式转换,其目的是消除异常。
24、互斥并发控制协议?
当一个事务访问某个数据对象时,不允许其他事务更新该数据对象。
25、数据库发生错误如何处理?
扫描日志文件,找到故障事务,撤销该事务并回退到该事务之前的正常状态
26、x锁协议:一个事务对数据对象A加了x锁,就可以对A进行读取和更新,加锁期间其他事务对A不能加任何锁
(s,x)加锁协议:读操作时,必须先给要操作的数据对象加s锁;写操作时,必须先给要操作的数据对象加x锁。(s锁与x锁,x锁与x锁互斥)
27、活锁现象
(s,x)加锁协议可能会出现活锁现象,若一数据对象已被加了s锁,其他事务要申请对它的x锁,就需要等待。若不断有事务对它申请s锁,使得数据对象一直被s锁占用,x锁得申请一直得不到获准
28、活锁得解决办法
采用先来先服务原则,按照请求加锁的顺序对事务排队
29、多粒度锁
行锁,页锁,表锁
30、产生死锁的必要条件
互斥条件,请求和保持条件,不剥夺条件,环路等待条件
31、处理死锁的基本方法
预防死锁,避免死锁,检测死锁,解除死锁
软件工程
1、瀑布模型?
前一阶段工作结束才能进行下一阶段工作。核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作。
2、软件工程三要素?
方法,工具,过程
3、螺旋模型?
结合快速原型和瀑布模型,不需要在刚开始就把所有事情都定义清楚,强调风险分析的特点。
4、软件工程步骤?
问题定义,可行性研究,需求分析,总体设计,详细设计,编码,单元测试
5、有哪些软件测试方法?
黑盒测试:仅根据I/O数据条件来设计测试样例
白盒测试:分析程序内部逻辑和执行路线来设计测试样例
6、死代码:永远不会被执行到的代码
7、内聚:一个模块内各元素结合的紧密程度
耦合:各个模块之间的互联程度
8、软件由数据、程序、文档组成
9、敏捷编程:敏捷开发以用户的需求为核心,采用迭代,循序渐进的方法进行软件开发
10、软件危机:软件开发和维护过程中遇到的一系列严重问题
11、软件生存周期:一个软件从定义,开发到使用和维护,直到最终被弃用的过程
12、影响软件维护的因素?
可理解性,可 测试性,可修改性
13、软件维护的目标
纠正在使用过程中暴露出的错误而进行的改正性维护
14、主要的软件工程方法
生命周期方法,面向对象方法
15、需求分析的任务
深入描述软件的功能,解决“做什么”的问题
16、结构化设计的要点
模块化、自顶向下、逐步求精
计算机网络
1、OSI体系结构TCP/IP五层模型的区别?
OSI模型(开放互联模型):应,表,会,传,网,数,物
TCP/IP五层模型:应,传,网,数,物。将表示层和会话层与应用层合并
2、各层模型的最小传输单位?
应用层:报文 (HTTP,FTP,SMTP,DNS)
传输层:报文段 (TCP,UDP)
网络层:数据报 (IP,ICMP)
数据链路层:帧 (PPP,CSMA/CD)
物理层:比特
ICMP(因特网控制报文协议):为提高IP数据报交付成功的几率,采用ICMP协议来让主机或路由器报告差错情况
3、ARP(地址解析协议)协议:用来解释IP地址所对应的MAC地址
4、DHCP(动态主机配置协议)协议:为新加入到计算机网络中的计算机自动分配IP地址
5、TCP的三次握手
①主机A向主机B发送SYN请求,请求建立连接
②主机B收到请求后向主机A发送SYNACK确认信号
③主机A收到SYNACK信号后再向主机B发送确认信号,准备传输数据
6、TCP,UDP的区别?
TCP是面向连接的可靠传输,面向字节流数据,传输慢
UDP是无连接的不可靠传输,面向报文数据,传输快
7、网络协议的三个核心要素:语法,语义,同步
8、TCP保证可靠传输的方法?
确认应答机制、超时重传机制、滑动窗口机制,流量控制机制,拥塞控制机制
9、主机间的通信方式/网络应用模型
客户——服务器(C/S):客户是服务的请求方,服务器是服务的提供方
对等(p2p):不区分客户服务器
10、电路交换:整个报文的比特流从源点直达终点
报文交换:将整个报文分组转发到相邻节点,通过查找转发表,转发到下一个节点
分组交换:将报文分组转发到相邻节点,通过查找转发表,转发到下一个节点
11、计算机网络的主要想能指标:带宽、时延
12、流量控制的常见方式?
停止——等待、滑动窗口,回退N步、选择重传
13、路由器的功能:路由选择、分组转发
14、DNS域名解析协议:实现域名与IP地址的相互转发
15、HTTP超文本传输协议:规定了在浏览器和服务器之间的请求和响应的格式和规则
16、浏览器输入地址后发生的事情?
①浏览器向DNS请求解析域名地址获取对应的IP地址
②浏览器与该服务器建立TCP连接
③浏览器向服务器发送HTTP请求
④服务器通过HTTP响应把文件发送给浏览器
⑤释放TCP连接
⑥浏览器解释文件
程序设计
1、C和C++还有java的区别?
C是面向过程的结构化编程语言,c++也支持面向过程编程,但更重要的是c++支持面向对象编程。C++具有封装,继承,多态特性
Java是纯面向对象的语言,也具有封装,继承,多态的特性,但是java不提供指针直接访问内存,更加安全。Java提供自动内存管理机制,不需要手动释放无用内存。Java不支持多重继承,也不支持操作符重载。
2、java和python的区别?
两者都是解释性语言。但是,
Java是静态语言,定义变量时必须声明数据类型。
Python是动态语言,定义变量不用声明数据类型。
3、指针和引用的区别?
指针是一个存储地址的变量,引用是原变量的一个别名。
指针可以为空,引用不能空;
指针可以重新赋值,而引用只能初始化一次
4、const的作用?
通常用来定义常量,被const修饰符修饰的变量不能被修改
5、static的作用?
定义局部静态变量:只初始化一次,在项目启动时就分配内存
定义全局静态变量/函数:只能在本文件中使用
定义类的静态成员变量/函数:不依赖于类对象的存在而存在
6、java创建一个线程类的方式?
继承Tread类,实现Runnable接口
7、线程的几种状态?
新生状态,可运行状态,阻塞状态,死亡状态
8、解释一下多态性?
指一段程序能够处理多种类型对象的能力
9、内联函数:将一些功能简单,规模较小又使用频繁的函数设计为内联函数,提高程序执行效率。(编译时将函数体嵌入在每一个调用处)
10、构造函数:初始化对象,在对象被创建时自动被调用。它的函数名与类名相同,没有返回值。
11、析构函数:完成对象被删除前的一些清理工作,在对象生存期即将结束前时被自动调用
12、友元函数:在类中用friend修饰的非成员函数,它可以直接访问类的私有成员。实现了不同类之间的数据共享。友元关系是单向的,不能传递也不能继承
13、函数重载:具有相同的函数名的多个函数,其形参类型和个数不同,编译器根据实参和形参进行最佳匹配,自动确定调用哪个函数,从而实现相同函数名完成不同的功能。
14、虚函数:在基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。它的作用是实现多态性。
15、纯虚函数:一个在基类中声明的虚函数,没有函数体,只能由派生类实现。
16、重写和重载的区别?
重写发生在子类和父类间,是同名函数有相同的参数列表,但是函数体不同
重载是同名函数的参数列表不同
17、const和define的区别?
const修饰变量,系统会分配存储单元并存放在静态存储区,进行类型检查
define本质是宏替换,不会分配存储单元且不进行类型检查
18、面向对象编程和面向过程编程的区别?
面向过程是根据解决问题的步骤编写函数然后一个一个依次调用
面向对象是把构成问题事务分解成各个对象。对象是为了描述某个事务在整个解决问题的步骤中的行为。
19、抽象数据类型
是把数据对象,数据对象之间的关系,数据对象的基本操作封装在一起的一种表达方式
20、栈和队列的区别?
1.栈先进后出,队列先进先出
2.对插入和删除操作的限定不同。栈是限定只能在一段进行插入和删除的线性表,队列是限定在一段进行插入,在另一端进行删除的线性表
21、栈和堆的区别?
1.栈是只允许在一端进行插入和删除的线性表,而堆是一种特殊的完全二叉树
2.栈由操作系统自动分配和释放,无需手动控制;堆的申请和释放由程序员控制
22、c中的malloc,free和c++中的new,delete有什么区别?
new,delete是操作符,可以重载;
malloc,free是函数,可以覆盖;
new可以调动对象的构造函数,delete调用相应的析构函数;
malloc和free仅仅是分配内存和释放内存
23、类与结构体的区别?
结构体存储在栈中,类的实例化可以存储在栈中,也可以存储在堆中
结构体的执行效率要比类高
结构体不可以继承,类可以继承
24、函数模板是什么?
指使用了模板计数定义了参数化类型的非成员函数,使程序能使用不同的参数类型调用相同的函数
25、泛型?
是把类型明确的工作推迟到创建或调用方法的时候才去明确的特殊类型
操作系统
操作系统是计算机资源的管理者
1、操作系统的特点:共享,并发,虚拟,异步
2、操作系统的主要功能:处理机管理,存储器管理,设备管理,文件管理
3、进程和线程的区别?
进程是资源分配的最小单位,线程是cpu调度的最小单位。
同一进程的线程共享本进程的资源和地址空间,而进程间则是资源独立,地址空间独立的。
4、存储器的层次结构有哪些?
主存,外存,高速缓存,寄存器
5、实时操作系统和分时操作系统的区别?
分时操作系统按照相等的时间片调度进程轮流运行,无法实时响应外部异步事件;实时操作系统能够在限定的时间内执行完所规定的功能,并在限定的时间内对外部异步事件做出响应。
6、os的组成?
驱动程序,内核,支承库,外围
7、什么是内存?
内存是与cpu直接交换数据的内部存储器,它用于暂时存放cpu中的运算数据
8、分页和分段的区别?
页是信息的物理单位,分页是系统的需要,为了提高内存利用率
段是信息的逻辑单位,分段是为了更好的满足用户的需要
9、什么是物理内存?什么是虚拟内存?两者的关系?
物理内存即内存条,当打开程序时,系统会将程序自动加载到物理内存上
虚拟内存可代替物理内存行使存储的功能,但是无法替代物理内存行使加载程序的功能。
关系:当运行的程序过多,物理内存不够时,系统会把一部分硬盘空间当作内存条使用,这就变成了虚拟内存
10、硬中断和软中断的区别?
硬中断:是由外设引发的,中断号由中断控制器提供,硬中断是可屏蔽的
软中断:是执行中断指令产生,中断号由指令直接指出,无需中断控制器,软中断不可屏蔽
11、中断和异常的区别?
中断是由系统中某事件引起的,该事件与现行指令无关
异常是由于执行现行指令引起的
12、线程的几种状态:新生状态,可运行状态,阻塞状态,死亡状态
13、进程的调度算法?
先来先服务、最短作业优先、优先级调度、时间片轮转
14、为什么需要进程同步?
当多个进程同时访问一个共享资源时,可能会发生冲突,因此需要进程同步,多个进程按顺序访问资源
15、程序的装入方式有哪些?
绝对装入,可重定位装入,动态运行装入
16、原子操作:不会被线程调度机制打断的操作
17、内存连续分配管理方式有哪些?
单一连续分配,固定分区分配,动态分区分配
18、饥饿:等待时间给进程推进和响应带来明显影响时成为饥饿
19、银行家算法:主要思想是为了避免系统进入不安全状态,在每次进行资源分配时,先检查系统是否有足够多的资源满足要求,若有则分配,若无则拒绝
版权声明:本文为CSDN博主「zhm_sky」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42194695/article/details/116094373
暂无评论