导航菜单
首页 >  研究生面试题目及答案  > 研究生计算机专业知识复试面试常见问题

研究生计算机专业知识复试面试常见问题

研究生计算机专业复试面试常见问题操作系统1. 进程和线程区别和联系2. 常见的调度算法3. 死锁的产生和解决4. 虚拟内存,页面置换算法5. 磁盘调度数据结构1. 常见的排序算法过程和时间复杂度,空间复杂度2. 深度搜索和广度搜索深度搜索(DFS)广度搜索(BFS) 3. 二叉树的应用,遍历方式4. 常见的查找算法(1)顺序查找(2)二分查找(折半查找)(3)插值查找斐波那契查找机器学习1. 机器学习常见算法和概念(1) 线性回归(2) 逻辑回归(3) 决策树(4) SVM(5) 神经网络(6) KNN(7) K-Means(8) 过拟合和欠拟合(9) 聚类、回归、分类(10) 监督学习和非监督学习 2. 深度学习和一些前沿领域项目1. 项目背景和创新点2. 项目用到了哪些技术3. 毕业设计(重点)4. 项目中的难点以及如何解决5. 项目中还有哪些可以继续改进6. 你的获奖(ACM获奖,编程大赛等)常见其他问题1. cache的作用是什么2. 进程与线程的关系3. 解释TCP为什么需要三次握手4. TCP如何解决拥塞阻塞5. 数据库三大范式6. 说说快排的过程,时间复杂度7. 傅里叶变换,矩阵的秩是什么8. 你对AI怎么看9. 你最常用的语言是什么,为什么10. 你将来准备读博吗?研究生计划是什么.

操作系统 1. 进程和线程区别和联系

进程和线程的关系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。 (3)处理机分给线程,即真正在处理机上运行的是线程。 (4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体.

进程与线程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

2. 常见的调度算法

1、先来先服务调度算法FCFS (1)按照作业提交,或进程变为就绪状态的先后次序分派CPU; (2)新作业只有当当前作业或进程执行完或阻塞才获得CPU运行 (3)被唤醒的作业或进程不立即恢复执行,通常等到当前作业或进程出让CPU。(所以,默认即是非抢占方式) (4)有利于CPU繁忙型的作业,而不利于I/O繁忙的作业(进程)。

2、短作业(进程)优先调度算法SJF(非抢占)/SPF(抢占) (1)平均周转时间、平均带权周转时间都有明显改善。SJF/SPF调度算法能有效的降低作业的平均等待时间,提高系统吞吐量。 (2)未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)的及时处理、对长作业的不利、作业(进程)的长短含主观因素,不一定能真正做到短作业优先。

3、高优先权优先调度算法HPF (1)两种方式:非抢占式优先权算法、抢占式优先权算法(关键点:新作业产生时) (2)类型:静态优先权:创建进程时确定,整个运行期间保持不变。动态优先权:创建进程时赋予的优先权可随进程的推进或随其等待时间的增加而改变。

4、基于时间片的轮转调度算法RR (1)时间片轮转算法 过程:1、排成一个队列。2、每次调度时将CPU分派给队首进程。3、时间片结束时,发生时钟中断。4、暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前就绪的队首进程。 说明:1、进程阻塞情况发生时,未用完时间片也要出让CPU。2、能够及时响应,但没有考虑作业长短等问题。3、系统的处理能力和系统的负载状态影响时间片长度。

3. 死锁的产生和解决

(1)互斥条件(mutual exclusion):资源不能被共享,只能由一个进程使用;

(2)请求与保持条件(hold and wait):进程已获得了一部分资源,但因请求其它资源被阻塞时,对已获得的资源保持不放;

(3)不可抢占条件(no pre-emption):有些系统资源是不可抢占的,当某个进程已获得这种资源后,系统不能强行收回,只能进程使用完时自己释放;

(4)循环等待条件(circular wait):若干个进程形成环形链,每个都占用对方申请的下一个资源。

自己总结:有个人很霸道,拿了东西就不肯还(请求保持),别人还不能抢(不可抢),又不肯和别人共享(互斥),造成了死循环(循环等待)。

4. 虚拟内存,页面置换算法 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

最佳(Optimal)置换算法: 最佳置换算法是由Belady于1966年提出的一种理论上的算法。其所选择的被淘汰页面,将是以后永不使用的,或是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。 但由于人们目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法是无法实现的,但可以利用该算法去评价其它算法。 在这里插入图片描述

先进先出(FIFO)页面置换算法: 这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。 该算法实现简单,只需把一个进程已调入内存的页面,按先后次序

相关推荐: