软件开发工程师笔试题库(高级)及答案.docxVIP

  • 4
  • 0
  • 约8.34千字
  • 约 27页
  • 2026-06-24 发布于河南
  • 举报

软件开发工程师笔试题库(高级)及答案.docx

软件开发工程师笔试题库(高级)及答案

一、计算机基础与底层原理(占比15%)

选择题(难度★★★~★★★★)

1.下列关于CPU缓存一致性协议MESI的描述,错误的是?

A.M代表修改态,缓存行数据与主存不一致且仅当前CPU持有该副本

B.E代表独占态,缓存行数据与主存一致且无其他CPU持有该副本

C.S代表共享态,缓存行数据与主存一致且至少有一个其他CPU持有该副本

D.I代表无效态,缓存行数据可直接读取使用

答案:D

解析:I(无效)态的缓存行数据已过期,必须从主存或其他CPU的有效缓存副本中拉取最新数据后才可使用,直接读取会得到脏数据。

2.关于Linux虚拟内存的页表机制,下列说法正确的是?

A.多级页表的核心作用是减少页表的常驻内存占用

B.大页(HugePage)会提高TLBmiss的概率

C.32位系统的页表项固定为4字节,因此最大虚拟内存空间为4GB

D.缺页中断一定会触发磁盘IO

答案:A

解析:选项B错误,大页可减少页表项总数,提升TLB命中率;选项C错误,32位系统开启PAE(物理地址扩展)后页表项为8字节,可支持超过4GB的物理内存,虚拟地址空间仍为4GB;选项D错误,写时复制触发的缺页、匿名页首次分配的缺页均不会触发磁盘IO。

简答题(难度★★★★~★★★★★)

1.请简述进程、线程、协程的核心区别,以及各自的适用场景。

答案:

文档评论(0)

1亿VIP精品文档

相关文档