笔试+面试信息整理----面向笔试学习、面向面经编程
笔试板块
1. 2019.03.15 牛客网三月编程测试赛
- 内存分配“最佳适应法”,空闲块
最优适应法:空闲块按照大小递增排序,从小到大的查找,直到找到满足满足大小的内存块
最坏适应法:查找时从最大的一个空闲区开始,总是挑选一个最大的空闲区分割给作业使用,其优点是使剩下的空闲区不致于太小,这样有利于中小型作业,但不利于大作业。
最先适应法:通常将空闲区按地址从小到大排列。查找时总是从低地址开始,可使高地址尽量少用,以保持一个大空闲区,有利于大作业的装入;缺点是内存低地址和高地址两端的分区利用不平衡,回收分区较麻烦
- 进程阻塞
就绪->执行,执行->就绪,执行->阻塞,阻塞->就绪
等待I/O、进程sleep、等待解锁等原因都会导致进程暂停。关于"时间片切换",当进程已经获得了除cpu外所有的资源,这时的状态就是就绪态,当分配到了时间片就成了执行态,当时间片用完之前一直未进入阻塞态的话,此后便继续进入就绪态。所以进程的就绪与阻塞是完全不同的。
- Linux inode描述
1.inode描述了文件大小和指向数据块的指针
2.通过inode可获得文件占用的块数
3.通过inode可实现文件的逻辑结构和物理结构的转换
- fork()函数
fork()函数算是类 unix中函数
fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:
1)在父进程中,fork返回新创建子进程的进程ID;
2)在子进程中,fork返回0;
3)如果出现错误,fork返回一个负值;
- TCP、UDP协议
TCP Transmission Control Protocol 传输控制协议是一个需要建立连接协议,经过三次握手后实现稳定的传输
UDP User Data Protocol 用户数据协议 不建立连接,不稳定传输。
- 换页错误
换页错误又称缺页错误,当一个程序试图访问没有映射到物理内存的地方时,就会出现缺页错误, 这时操作系统就要去虚拟内存中加载这块内存页。
减少换页错误的方法,即降低缺页中断率:
1、内存页框数。增加作业分得的内存块数。
2、页面大小。页面划分越大,中断率越低。
3、替换算法的优劣影响缺页中断次数 。
4、程序局部性。程序局部性好可减少缺页中断,程序局部性:
局部性原理是一个经典的原理,分为时间局部性和空间局部性,意思是应用一旦访问了一个空间的数据,则这个空间中的相邻区域的内容也很可能被访问,一旦访问了某一段代码,则其周围的代码也很可能被访问。局部性原理的运用就是根据这个,把可能访问的数据和代码都加在到内存中,以后访问就不用加载了(因为主要的消耗在IO端)。这也是迪杰斯特拉提出的goto语句有害的依据,应为goto语句能打破局部性原理,造成计算机的延迟加剧。
面试板块
语言及算法基础
- C++知识(多态,虚函数,引用和指针的区别,stl容器)
机器学习知识
-
BN的实现,有哪些缺陷,怎么改进,了解其他的归一化算法吗?
-
传统机器学习算法,SVM,LR,GBDT,XGboost线性回归等等,好像被问了好多
-
防止过拟合的方法,具体怎么实现的?
-
深度学习框架之间的差别?
7.算法题:topK