2023年计算机基础知识面试题库.docx
《2023年计算机基础知识面试题库.docx》由会员分享,可在线阅读,更多相关《2023年计算机基础知识面试题库.docx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、对于项目1.明确你的项目到底是做什么的,有哪些功能2.明确你的项目的整体架构,在面试的时候可以清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用3.明确你的模块在整个项目中所处的位置及作用4.明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术操作系统1. 操作系统的四大特性:a) 并发性b) 共享性c) 虚拟性d) 不拟定性2. 请叙述一下并发和并行两个概念的区别?a) 并行是指两个或多个事件在同一时刻发生,并发是指两个或多个事件在同一时间间隔内发生。3. 什么是进程?什么是线程? a) “进程是一个可并发执行的,具有独立功能的程序关于某个数据集合的一次
2、执行过程,也是操作系统进行资源分派和调度的独立单位”。进程是资源分派的基本单位。b) 线程也称为轻量级进程(LWP),是程序执行流量的最小单位,它是进程的一个实体,是系统独立调度和分派解决机的基本单位。线程是操作系统调度的最小单位。4. 进程和线程的区别?从调度、并发性、拥有资源和系统开销四个方面来比较:a) 调度。在引入线程的操作系统中,把线程作为调度和分派CPU的基本单位,把进程作为资源分派的基本单位,显著提高了并发限度。由于系统调度的基本单位是线程,所以每个进程至少创建一个线程,否则无法被调度。b) 并发性。多线程可以提高服务的质量,在一个线程阻塞时,尚有其他线程提供服务。c) 拥有资源
3、。进程是拥有资源的独立单位,线程自己不拥有系统资源,而是共享进程的资源(涉及代码段、数据段即系统资源等)。d) 系统开销。进程切换的开销远远大于线程切换的开销,进程的切换需要保存很多现场,但线程只需要保存和设立少量的寄存器内容,不涉及存储器管理方面的操作。5. 进程的特性:a) 动态性:进程是动态产生和动态消亡的,有其生存周期。b) 并发性:一个进程可以与其他进程一起向前推动。c) 独立性:一个进程是一个相对完整的调度单位。d) 异步性:每个进程都已相对独立、不可预知的速度向前推动。e) 结构性:为了控制和管理进程,系统为每个进程设立一个进程控制块(PCB)。6. 进程有几种状态? a) 就绪
4、状态b) 运营状态:单CPU环境下,系统处在运营状态的进程最多只有一个。c) 阻塞状态7. 进程的组成:a) 程序:b) 数据集合:进程独有c) 进程控制块(PCB):它和进程一一相应,PCB是操作系统能感知进程存在的唯一标记,操作系统正是通过管理PCB来管理进程的。系统创建进程时,为每个进程分派PCB,进程执行完毕后,系统释放PCB,进程也随之消亡。8. 进程的切换:a) 进程上下文包含用户级上下文、系统级上下文、寄存器上下文b) 进程上下文切换是核心态的切换,不发生在用户态。c) 用户态到核心态之间的转变是CPU模式的改变。模式切换不同于进程切换,并不引起进程状态的改变。9. 为什么会提出
5、线程这个概念?进程的缺陷是什么?a) 进程切换开销大b) 进程通信代价大c) 进程之间并发性粒度粗,并发度不高d) 不适合并行计算和分布式并行计算的规定e) 不适合客户-服务器计算的规定f) 操作系统中引入进程的目的是为了使多个程序并发执行,改善资源的运用率以提高系统的吞吐量。10. 线程的分类:a) 用户级线程 ULT,优点是线程切换不需要系统状态的转换,每个进程可以使用专门的调度算法来调度线程,不需要依赖操作系统底层的内核。缺陷是父进程阻塞会导致线程全都阻塞,不能真正的并行。Java的线程就是一种用户级的线程。b) 内核级线程 KLT,优点是同一个进程内多个线程可以并行执行,缺陷是线程状态
6、转换时内核态的任务,通常很慢。c) 混合式线程 上两种的结合,有良好的效果。11. 进程控制块的作用?它是如何描述进程动态性质的?a) PCB是系统感知进程存在的唯一标志,是进程动态特性的集中反映,和进程一一相应,操作系统通过管理PCB来管理进程。b) 进程控制块包含进程描述信息,控制信息,和资源管理信息三类。这些信息的变化反映进程的动态性质。12. 操作系统内核都涉及哪些内容?a) 一是支撑功能,涉及中断解决,时钟管理和原语操作等,二是资源管理功能,涉及进程管理,存储器管理和设备管理等。13. 解决机调度的三个分类?a) 高级调度 作业调度b) 中级调度 互换调度(内存和硬盘之间的互换)c)
7、 低档调度 进程调度(操作系统的核心)d) 高级调度发生在创建新进程时,它决定一个进程能否被创建,或者是创建后能否被设立成就绪状态,以参与竞争解决器资源;中级调度反映到进程状态上就是挂起和解除挂起,它根据系统的当前符合情况决定停留在主存中的进程数;低档调度则是决定哪一个就绪进程或线程占有CPU运营。14. 批作业调度算法a) 先来先服务b) 最短作业优先c) 响应比高者优先d) 优先级算法15. 进程调度的方式:a) 非剥夺方式(非抢占式方式):优点是简朴、易实现,系统开销小。缺陷是不太灵活,难以满足紧迫任务必须立即执行的规定。实时系统不宜采用这种调度方式。b) 可剥夺方式(抢占式方式):优先
8、权更高的进程优先执行。16. 进程调度的算法:a) 先来先服务算法b) 最短优先算法c) 优先级算法:优先级高的先执行。可以采用剥夺或非剥夺,剥夺方式更能反映优先的特点,但是会导致无穷阻塞和饥饿现象。d) 轮转算法:基本思想是系统把所有就绪进程按先来先服务的原则排成一个队列,且规定一个较小的时间单元,称为时间量或时间片,准时间片把CPU轮流分派给进入就绪队列的第一个进程使用,当进程的时间片使用完后,产生一个时钟中断,剥夺该进程的执行,将它送到就绪队列的队尾,等待下次调度。轮转算法专门为分时系统设计。e) 多级队列调度算法:根据不同的进程,分派到不同的队列中,实行不同的调度算法。一般按照优先级提
9、成多个队列,高优先级的任务先做。f) 多级反馈队列调度算法:按优先级分派队列,但是优先级越高分派的时间片越小,假如没做完,自动移动到下一级队列继续做。g) 实时调度算法17. 操作系统多任务的抢占机制是怎么实现的?18. 哪种权限许可用户进入一个文献系统的目录?Read,Execute,Write,Access Controll19. Linux32位系统,应用程序最多能分派的内存大小?20. sleep和wait的区别?21. Win32下线程的基本模式?22. 进程之间的关系?a) 竞争关系:由于进程之间不知道彼此的存在,而使用了同一份资源,就会导致竞争。资源竞争会出现饥饿和死锁。b) 协
10、作关系23. 什么是临界资源?什么是临界区?a) 临界资源:把一次只允许一个进程使用的资源成为临界资源。(独占性,如打印机,卡片输出机等)b) 临界区:把每个进程中访问临界资源的那段代码从概念上分离出来,将其称为临界区。即临界区是指对临界资源实时操作的程序的代码段。c) 相关临界区:并发进程中涉及相同临界资源的临界区。相关临界区必须互斥执行。24. 什么是进程互斥?a) 进程互斥是解决进程间竞争关系(间接制约关系)的手段。指任何时刻不允许两个以上的共享该资源的并发进程同时进入临界区,这种现象称为互斥。b) 相关临界区的管理原则:互斥、空闲让进、有限等待。25. 进程同步的概念?进程同步指两个或
11、多个进程为了合作完毕同一个任务,在执行速度或某些拟定的时序点上必须互相协调,即一个进程的执行依赖于另一个进程的消息,当一个进程到达了某一个拟定点而没有得到合作伙伴发来的已完毕消息时必须等待,知道该消息到达被唤醒后,才干继续向前推动。26. 进程同步和互斥的关系?a) 进程的互斥事实上是进程同步的一种特殊情况,即主次使用互斥共享资源,也是对进程使用资源顺序上的一种协调。进程的互斥和同步统称为进程同步。b) 进程的互斥是进程间共享资源的使用权,这种竞争没有固定的必然联系,哪个进程竞争到资源的使用权,该资源就归哪个进程使用,直到它不再需要使用时才归还资源;而进程同步中,所涉及的共享资源的并发进程间有
12、一种必然的联系,当进程必须同步时,即使无进程在使用共享资源,尚未得到同步消息的进程也不能去使用该资源。27. 信号量机制(PV操作):a) 信号量机制的实现原理是两个或多个进程可以运用彼此间收发的简朴信号来实现对的的并发执行,一个进程在收到一个指令信号前,会被迫在一个拟定的或者需要的地方停下来,从而保持同步或互斥。b) 用信号量机制解决进程的同步和互斥问题有如下三个环节:i. 分析进程之间的制约关系ii. 设立信号量iii. 实行P、V操作28. 同步的实现机制:a) 临界区:通过多线程的串行化来访问公共资源或者一段代码,速度快,适合控制数据访问。b) 互斥量:采用互斥对象机制,只有拥有互斥对
13、象的线程才有访问公共资源的权限,由于互斥对象只有一个,所以可以保证公共资源不会同时被多个线程访问。c) 信号量:允许多个线程同时访问同一资源,但是需要限制同一时刻访问此资源的最大线程数目。信号量对象对线程的同步方式与前面几种方法不同,信号允许多个线程同时使用共享资源,这与操作系统PV操作相似。d) 事件(信号):通过告知操作的方式保持多线程同步,还可以方便的实现多线程的优先级比较的操作。29. 经典的同步问题:a) 生产者消费者问题b) 读者-写者问题(读者优先:信号量+读进程计数器rc;弱写者优先:信号量+读进程计数器rc+排队信号量read;强写者优先:信号量+读进程计数器rc+排队信号量
14、read+写优先信号量write_first)c) 哲学家就餐问题:是在多个线程之间共享多个资源时会不会导致死锁或饥饿的典型模型。解决方案:i. 每个哲学家取得手边的两个叉子才干吃面,即仅当一个哲学家左右两边的叉子都可用时,才允许他拿叉子,否则一个叉子也不取。ii. 偶数号哲学家先取手边的叉子,奇数号哲学家先取右手边的叉子。d) 嗜睡理发师问题30. 进程通信的方式:a) 共享存储:消息缓冲b) 消息传递:信箱c) 管道通信31. 产生死锁的因素?a) 进程竞争资源引起的死锁b) 进程推动顺序不妥产生死锁32. 产生死锁的条件a) 互斥条件:同时只能有一个进程持有资源b) 请求和保持条件:一个
15、进程请求资源得不到满足时,不释放占有的资源c) 不剥夺条件:任何一个进程不能抢夺其他进程占有的资源d) 循环等待条件:存在一个循环等待链,链中每个进程已获得资源,并分别等待前一个进程持有的资源。33. 解决死锁的方法:a) 死锁防止:破坏产生死锁条件的任何一个或多个,如静态资源分派策略(2)和按序分派资源策略(4)。b) 死锁避免:采用银行家算法,每次分派都查看能否找到一种资源分派方法,使得已有的进程可以顺利完毕任务,假如有,则分派,否则不分派。c) 死锁检测和解除:用软件来检查有进程和资源构成的有向图是否存在一个或多个回路。34. 分页存储管理、段式存储管理和段页式存储管理的基本思想:a)
16、(分页) 运用分页存储管理,允许把一个作业存放到若干个不相邻的内存区域中,减少大碎片。b) (分段) 段式存储管理支持用户的分段观点,以段为单位进行存储空间的分派。分段存储管理的引入,重要为了方便编程、信息共享和信息保护(有助于程序的运营)。c) (段页式) 段页式存储管理的基本原理是先将整个主存划提成大小相等的存储块(页框),把用户程序分段,接着为每一段进行分页。35. 分页和分段的区别?a) 分页是信息的物理单位,与源程序的逻辑结构无关,用户不可见,分页的目的重要是为了减少碎片,提高主存的运用率。分段是信息的逻辑单位,由源程序的逻辑结构来决定,目的是更好地满足用户的需求。b) 页的大小固定
17、且由系统拟定,而段的长度不固定,由用户程序决定。c) 分页的作业地址空间是一维的(线性地址空间),分段的作业地址空间是二维的(段名和段内地址)。36. 缓存的局部性原理:根据研究,在较短的时间内,程序的执行会局限于某一个部分,则可以根据当前程序运营的位置,推测也许执行的程序,预先加载,来达成缓存的目的。(虚拟内存的实现)37. RAID技术:a) RAID 1:两个磁盘互相备份,安全性最佳,但磁盘运用率50%,最低。b) RAID 2:采用汉明码做犯错校验,按位交叉存取,用于大数据的读写,但冗余信息开销大,已被淘汰。c) RAID 3:位交织奇偶校验,使用一个磁盘做奇偶校验,数据分段存储在其余
18、磁盘中,一旦有损坏,可以运用奇偶校验来重建数据,但校验盘损坏则没救,磁盘运用率n-1。d) RAID 4:块交织奇偶校验,按块存取,可以单独对某个盘进行操作,一次操作只涉及数据盘和校验盘,不适合随机分散的小数据e) RAID 5:块交织分布式奇偶校验,同样以数据校验位来保证数据的安全,不同于校验盘,它将数据段的校验位交互存放于各个硬盘,则任何一个硬盘损坏,都可以根据其他硬盘上的校验位来重建损坏的数据,磁盘运用率n-1.38. SPOOLing系统?a) 在内存和硬盘中间建立缓冲区,在内存写入硬盘的过程中,先写入缓冲,等到CPU空闲时,才从缓冲区写入硬盘。39. 同步和异步有什么不同?各自的优势
19、?40. 什么是线程?线程的基本状态?41. synchronized和Lock的异同?42. 什么是序列化?什么是持久化?什么是串行化?transient的用法?哪些字段需要标记transient?43. synchronized关键字的用法?44. 什么是守护线程?举一个守护线程的例子?计算机网络1. OSI模型及其各层次的作用?TCP/IP模型各层次及协议?2. 数据链路层和MAC层(介质访问控制层)?3. 计算机网络协议、接口和服务的概念?4. 数据链路层:流量控制、可靠传输和滑动窗口机制。5. 数据链路层设备:网桥和局域网互换机6. 网络层的功能:异构网络互联、路由与转发、拥塞控制7
20、. 路由算法:距离-向量路由算法、链路状态路由算法、层次路由8. IPv4内容:分组、NAT、子网划分和子网掩码9. ARP协议、DHCP协议与ICMP协议10. 网络层设备:路由器的组成和功能,路由表和路由转发11. 流量控制和拥塞控制的区别?12. 传输层的功能?传输层的寻址与端口?套接字?13. TCP协议和UDP协议?Java实现?UDP首部?14. TCP段、TCP连接管理、TCP可靠传输、TCP流量控制和拥塞控制15. TCP的拥塞控制:慢开始、拥塞避免、快重传、快恢复。16. 应用层:P2P模型?应用层协议:DNS、FTP、EMAIL、MIME、STMP、POP3、HTTP。17
21、. CGI?域名解析过程?MySQL数据库1. INSERT嵌套SELECT2. MySQL数据类型,int类型长度超过了也不会对数据产生影响,和SQL MODE有关。3. 一个表中最多只能有一个自增长列。4. DDL、DML、DCL、DQL语句?a) DDL(数据定义语言):create、drop、alterb) DML(数据操纵语言):insert、delete、update、selectc) DCL(数据控制语言):grant、revoke5. MySQL的其他数据库:a) information_schema数据库存储了数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息、分区
22、信息等。b) cluster存储了系统的集群信息c) mysql存储了系统的用户权限信息d) test是系统自动创建的测试数据库,任何用户都可以使用。6. 内连接查询即为多表查询,仅选出两张表中互相匹配的记录,外连接则会选出其他不匹配的记录。子查询经常使用in、not in、=、!=、exists、not exists等。表连接很多情况下用于优化子查询。合并记录用union(含distinct)或union all。7. MySQL数字类型及字节数、日期类型及字节数、字符串类型及字节数。8. MySQL可以使用REGEXP或RLIKE来使用正则匹配。NULL不能用于=,等,但可以使用比较NUL
23、L。比较时不区分大小写,数字作为浮点数比较。短路与和非NULL结果都为NULL,只有1或NULL为1。9. MySQL常用函数:a) 字符串CONCAT、INSERT、LEFT、RIGHT、REPLACE、SUBSTRING、LPAD、RPAD、TRIM、REPEAT等。b) 数值函数ABS、CEIL、FLOOR、MOD、RAND、ROUND、TRUNCATE等。x%y任意为NULL结果都为NULL。产生0100随机数为select ceil(100*rand(), ceil(100*rand()。c) 日期和时间函数CURDATE、CURTIME、NOW、UNIX_TIMESTAMP、FRO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 计算机基础知识 面试 题库
限制150内