计算机考研复试问题汇总(408+计算机前言知识)_计算机前沿系统复试(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

缺点:

①性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这7a64e78988e69d8331333236373831个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,需要花费一定的时间。

②修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。

Q:数据库为什么需要锁机制?有哪些锁机制?

https://www.cnblogs.com/xiaofengwang/p/11291944.html

保证数据库事务的一致性;防止出现(数据库的隔离级别:脏读,不可重复读,幻读等并发事件https://www.jianshu.com/p/d9389f27ca1a

锁分为行级锁、表级锁、悲观锁、乐观锁

Q:drop、truncate、 delete区别

  • drop直接删掉表。
  • truncate删除表中数据,再插入时自增长id又从1开始。
  • delete删除表中数据,可以加where字句。

Q:理解数据库的触发器

Q:重要的SQL语句举例

二、离散数学

Q:

三、计算机网络

Q:谈谈对TCP/IP协议的理解

Q:TCP的三次握手和四次挥手

Q:TCP和UDP的区别

1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。

3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

5、TCP对系统资源要求较多,UDP对系统资源要求较少。

Q:拥塞控制和流量控制都是什么,两者的区别?

流量控制是端到端的控制,例如A通过网络给B发数据,A发送的太快导致B没法接收(B缓冲窗口过小或者处理过慢),这时候的控制就是流量控制,原理是通过滑动窗口的大小改变来实现。 
拥塞控制是A与B之间的网络发生堵塞导致传输过慢或者丢包,来不及传输。防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至于过载。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络性能有关的所有因素。

Q:访问一个网页的过程

https://blog.csdn.net/huangwei18351/article/details/81456228

1、解析baidu.com域名对应的ip地址
      1.1使用ARP(Address Resolution Protocol)地址解析协议获得默认网关的MAC地址;
      1.2组织数据发送给默认网关(ip还是DNS服务器的ip,但是MAC地址变成了默认网关的MAC地址);
      1.3默认网关具有转发数据的能力,他把数据转发给路由器;
      1.4路由器根据自己的路由协议,选择一个合适的较快的路径转发数据给目的网关(DNS服务器所在的网关);
      1.5目的网关把数据转发给    DNS服务器;
      1.6DNS服务器查询解析出baidu.com对应的IP地址,并将此IP地址俺原路返回给请求这个域名IP的客户端。
2、得到baidu.com对应的IP后,客户端会发送TCP的三次握手,进行连接;
3、连接成功后,使用HTTP协议发送请求数据包给WEB服务器;
4、web服务器受到数据请求后,通过查询自己的服务器的到对应的结果,并将结果原路返回给浏览器;
5、浏览器收到数据后,通过浏览器的渲染结果来显示网页;
6、浏览器关闭TCP,即四次挥手离别。

四、操作系统

https://zhuanlan.zhihu.com/p/124284469

Q:操作系统的特点?

  1. – 共享:资源可被多个并发执行的进程使用
  2. – 并发:可以在同一时间间隔处理多个进程,需要硬件支持
  3. – 虚拟:将物理实体映射成为多个虚拟设备
  4. – 异步:进程执行走走停停,每次进程执行速度可能不同,但OS需保证进程每次执行结果相同

Q:操作系统的主要功能是什么?

  1. 处理机管理(包括进程控制、进程同步、进程通信、调度)
  2. 存储器管理(内存分配(静态/动态/连续/非连续分配)、内存包含、地址映射(逻辑地址–>物理地址)、内存扩充(虚拟存储技术))
  3. 设备管理(缓冲管理、设备分配、设备处理(启动设备、中断设备))
  4. 文件管理(文件存储空间管理、目录管理、文件读/写保护)

Q:操作系统发展过程?

  1. 无操作系统(人工操作方式):用户独占、CPU等待人工
  2. 单道批处理:内存只保存一道作业
  3. 多道批处理:运行多个程序同时存在主存中
  4. 分时:及时接收、及时处理,交互性
  5. 实时:实时控制、实时信息处理

Q:进程和线程的区别?
线程被称作轻量级进程,在进程中包含线程。进程有独立的内存空间,不同进程间不能直接共享其他进程资源,同一个进程内的线程共享进程内存空间;相比进程,线程切换对系统开销更小一些;进程是资源分配的最小单位,线程是程序执行的最小单位。

图示

Q:进程的三个组成部分?
程序段、数据段、PCB(Process Control Block)

Q:进程切换的过程?
保持处理机上下文 -> 更新PCB -> 把PCB移入相应队列(就绪、阻塞) -> 选择另一个进程并更新其PCB -> 更新内存管理的数据结构 -> 恢复处理机上下文

Q:进程通信的方式
1、低级通信方式
PV操作(信号量机制)。
– P:wait(S)原语,申请S资源
– V:signal(S)原语,释放S资源
2、高级通信方式:以较高效率传输大量数据的通信方式
– 共享存储(使用同步互斥工具操作共享空间)
– 消息传递(进程间以格式化的消息进行数据交换,有中间实体,分为直接和间接两种,底层通过发送消息和接收消息两个原语实现)
– 管道通信(两个进程中间存在一个特殊的管道文件,进程的输入输出都通过管道,半双工通信)

Q:管程是什么?
由一组数据及对这组数据操作的定义组成的模块。同一时间只能有一个进程使用管程,即管程是互斥使用的,进程释放管程后需唤醒申请管程资源的等待队列上的进程。进程只有通过进入管程并使用管程内部的操作才能访问其中数据

Q:进程的五种状态是什么?

创建、就绪、阻塞、执行、终止

preview

Q:线程间的同步与通信类型有哪些?

1.互斥锁mutex

2.条件变量

3.信号量机制

Q:线程的实现方式有哪几种?

1.内核支持线程(核内切换快,开销小,模式间切换慢)

2.用户级线程(节省模式间切换的开销)

3.混合

Q:产生死锁的原因有哪些?

  1. 对互斥资源分配不当
  2. 进程推进顺序不当

Q:处理产生死锁的办法有哪些?

  1. 预防死锁(破坏产生死锁的必要条件
  2. 避免死锁;3.检测死锁;4.解除死锁

Q:死锁的产生和避免?

死锁的四个必要条件:
(1)互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。
(2)请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。
(3)非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。
(4)循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。

死锁避免(deadlock avoidence)是在系统运行过程中注意避免死锁的发生。这就要求每当申请一个资源时,系统都应根据一定的算法判断是否认可这次申请,使得在今后一段时间内系统不会出现死锁。这面方最著名的算法首推Dijkstra[1965]提出的银行家(banker)算法。

Q:死锁与饥饿的区别?
– 都是资源分配问题
– 死锁是等待永远不会释放的资源,而饥饿申请的资源会被释放,只是永远不会分配给自己
– 一旦产生死锁,则死锁进程必然是多个,而饥饿进程可以只有一个
– 饥饿的进程可能处于就绪状态,而死锁进程一定是阻塞进程

Q:FCB包含什么?
文件指针:上次读写位置。
文件打开数:多少个进程打开了此文件。
文件磁盘位置。
文件的访问权限:创建、只读、读写等。

Q:页面置换算法?
最佳置换算法OPT
先进先出置换算法FIFO
最近最久未使用算法LRU
时钟算法LOCK
改进型时钟算法

Q:批处理作业调度算法?
先来先服务FCFS
最短作业优先SJF
最高响应比优先HRN
多级队列调度算法

Q:进程调度算法?
先进先出FIFO
时间片轮转算法RR
最高优先级算法HPF
多级队列反馈算法

Q:磁盘调度算法?
先来先服务FCFS
最短寻道时间优先SSTF
扫描算法SCAN
循环扫描算法C-SCAN

Q:FAT(File Allocation Table)?
分配给文件的所有盘块号都放在FAT中,记录了文件的物理位置。

Q:什么是中断?

1.中断的引入——为了支持CPU和设备之间的并行操作
中断也称外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断、时钟中断等。这一类中断通常是与当前执行的指令无关的事件。
2.异常的引入——表示CPU执行指令本身时出现的问题
异常也称内中断、例外或陷入,指源自CPU执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、缺页异常等。对异常的处理一般要依赖与当前程序的运行现场,不能被屏蔽。

3.中断和异常的联系与区别

Q:中断和系统调用区别?
中断:解决处理器速度和硬件速度不匹配,是多道程序设计的必要条件。每个中断都有自己的数字标识,当中断发生时,指令计数器PC和处理机状态字PSW中的内容自动压入处理器堆栈,同时新的PC和PSW的中断向量也装入各自的寄存器中。这时,PC中包含的是该中断的中断处理程序的入口地址,它控制程序转向相应的处理,当中断处理程序执行完毕,该程序的最后一条iret(中断返回),它控制着恢复调用程序的环境。 中断和系统调用的区别: 中断是由外设产生, 无意的, 被动的 系统调用是由应用程序请求操作系统提供服务产生, 有意的, 主动的。要从用户态通过中断进入内核态。(联系) 中断过程:中断请求 中断响应 断点保护 执行中断服务程序 断点恢复 中断返回 系统调用过程:应用程序在用户态执行时请求系统调用,中断,从用户态进入内核态,在内核态执行相应的内核代码。

Q:处理机调度有哪几层?

  1. 高级调度(后备作业–>内存)
  2. 中级调度(进程–>外存)
  3. 低级调度(进程/线程调度)

Q:页面置换算法有哪些?

最佳页面置换算法、最近最久未使用算法、时钟置换算法

Q:I/O控制方式有哪些?

  1. 程序控制I/O方式(CPU与I/O设备只能串行工作)
  2. 中断驱动方式
  3. DMA(仅在开始和结束才需要CPU干预)

Q:存储器的层次结构有哪些?

外存、主存、快速缓存、寄存器

Q:存储管理方案有哪些?

分区存储管理、分页存储管理、分段存储管理、段页式存储管理、虚拟存储管理

Q:设备管理采用的相关缓冲技术有哪些?

  1. 通道技术(使数据传输独立于CPU)(增加设备到主机之间的通路,使主存和设备之间有两条以上的通路)
  2. DMA技术(数据在主存与I/O设备间直接成块传送)
  3. 缓冲技术(硬件缓冲、软件缓冲)
  4. Spooling技术(使独占设备虚拟为多台设备)

五、计算机组成原理

**Q:**什么是冯诺伊曼结构?

输入输出,计算单元,控制单元,存储单元。

Q:高速缓存的作用

连接CPU和内存。

Q:cache和寄存器区别?

寄存器是暂时存储的CPU组成部分,cache用来做高度CPU和低速的主存之间加速带。

Q:指令系统

CISC复杂指令集,RISC是精简指令集。

Q:流水线

将重复性的过程分为若干个子过程来完成。

Q:总线和I/O

总线是指数据通信的连接线,有地址,数据,控制指令。

I/O的方式有程序性,中断性,通道,DMA。

六、数据结构

Q:迅速编写出算法(快排,冒泡,最短路)

Q:什么是二叉树,红黑树,AVL树

七、面向对象程序设计

Q:C和C++还有java的区别

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Q:什么是二叉树,红黑树,AVL树

七、面向对象程序设计

Q:C和C++还有java的区别

[外链图片转存中…(img-8hLmqPyh-1715539845292)]
[外链图片转存中…(img-gAbwSPIG-1715539845293)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值