2018年北大软微考研复试面试问题精选

 

英文:学过os? computer network? Data structure?都是干什么的?

Big O和small O

Big O mean less than or equal to,small o mean less than。

 

Pcb: progress control block

算法:algorithm [ˈælɡəˌrɪðəm]

 

PCB: PCB(进程控制块process control block): 一个数据结构,进程存在的唯一标志. 系统通过PCB来了解进程的状态信息,以便控制和管理

事务:指一个单元的工作,要么全做,要么全不做,保证一组数据的修改要么全部执行,要么全部不执行

事务的特点: ACID: 原子性(要么都做,要么都不做),一致性(运行中发生故障,必须回滚),隔离性(一个事务不能被其他事务干扰),持续性(事务一旦提交,对数据库的改变应该是永久性的).原隔一尺(持)

多态: 接口的多种不同的实现方式. (允许将子类类型指针赋值给父类类型指针)

 

继承: 一个类继承另一个类的功能, 可以直接使用其属性和方法.并可以添加

Java单继承, c++可以多继承(多个爹)

封装: 隐藏对象的属性和细节, 仅对外提供公共访问方式.(控制属性的读和修改的访问级别)

 

虚函数:在某基类中声明为 virtual, 允许被一个或多个派生类中重写的成员函数,以实现多态。

  Virtual 函数类型 函数名

纯虚函数:在基类中声明的虚函数,在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚数的方式是在函数原型后面加“=0”。

包含纯虚数的类是抽象类。

 

指令是内核态的多还是用户态的多?

内核态,CPU可以访问内存所有数据,用户态下是受限访问,只能访问自己空间中的内存。

 

指针加一:对指针增加该指针类型所占的内存的字节数。不同类型的指针加1后,增加的大小不同。

 

FAT: 文件配置表file allocation table: 分配给文件的所有盘块号都放在该表中,记录了文件所在位置。

文件系统:负责管理和存储文件信息的软件机构,由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性

文件系统类型: Windows中有FAT32,NTFS,Linus中有ext2,ext3,ext4

括号匹配:在很多字符串处理的场景中时常被用到,编译器编译时检查应该成对出现的括号是否符合要求等

栈应用 括号匹配

设置一个栈,每读入一个左括号,则将该括号压入栈内;如果读到右括号,则与栈顶的左括号进行匹配检验,若成功,则栈弹出一个元素,否则整个式子匹配失败,结束。

算法思想:设置一个栈,当读到左括号时,左括号进栈。当读到右括号时,则从栈中弹出一个元素,与读到的左括号进行匹配,若匹配成功,继续读入;否则匹配失败,返回FLASE。另外,在算法的开始和结束时,栈都应该是空的.所以匹配到最后还要判断栈是否为空,若非空,则说明匹配失败.

进程和线程(thread)的区别

线程是独立调度的基本单位, 本身没有资源, 进程是资源分配的基本单位, 同一进程中的线程共享进程的地址空间(放着各种资源: 进程代码段, 全局变量, 打开的文件), 但是, 一个线程的栈指针对其他线程透明(心里的客栈, 只对自己开放)

进程为什么是资源分配的基本单位?进程是一个程序对某个数据集的一次运行活动,创建进程的时候要分配CPU和内存等资源。

 

OSI/RM开放系统互连参考模型的全称
Open System Interconnection Reference Model.

OSI七层

物理层physical layer,数据链路层data link layer,网络层network layer,传输层transport layer,会话层session layer,表示层presentation layer,应用层application layer

 

二叉排序树转换成排序的双向链表

用递归的方法。二叉排序树特点一个结点的左子树比它小,右子树比它大,中序遍历得到一个递增的序列。

在中序遍历时,让指向左子树的指针变为链表中指向前一个结点的指针,指向右子树的指针变为链表中指向后一个结点的指针。

 

内存交换(对换)/对换(交换):多个进程之间

把处于等待状态的程序从内存中移出, 把准备好竞争CPU的程序移入内存

交换区。

 

提高并行:多道程序设计

中断:解决处理器速度和硬件速度不匹配,是多道程序设计的必要条件。每个中断都有自己的数字标识,当中断发生时,指令计数器PC和处理机状态字PSW中的内容自动压入处理器堆栈,同时新的PC和PSW的中断向量也装入各自的寄存器中。这时,PC中包含的是该中断的中断处理程序的入口地址,它控制程序转向相应的处理,当中断处理程序执行完毕,该程序的最后一条iret(中断返回),它控制着恢复调用程序的环境。

 

中断和系统调用的区别:

中断是由外设产生, 无意的, 被动的

系统调用是由应用程序请求操作系统提供服务产生有意的, 主动的。要从用户态通过中断进入内核态。(联系)

 

中断过程:中断请求 中断响应 断点保护 执行中断服务程序 断点恢复 中断返回

系统调用过程:应用程序在用户态执行时请求系统调用,中断,从用户态进入内核态,在内核态执行相应的内核代码。

 

 

中断之后保存什么?保存pc, psw, 通用寄存器。Pc程序计数器program count,存放下一条指令所在的单元的地址。Psw,program status word程序状态字,指处理器的状态。

 

 

二叉树:

先序二叉树:若二叉树为空,什么也不做,否则,访问根结点,然后先序遍历左子树,最后先序遍历右子树。

中序二叉树:若二叉树为空,什么也不做,否则,中序遍历左子树,然后访问根结点,最后中序遍历右子树。

后序二叉树: 若二叉树为空,什么也不做,否则,后序遍历左子树,后序遍历右子树,最后访问根结点。

先中后序,递归,用栈实现,因为每个结点都只访问一次,时间复杂度O(n),递归工作栈的深度恰好是树的深度,最坏情况下,n结点,n层,时间复杂度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值