版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年计算机科学与技术期末考试试题及答案一、单项选择题(每题2分,共20分)1.在64位Linux系统中,定义如下结构体:```cstructNode{charflag;doubleval;intkey;};```则sizeof(structNode)的值为A.13 B.16 C.24 D.32【答案】C【解析】char占1字节,double要求8字节对齐,因此flag后需填充7字节;double占8字节;int占4字节,尾部再填充4字节使整体对齐到8的倍数,总大小1+7+8+4+4=24。2.对含有n个元素的顺序表执行一次“删除第i个元素”操作,其时间复杂度为A.O(1) B.O(logn) C.O(n) D.O(n²)【答案】C【解析】需将i+1到n共n-i个元素依次前移,最坏情况下i=1,移动n-1次,故为O(n)。3.下列关于IPv6地址::1的描述正确的是A.本地链路地址 B.组播地址 C.环回地址 D.任播地址【答案】C【解析】::1即0:0:…:1,是IPv6环回地址,作用同IPv4的。4.若关系模式R(A,B,C,D)的函数依赖集F={A→B,B→C,C→D},则R的候选码为A.A B.AB C.AC D.AD【答案】A【解析】A可决定B,B决定C,C决定D,因此A可决定全部属性,且A的任意真子集为空,故A为候选码。5.在BERT预训练过程中,MaskedLanguageModel任务随机遮盖的词比例通常设为A.5% B.10% C.15% D.30%【答案】C【解析】原始论文采用15%:其中80%用[MASK]、10%随机词、10%不变,以缓解预训练与微调不一致。6.下列关于RISC-V指令集的说法错误的是A.采用定长32位基本指令 B.支持压缩指令子集 C.只有32个通用寄存器 D.无条件跳转使用J-type格式【答案】C【解析】RV32I有32个通用寄存器,但RV32E嵌入式子集仅16个,因此“只有32个”表述不严谨。7.在Linux内核中,进程从用户态陷入内核态时,CPU特权级由A.0→3 B.1→2 C.3→0 D.2→1【答案】C【解析】x86架构Ring3为用户态,Ring0为内核态,系统调用或中断触发时由3→0。8.若采用Go-Back-N协议,发送窗口大小为7,帧序号用3位编码,最多可连续发送而未确认帧数为A.7 B.8 C.6 D.4【答案】A【解析】3位序号共8个编号0~7,GBN发送窗口最大为2ⁿ−1=7,与题设一致。9.在React函数组件中,下列Hook用于跨渲染周期保存可变值且不会触发重新渲染的是A.useState B.useReducer C.useRef D.useMemo【答案】C【解析】useRef返回可变ref对象,修改.current属性不会引发组件重渲染,适合保存DOM节点或定时器ID。10.对一幅1024×768的24位真彩色BMP图像进行无压缩存储,所需字节数约为A.0.75MB B.1.5MB C.2.25MB D.3MB【答案】C【解析】每像素3字节,总像素1024×768=786432,乘3得2359296B≈2.25MB。二、填空题(每空3分,共30分)11.若一棵二叉树后序遍历序列为DBEFCA,中序遍历为DBAECF,则其先序遍历序列为________。【答案】ABDCEF【解析】后序末位A为根,中序中A左侧DB为左子树,右侧ECF为右子树;递归可得整棵树的先序。12.在TCP拥塞控制中,慢启动阈值ssthresh初始为16,当发生超时重传时,ssthresh将被置为________。【答案】8【解析】超时触发拥塞避免,ssthresh更新为当前拥塞窗口cwnd的一半,假设cwnd=16,则ssthresh=8。13.若采用4路组相联Cache,主存地址32位,块大小64B,Cache容量为512KB,则其索引位占________位。【答案】11【解析】512KB÷64B=8192块,4路组相联共8192÷4=2048组,2¹¹=2048,故索引11位。14.在MySQL8.0中,创建用户并授予其对所有数据库只读权限的SQL语句为:CREATEUSER'reader'@'%'IDENTIFIEDBY'pwd';GRANT________ON.TO'reader'@'%';【答案】SELECT【解析】只读即仅允许SELECT。15.若某无向图采用邻接矩阵存储,顶点数n=1000,则删除一条边所需的时间复杂度为________。【答案】O(1)【解析】邻接矩阵置matrix[i][j]=0即可,常数时间。16.在Python3.11中,表达式(1,2,[3,4],5,range(2))的值为________。【答案】(1,2,3,4,5,0,1)【解析】星号解包后拼接成新元组。17.若浮点数采用IEEE754单精度格式,则二进制00111111010100000000000000000000对应的十进制真值为________。【答案】0.8125【解析】指数E=01111110₂=126,偏移127,故真实指数-1;尾数1.101₂=1.625,乘2⁻¹得0.8125。18.在RSA密钥生成中,若随机选择素数p=17、q=23,则欧拉函数φ(n)=________。【答案】352【解析】φ(n)=(p−1)(q−1)=16×22=352。19.若某算法最佳情况时间复杂度Tbest(n)=5n,最坏情况Tworst(n)=3n²−2n+7,则其渐进紧确界记为________。【答案】Θ(n²)【解析】紧确界需同时满足上界和下界,最坏主导整体,故Θ(n²)。20.在Kubernetes中,用于定义Pod副本数量的控制器对象名为________。【答案】Deployment【解析】Deployment通过ReplicaSet管理Pod副本数。三、简答题(每题8分,共40分)21.描述操作系统中“写时复制”(Copy-on-Write,COW)机制的工作流程,并说明其在fork()系统调用中的优势。【答案】1)当父进程调用fork()时,内核并不立即复制整个地址空间,而是将父子进程的页表项标记为只读并指向同一物理页框。2)若任一进程尝试写入某页,CPU触发页故障,内核在异常处理中分配新页框,将原页内容复制到新页,并更新对应页表项为可写,最后恢复进程执行。3)优势:a.节省内存:子进程常与父进程随后立即调用exec,完全复制浪费;COW避免不必要复制。b.加速创建:fork()仅需复制页表,无需复制数据,时间复杂度由O(n)降至O(1)。c.提高多进程并发效率,尤其Web服务器频繁fork子进程场景。22.给定训练集{(xᵢ,yᵢ)},i=1…n,其中xᵢ∈ℝᵈ,yᵢ∈{−1,+1},请写出线性SVM原始优化目标,并解释hingeloss的数学形式及其作用。【答案】原始目标:min½‖w‖²+C∑ᵢξᵢs.t.yᵢ(w·xᵢ+b)≥1−ξᵢ,ξᵢ≥0,i=1…nhingeloss:ℓ(y,f(x))=max(0,1−yf(x)),其中f(x)=w·x+b。作用:1)当样本被正确分类且函数间隔≥1时损失为0,鼓励大间隔。2)对误分类或间隔不足样本施加线性惩罚,使优化兼顾最大间隔与训练误差。3)与正则项‖w‖²结合,形成对偶问题,可通过核技巧扩展至非线性。23.某分布式系统采用Raft共识算法,请说明Leader选举过程中“SplitVote”现象如何产生及其解决机制。【答案】产生:当Leader故障,Follower随机超时(150~300ms)后转为Candidate并自增term,先投自己再并行请求投票;若集群中多个Candidate同时发起投票,且各自获得的票数均未过半,则本轮无人胜出,即SplitVote。解决:1)每个Candidate在等待投票结果期间设置随机化重试超时(如150~300ms)。2)超时后Candidate自增term并重新发起新一轮选举,由于随机间隔差异,先超时的节点更可能集中票数,从而快速选出Leader。3)通过随机退避,Raft将SplitVote概率降至极低,保证系统可用性。24.简述浏览器从输入URL到页面首次渲染完成的关键路径,并指出可优化环节。【答案】1)URL解析→DNS查询→TCP三次握手→TLS握手→HTTP请求→服务器处理→HTTP响应→浏览器接收HTML。2)构建DOM树、CSSOM树→合成Render树→布局→绘制→合成→光栅化→显示。优化:a.DNS预解析:`<linkrel=dns-prefetch>`。b.TCP/TLS预连接:`<linkrel=preconnect>`。c.资源压缩与HTTP/2多路复用减少往返。d.关键CSS内联,避免渲染阻塞。e.图片懒加载、WebP格式、CDN边缘缓存。f.使用ServiceWorker缓存策略降低回源。25.说明数据库事务的“可串行化”隔离级别如何通过“两阶段锁”实现,并给出“幻读”案例及其避免方法。【答案】实现:1)加锁阶段:事务读取前加共享锁(S),写入前加排他锁(X),并遵循严格两阶段锁协议——锁在提交或回滚后统一释放。2)解锁阶段:事务结束时一次性释放所有锁,保证等价于某串行调度。幻读案例:T1执行`SELECT*FROMordersWHEREprice>100`得5行;T2插入price=150并提交;T1再次查询得6行,出现“幻影”行。避免:a.可串行化隔离下,InnoDB对范围查询加“间隙锁”(GapLock),锁定索引区间,阻止并发插入。b.快照隔离(MVCC)通过版本链与区间快照避免幻读,但非严格可串行化;若要求绝对串行化,需启用`SERIALIZABLE`级别,自动升级为间隙锁+next-keylock。四、综合应用题(共60分)26.(算法设计,15分)给定一棵带权无向图G=(V,E),|V|≤10⁵,|E|≤2×10⁵,边权为正整数。设计算法求“次小生成树”(严格小于最小生成树权值且权值最大的生成树),输出其边权和。要求时间复杂度O(|E|log|V|)。【答案】步骤:1)用Kruskal求最小生成树T,并记录树边集合E_T,权值和MST。2)对每条非树边e=(u,v,w),在T的u-v路径上找到权值最大的边max1与严格次大边max2。3)若w>max1,则可用e替换max1得到候选权值MST−max1+w;若w=max1,则必须替换max2,候选权值MST−max2+w。4)所有候选权值取最小即为次小生成树权值。实现:a.用并查集加速Kruskal,O(|E|log|E|)。b.构建T后,用倍增法预处理每个节点向上2^k级父节点及路径max1、max2,预处理O(|V|log|V|),查询LCA及路径信息O(log|V|)。c.遍历非树边共|E|−|V|+1条,每条查询一次,总O(|E|log|V|)。d.答案取所有候选最小值;若不存在严格小于MST的生成树,返回−1。正确性:次小生成树与最小生成树仅差一条边交换,上述枚举保证不漏。27.(数据库,15分)某电商系统订单表orders(order_id,user_id,sku_id,price,status,create_time),单表数据量5亿行,按create_time按月分区。需高效支持:Q1:查询某用户最近30天已完成订单总额;Q2:统计过去90天每日SKU销量排行前10。请给出表结构、索引与分区策略,并写出Q1、Q2的SQL及执行计划要点。【答案】策略:1)分区:LIST分区按YEAR(create_time)*100+MONTH(create_time)划分,共36个分区,可快速裁剪。2)索引:a.局部索引idx_user_time(user_id,create_time,status)分区级联,支持Q1。b.局部索引idx_sku_time(sku_id,create_time)用于Q2分组。3)SQL:Q1:```sqlSELECTSUM(price)FROMordersWHEREuser_id=?ANDstatus='completed'ANDcreate_time>=DATE_SUB(CURDATE(),INTERVAL30DAY);```Q2:```sqlSELECTsku_id,SUM(price)ASgmvFROMordersWHEREcreate_time>=DATE_SUB(CURDATE(),INTERVAL90DAY)GROUPBYsku_idORDERBYgmvDESCLIMIT10;```执行计划:Q1利用idx_user_time范围扫描,仅访问最近1~2个分区,回表量小;Q2需扫描90天对应3个分区,用idx_sku_time避免全表扫描,分组后排序取Top10,内存足够时可完全在内存完成。28.(系统架构,15分)设计一个“短链服务”,需求:1)长URL≤2KB,短域名为,长度≤8字符,62进制([0-9a-zA-Z]);2)峰值QPS50k,读写比1:1;3)需防止重复长URL生成不同短链;4)短链永久有效。给出系统架构、核心表结构、发号策略、缓存与重定向流程,并评估所需存储。【答案】架构:1)无状态API层:Nginx+Go服务,水平扩展,一致性哈希负载均衡。2)发号器:Snowflake变种,64位ID=41位毫秒+10位机器+13位序列,单机每毫秒可生成8kID,峰值50k÷10机=5k/ms,富余。3)数据库:表short_url(idbigintPK,short_codechar(6)unique,long_urlvarchar(2048),crc32int,created_at)索引:unique(crc32,long_url(256))防重复。4)缓存:RedisCluster,短链→长URL缓存,TTL7天,LRU淘汰;写时先查缓存,缓存未命中再查库,并回填。5)重定向:a.浏览器访问/AbC123,Nginx层先查本地Lua共享字典,未命中回源服务。b.服务查Redis,命中301重定向长URL;未命中查MySQL,再写Redis后301。6)防重复:写请求先计算长URL的crc32,加前缀锁`SETNXEX5`防止并发写;若库中已存在相同crc32且long_url一致,则直接返回已有短链。7)存储评估:a.短链6位62进制可表示62⁶≈56.8B个,足够。b.每行≈2KB长URL+50B元数据,5年累计100B条,需200TB,采用分库分表+冷热分离,冷数据存对象存储,表内仅保留索引与短链,压缩后降至20TB。29.(安全编程,15分)某Web应用提供文件上传功能,要求仅允许jpg/png,大小≤5MB。请列举服务端必须进行的5项安全检查,并给出PythonFlask代码片段。【答案】检查:1)内容类型嗅探:不依赖Content-Type头,而用file.read(16)检测魔数。2)文件头完整性:JPEG以FFD8FF开头,PNG以89504E470D0A1A0A开头。3)图像维度验证:用Pillow打开并检查width×height,防止“图片炸弹”(1×1像素但压缩比极高)。4)大小限制:在读取流时累计字节数,超5MB立即中断。5)文件名与路径:禁止../,统一使用uuid4+“.jpg”,存储路径与Web根隔离。代码:```pythonimportimghdr,uuid,osfromPILimportImagefromflaskimportFlask,request,abortapp=Flask(__name__)UPLOAD_FOLDER='/data/uploads'MAX_SIZE=510241024@app.route('/upload',methods=['POST'])defupload():file=request.files.get('file')ifnotfile:abort(400)ext=imghdr.what(None,h=fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 滁州2025年安徽滁州凤阳县县级公立医院招聘专业技术人员82人笔试历年参考题库附带答案详解
- 新疆2025年新疆职业大学招聘45人笔试历年参考题库附带答案详解
- 职业性肺癌的病理分型与个体化筛查策略
- 安庆2025年安徽安庆迎江区招聘公办幼儿园教师18人笔试历年参考题库附带答案详解
- 南京2025年金陵科技学院招聘专职辅导员7人笔试历年参考题库附带答案详解
- 中山2025年第三期广东中山市港口医院招聘合同制工作人员9人笔试历年参考题库附带答案详解
- 2026年数学高考试题及解析
- 2026年会计学基础财务报表编制实操技能与考试模拟题
- 2026年生物技术及应用知识模拟测试题
- 2026年编程语言高级应用竞赛题目及答案详解
- 新疆环保行业前景分析报告
- 2025~2026学年福建省泉州五中七年级上学期期中测试英语试卷
- 联合办公合同范本
- 2025年生物多样性保护与生态修复项目可行性研究报告
- 2025年黑龙江省检察院公益诉讼业务竞赛测试题及答案解析
- 一氧化碳中毒救治课件
- 广东事业单位历年考试真题及答案
- 《会计信息化工作规范》解读(杨杨)
- 工程机械设备租赁服务方案投标文件(技术方案)
- 高海拔地区GNSS大坝监测技术研究
- 实施指南(2025)《DL-T 1630-2016气体绝缘金属封闭开关设备局部放电特高频检测技术规范》
评论
0/150
提交评论