0
点赞
收藏
分享

微信扫一扫

408面试常问

zidea 2022-04-03 阅读 54
经验分享

数据结构

度为2的树和二叉树的区别

​ 度为2的树是指一棵树中度最大的结点的度为2,而二叉树是所有节点度不超过2的树,因此二叉树比度为2的节点更灵活,可以为空树,且有左右子树的区别

迪杰斯特拉算法和弗洛伊德算法的区别
  • 迪杰斯特拉算法用于解决单点最短路径,他用了贪心的思想,根据当前离开始节点最近为标准来确定当前扩展节点,适用于边稀疏图,不存在负权值边
  • 弗洛伊德算法用于解决多源最短路径,他用了动态规划的思想,不断在两个点中加入第三个点判断两点路径有没有更短,若更短则更新路径,适用于边稠密图,可以有负权值边
确定图是一个环

​ 如果存在回路,则必存在一个子图,是一个环路,所有节点的度都大于2。

​ 使用拓扑排序,如果能完成的话,说明图中没有环。

证明链表成环

​ 快慢指针,若快指针和满指针重合那么就有环。

最小生成树算法
  • Prim又称加点法,每次找出距离最小的边对应的点,依次纳入最小生成树中,适合于边变稠密图
  • Krusal又称找边法,将图中的边按长度由小到大排序,在不成环的情况依次纳入最小生成树中,适用于边稀疏图
关键路径和关键活动
  • 关键路径:一个AOE网(边表示活动)中最早开工时间和最晚开工时间相等的路径,我们成为关键路径
  • 关键活动:多个关键路径中都有的活动我们成为关键活动
线索二叉树

​ n各结点的二叉链表共有2n个链域,非空链域为n-1个,线索二叉树若左孩子为空,则把左指针指向前驱节点,若右孩子为空就把右指针指向后续节点

哈希表(Hash table,也叫散列表)

​ 是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

操作系统

进程调度算法
  • 先来先服务
  • 短作业优先
  • 时间片轮转
  • 高相应比优先
  • 优先权调度
进程同步四大准则
  • 空闲让进
  • 忙则等待
  • 有限等待
  • 让权等待
磁盘调度算法
  • 一次磁盘读写需要的时间
    • 寻道时间:移动磁头时间,由磁盘调度算法决定
    • 延迟时间:将磁道移动到磁头下所花的时间(平均延迟速度通常取扫过一个扇面的时间),由转速决定
    • 传输时间:读取文件的时间(扫过一个扇区的时间),由转速决定
  • 磁盘调度算法
    • 先来先服务
    • 最短寻找时间优先
    • 扫描算法:只有磁头移动到最边缘才可以改变磁头移动方向
    • 循环扫描算法:只有磁头朝某个方向移动时才会响应请求,移动到边缘后立即让磁头返回起点
实时操作系统和分时操作系统
  • 实时操作系统:指操作系统需要在指定时间内完成对该事件的处理,例如导弹发射系统,以及股票分析系统等需要快速进行信息反馈的系统
  • 分时操作系统:一台主机连接了多个终端,每个终端有一个用户在使用,例如我们操作系统中处理机调度的时间片轮转算法
文件实现
  • 连续分配
  • 隐式链接分配
  • 显式链接分配
  • 索引分配

计算机网络

TCP/IP是如何实现可靠传输的
  • 序号:面向字节流,为数据流中的每个字节都编上了一个序号
  • 确认:累计确定,确认号之前的所有数据都已经完全正确接收
  • 重传:对于超时的报文,我们选择重新发送
距离向量路由算法和链路状态路由算法
  • RIP距离向量路由协议
    • 基于距离的,只发送当前本路由器的路由表,每经过一个路由器,跳数+1(一条路径上最多只能包含15个路由器)
    • RIP基于UDP协议
    • 每隔一段时间自动交换路由信息
  • OSPF链路状态路由协议
    • 基于链路状态的,发送与本路由器相邻的所有路由器的链路状态
    • OSPF基于IP数据报
    • 只有链路状态改变时,才会向所有路由器用洪泛法发送信息
子网掩码的作用

​ 子网掩码是一种用来指明一个IP地址所标示的主机处于哪个子网中。

路由表中的字段

​ 1.目的地址 2网络掩码(与目的地址一起识别主机所在网段)3下一跳IP地址 4下一跳接口

ARP协议的原理

​ 主机A要向主机B发送IP数据包时,先向其ARP高速缓存中查看有无主机B的IP地址。如果有就可查出硬件地址,写入MAC帧,如果没有的话就向局域网中广播ARP请求

  • IP地址可变,4字节,工作在网络层
  • MAC地址不可变,6字节,工作在数据链路层
网关

​ 协议转换器,用于实现网络之间的相互连接,相当于一个翻译器,可以使不同协议,语言,数据在不同系统之间进行转换。

TCP拥塞控制

如何知道发生冲突:没有在时间间隔内收到接收方的确认报文段,则就可以认为网络出现了拥塞

  • 慢开始

    TCP传输开始阶段,拥塞窗口按照指数速度增加

  • 拥塞避免

    在发送窗口达到初始门限时,拥塞窗口只能线性加一,并且当发生超时重传,就将拥塞窗口置1,门限值更新为发生拥塞时的一半

优化方法

  • 快重传

    使发送方尽快进行重传,不等超时重传器超时再重传

  • 快恢复

    一旦收到了三个重复确认,开始执行快恢复算法,发送方将慢开始门限和拥塞窗口设置为当前的一半,从而开始拥塞避免

TCP流量控制(数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。)
  • 停止等待协议

    每发完一个帧,就等待对方确认,在收到确认后再发送下一帧。

  • 后退N帧协议

    发送窗口大于1,接收窗口等于1。

  • 选择重传协议

    发送窗口大于1,接收窗口大于1。

OSI七层模型

img

TCP/UDP
UDPTCP
是否连接无连接面向连接
是否可靠不可靠传输,不使用流量控制和拥塞控制可靠传输,使用流量控制和拥塞控制
连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信
传输方式面向报文面向字节流
首部开销首部开销小,仅8字节首部最小20字节,最大60字节
适用场景适用于实时应用(IP电话、视频会议、直播等)适用于要求可靠传输的应用,例如文件传输

计算机组成原理

SRAM和DRAM
  • SRAM 不需要刷新 集成度低 价格比较贵 存取速度比较快 通常用于cache

  • DRMA 需要刷新 集成度高 价格比较便宜 存取速度比较慢 通常用于内存

CPU设计方式
  • 硬布线逻辑控制(组合逻辑控制器)

    以组合逻辑电路根据指令码、状态和时序,即时产生,速度较快,不宜修改,应用于精简指令系统计算机的CPU中

  • 微程序控制

    以微程序的形式存放在控制存储器中,速度较慢,易于修改,应用于复杂指令系统计算机的CPU中

并行接口和串行接口
  • 并行接口

    数据的各位同时进行传送,传输速率比较快,但是抗干扰能力不强,适用于距离较近的传输

  • 串行接口

    数据一位一位进行传送,传输速率比较慢,抗干扰能力比较强,适用于距离较远的传输

CPU中

  • 微程序控制

    以微程序的形式存放在控制存储器中,速度较慢,易于修改,应用于复杂指令系统计算机的CPU中

并行接口和串行接口
  • 并行接口

    数据的各位同时进行传送,传输速率比较快,但是抗干扰能力不强,适用于距离较近的传输

  • 串行接口

    数据一位一位进行传送,传输速率比较慢,抗干扰能力比较强,适用于距离较远的传输

举报

相关推荐

0 条评论