计算机单招考试试题及答案_第1页
计算机单招考试试题及答案_第2页
计算机单招考试试题及答案_第3页
计算机单招考试试题及答案_第4页
计算机单招考试试题及答案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机单招考试试题及答案1.(单选)在32位补码系统中,执行C语言语句inta=-2147483648;printf("%d",-a);输出的结果是A.2147483648 B.-2147483648 C.0 D.2147483647答案:B解析:-2147483648的补码为0x80000000,对其取负时发生溢出,补码系统规定“最小负数取负仍为自身”,故-a值不变,输出-2147483648。2.(单选)某SSD采用4KB页、256KB块,垃圾回收策略为“贪婪回收”。若文件系统连续写入10MB顺序数据后立即删除前5MB,则下一次触发回收时,有效页占比约为A.50% B.0% C.100% D.25%答案:A解析:10MB共占2560页,删除前5MB即释放1280页,剩余1280页有效,故有效页占比50%。3.(单选)在IPv6中,目的地址FF02::1:FF12:3456属于A.节点本地所有节点 B.链路本地所有路由器 C.被请求节点多播 D.站点本地所有主机答案:C解析:前缀FF02::1:FFxx:xxxx为被请求节点多播地址,用于邻居发现。4.(单选)若关系R(A,B,C)的函数依赖集F={A→B,B→C},则R的候选码为A.A B.B C.C D.AB答案:A解析:A的闭包A⁺={A,B,C},可决定全部属性,且为最小集,故A是唯一候选码。5.(单选)在Linux内核中,系统调用open()返回的文件描述符存放在进程task_struct的哪个字段A.files B.fs C.mm D.signal答案:A解析:files指向structfiles_struct,内含fd_array,保存已打开文件描述符。6.(单选)对一幅1024×768的24位BMP图像进行无损压缩,采用Huffman编码后理论最大压缩比约为A.1.0 B.2.4 C.8.0 D.24答案:B解析:24位图像原始熵通常接近7.2bit/像素,Huffman可逼近熵,压缩比≈24/7.2≈3.3,考虑额外码表开销,实际约2.4。7.(单选)在ReactHooks中,下列代码输出const[x,setX]=useState(0);useEffect(()=>{setX(x+1);setX(x+1);},[]);console.log(x);A.0 B.1 C.2 D.报错答案:A解析:useState的更新函数在事件合并机制下批量执行,两次setX基于相同闭包x=0,故最终x仍为0,console同步打印0。8.(单选)某算法时间复杂度满足递推式T(n)=4T(n/2)+O(n²),则其渐近复杂度为A.Θ(n²) B.Θ(n²logn) C.Θ(n³) D.Θ(n^log₄)答案:B解析:由主定理,a=4,b=2,f(n)=Θ(n²),满足情形2,T(n)=Θ(n²logn)。9.(单选)在802.11ax中,OFDMA子载波间隔为A.312.5kHz B.78.125kHz C.156.25kHz D.7.8125kHz答案:B解析:802.11ax采用4×符号时长,子载波间隔降为78.125kHz。10.(单选)下列Python表达式值为True的是A.numpy.nan==numpy.nan B.numpy.nanisnumpy.nan C.NoneisNone D.0.1+0.2==0.3答案:C解析:None是单例,is比较为True;NaN与任何值(含自身)比较为False;浮点误差使0.1+0.2≠0.3。11.(单选)在MySQL8.0默认配置下,事务隔离级别为A.READUNCOMMITTED B.READCOMMITTED C.REPEATABLEREAD D.SERIALIZABLE答案:C解析:MySQL默认采用REPEATABLEREAD,使用Next-KeyLock解决幻读。12.(单选)对一棵红黑树插入节点后,最坏情况下需调整的旋转次数为A.1 B.2 C.3 D.4答案:B解析:插入修复最多两次旋转即可恢复红黑性质。13.(单选)在Docker中,命令dockerexport输出的是A.镜像层tar包 B.容器文件系统tar C.镜像json描述 D.容器checkpoint答案:B解析:export将容器当前文件系统打包为tar,不含镜像历史层。14.(单选)若CPU主频3.0GHz,CPI=0.5,则单核理论峰值性能为A.1.5GIPS B.3.0GIPS C.6.0GIPS D.12.0GIPS答案:C解析:IPC=1/CPI=2,峰值性能=3.0GHz×2=6.0GIPS。15.(单选)在RSA加密中,若公钥(e,n)=(3,55),私钥d的值为A.3 B.7 C.11 D.27答案:D解析:n=55=5×11,φ(n)=40,d≡e⁻¹mod40,3×27≡1mod40,故d=27。16.(单选)在Git内部,一个tree对象的SHA-1值基于A.文件内容 B.文件路径 C.文件模式+路径+blobSHA-1的拼接 D.提交信息答案:C解析:tree对象存储“模式路径blobSHA”条目,拼接后计算SHA-1。17.(单选)在TCP拥塞控制中,ssthresh初始值通常设为A.1MSS B.2MSS C.65535B D.接收窗口答案:C解析:传统实现将ssthresh初始置为65535B,即未测量前的上限。18.(单选)对一幅灰度图像使用3×3中值滤波,边界采用镜像填充,则输出图像尺寸A.缩小2行2列 B.不变 C.缩小1行1列 D.扩大1行1列答案:B解析:镜像填充保证卷积核完全覆盖,输出尺寸与输入一致。19.(单选)在Kubernetes中,Pod的livenessProbe失败将触发A.重启容器 B.重启Pod C.重新调度 D.缩容ReplicaSet答案:A解析:kubelet根据livenessProbe重启容器,保持Pod名称不变。20.(单选)下列关于HTTP/3的描述错误的是A.基于QUIC B.使用HPACK头部压缩 C.默认端口443 D.支持多路复用答案:B解析:HTTP/3采用QPACK,HPACK为HTTP/2使用。21.(多选)下列操作可能触发CPUCache伪共享的有A.两个线程写同一缓存行不同变量 B.线程写私有变量 C.对齐到64B边界 D.使用__attribute__((aligned(64)))答案:A解析:A导致缓存行在核心间来回失效;C、D为规避手段;B为私有数据不共享。22.(多选)关于B+树正确的是A.叶节点链表支持范围查询 B.非叶节点仅存键 C.所有键出现在叶节点 D.根节点至少两棵子树答案:ABC解析:D错误,允许根节点为叶节点即无子树。23.(多选)在Python3中,下列属于可变对象的有A.list B.tuple C.bytearray D.frozenset答案:AC解析:list、bytearray内容可变;tuple、frozenset不可变。24.(多选)下列属于RISC-V特权指令的有A.ECALL B.MRET C.CSRRW D.LW答案:ABC解析:LW为普通加载指令;ECALL、MRET、CSRRW需特权级。25.(多选)关于GAN训练过程,下列可能引发模式崩塌的有A.判别器过强 B.生成器学习率过高 C.使用Wasserstein损失 D.批量归一化答案:AB解析:判别器过强使生成器梯度消失;学习率过高导致振荡;Wasserstein与BN为缓解手段。26.(多选)在SQL中,下列可保证可串行化的锁策略有A.两阶段锁+区间锁 B.乐观并发控制+验证 C.多版本时间戳排序 D.单版本时间戳+等待答案:ABC解析:D可能产生不一致;A、B、C均被证明等价某串行调度。27.(多选)下列Linux信号默认动作是终止进程并coredump的有A.SIGSEGV B.SIGABRT C.SIGKILL D.SIGQUIT答案:ABD解析:SIGKILL无法捕获且不产生core。28.(多选)在HTTPS握手阶段,下列消息包含服务器证书的有A.ServerHello B.Certificate C.ServerKeyExchange D.CertificateRequest答案:B解析:Certificate消息携带X.509证书;ServerKeyExchange仅当密钥交换需额外参数时发送。29.(多选)下列属于进程间“临界区”问题的必要条件有A.互斥 B.前进 C.有限等待 D.忙等答案:ABC解析:D为实现方式,非必要条件。30.(多选)在机器学习中,下列可用于处理类别不平衡的技术有A.SMOTE过采样 B.调整类别权重 C.使用F1评分 D.早停答案:ABC解析:早停用于防过拟合,非直接处理不平衡。31.(填空)在IPv4子网划分中,若需要容纳700台主机,则最小子网掩码为____位。答案:22解析:2¹⁰=1024≥700+2,需10位主机号,掩码32-10=22。32.(填空)某磁盘转速7200RPM,平均寻道时间5ms,数据传输率200MB/s,读取一个4KB随机块平均耗时____ms(保留一位小数)。答案:5.1解析:旋转延迟=4.17ms,传输时间=4KB/200MB≈0.02ms,总=5+4.17+0.02≈9.2ms(修正:7200RPM→半圈4.17ms,随机平均半圈,故5+4.17+0.02=9.2,但题意“随机块”通常指平均等待半圈,已正确)。33.(填空)在Python中,表达式sum([0.1]*10)==1.0的值为____。答案:False解析:浮点累积误差使和为1.0000000000000007。34.(填空)若某算法需比较次数为⌈log₂n!⌉,则其渐进复杂度为____。答案:Θ(nlogn)解析:由斯特林公式,log(n!)≈nlogn-n。35.(填空)在CSS中,选择器“div>p+a”匹配的元素个数为____。答案:0解析:+为相邻兄弟选择器,需紧跟p后的a,且与div>p同级,语法无效,无法匹配。36.(填空)在二叉堆中,删除最小元素后,最坏情况下需执行____次数据交换。答案:log₂n⌋解析:堆化下沉路径长度最大为树高。37.(填空)在Go语言中,关键字chan的零值为____。答案:nil解析:未初始化的chan为nil,读写均阻塞。38.(填空)在正则表达式中,匹配“十六进制颜色码”如#A3F2B1的模式为____。答案:^#[0-9A-Fa-f]{6}$解析:严格6位十六进制。39.(填空)在SQL中,MySQL函数UNIX_TIMESTAMP('2024-06-0100:00:00')返回____(秒)。答案:1719792000解析:UTC+0时区对应时间戳。40.(填空)在RSA签名方案中,若使用PSS填充,摘要算法为SHA-256,则盐值长度至少为____字节以提供128位安全强度。答案:16解析:PSS盐长≥hLen=32字节可提供256位安全,但128位安全对应16字节,题设“至少”取16。41.(判断)在C语言中,表达式sizeof('a')的值等于sizeof(char)。答案:错误解析:字符常量为int类型,sizeof('a')=4(32位系统),sizeof(char)=1。42.(判断)在HTTP/2中,服务器推送资源必须等待客户端首次请求后方可发送。答案:错误解析:服务器可主动推送,无需等待对应请求。43.(判断)在操作系统中,银行家算法可用于避免死锁,也可用于检测死锁。答案:错误解析:银行家算法仅用于避免,不用于检测。44.(判断)在Python中,列表推导式内部变量不会泄露到外部作用域。答案:正确解析:Python3起,列表推导式拥有局部作用域。45.(判断)在BGP协议中,本地优先级属性在AS之间传递。答案:错误解析:本地优先级仅在AS内部传递,离开AS时被剥离。46.(判断)在卷积神经网络中,ReLU激活函数可以解决梯度爆炸问题。答案:错误解析:ReLU缓解梯度消失,对爆炸无直接抑制。47.(判断)在Linux中,命令chmod2755file将设置文件setgid位。答案:正确解析:2xxx置setgid位,755为普通权限。48.(判断)在数据库中,视图可以建立索引。答案:错误解析:标准SQL不允许对视图建索引,需物化视图。49.(判断)在Java中,volatile关键字保证原子性。答案:错误解析:volatile仅保证可见性与有序性,不保证复合操作原子性。50.(判断)在Git中,执行gitreset--hard后可用gitreflog恢复丢弃的提交。答案:正确解析:reflog记录HEAD历史,可找回丢弃提交。51.(简答)描述CPU分支预测器对程序性能的影响,并给出优化代码的实例。答案:分支预测失败将刷新流水线,浪费约15-20周期。优化示例:将条件语句改为无分支算术。原代码:for(inti=0;i<n;i++)sum+=(a[i]>0)?a[i]:0;优化:for(inti=0;i<n;i++)sum+=((a[i]>>31)&0)^a[i];通过位运算消除分支,预测失败率降至0,循环耗时减少30%。52.(简答)说明MySQL中“覆盖索引”概念,并给出示例SQL。答案:若查询列与WHERE条件均包含在二级索引,无需回表即称覆盖索引。示例:SELECTnameFROMuserWHEREage=20;若存在联合索引(age,name),则Extra列显示Usingindex,IO次数减半。53.(简答)解释Docker镜像分层存储优势,并说明如何最小化镜像体积。答案:分层使相同底层共享,节省磁盘与网络;最小化方法:多阶段构建,alpine基础镜像,合并RUN指令,清理缓存,如FROMgolang:alpineASbuilder...FROMalpineCOPY--from=builder/app/main/bin/main体积由300MB降至12MB。54.(简答)阐述Raft算法中“领导人选举”的触发条件与投票规则。答案:follower在选举超时(150-300ms随机)未收到心跳即转为candidate,递增term,投票给自己,并行向所有节点索要选票;节点仅对term更大且日志至少一样新的candidate投赞成,获得多数派即胜出;若分割投票,超时后term递增重试,确保最终唯一领导人。55.(简答)说明Java中“伪共享”产生原因,并给出JDK8解决方案。答案:多线程写同一缓存行变量导致核心间频繁失效;使用@Contended注解或填充long字段至64B,使变量独占缓存行,性能提升2-3倍。56.(简答)描述HTTPS中“证书透明度”机制作用。答案:CT要求CA将证书发布到公共日志,浏览器验证SCT签名,防止恶意颁发,提升信任,用户可审计。57.(简答)给出在Linux下使用eBPF统计系统调用次数的极简命令。答案:sudobpftrace-e'tracepoint:raw_syscalls:sys_enter{@[comm]=count();}'输出各进程调用次数直方图。58.(简答)说明“数据仓库”与“数据湖”主要区别。答案:数据仓库存清洗后的结构化数据,Schema-on-write,面向分析;数据湖存原始格式,Schema-on-read,支持机器学习,扩展性强,延迟高。59.(简答)解释为何在深度网络中使用BatchNorm可加快收敛。答案:BN将每层输入归一化至N(0,1),缓解内部协变量偏移,允许更大学习率,减少梯度弥散,正则化效应降低dropout依赖,收敛速度提升5-10倍。60.(简答)给出在Windows下使用PowerShell批量重命名后缀的脚本。答案:Get-ChildItem*.txt|Rename-Item-NewName{Na一行完成,无需循环。61.(综合)某电商平台需设计“秒杀”系统,要求支持10万QPS,库存扣减准确,页面静态化,请给出架构要点。答案:1.静态页面预缓存至CDN,按钮置灰,倒计时由边缘JS控制。2.网关层OpenResty+Lua,使用令牌桶限流10万QPS,超出直接返回排队页。3.校验层Redis集群预减库存,采用Lua脚本保证原子性:localstock=redis.call('decr',KEYS[1])ifstock<0thenredis.call('incr',KEYS[1]);return0endreturn14.成功请求写入Kafka,订单服务异步消费,MySQL采用乐观锁version字段,避免超卖。5.库存预热:启动时加载至Redis,淘汰策略设为noeviction。6.防刷:用户维度滑动窗口,结合UID+设备指纹,异常账户封禁。7.监控:Prometheus+QPS、RT、失败率告警,熔断阈值5%。8.压测:使用GoReplay回放流量,集群可水平扩展至20台16核32GB,CPU<60%,P99延迟<100ms。62.(综合)给定无序数组arr,找出前k个最大元素,要求时间复杂度优于O(nlogn),给出算法步骤与Python实现。答案:采用快速选择+堆优化。步骤:1.快速选择定位第k大元素pivot,平均O(n)。2.再次遍历收集≥pivot元素,若多余k则用小根堆过滤,保证O(n+klogk)。代码:importrandomdeftopk(arr,k):ifk>=len(arr):returnsorted(arr,reverse=True)defpartition(l,r):x=arr[random.randint(l,r)]i,j=l,rwhilei<=j:whilearr[i]>x:i+=1whilearr[j]<x:j-=1ifi<=j:arr[i],arr[j]=arr[j],arr[i]i+=1;j-=1returnil,r=0,len(arr)-1whileTrue:m=partition(l,r)ifm==k:breakelifm<k:l=melse:r=m-1returnsorted(arr[:k],reverse=True)平均复杂度O(n),最坏O(n²)但概率极低。63.(综合)说明如何在Kubernetes中实现“灰度发布”,并给出YAML片段。答案:使用Deployment+Service+Ingress,基于Header分流。1.创建两个Deployment:prod-v1、prod-v2,标签version=v1/v2。2.Serviceselector同时包含v1、v2,但v2副本数为0。3.Ingress-Nginx配置canary:metadata:annotations:nginx.ingress.kubernetes.io/canary:"true"nginx.ingress.kubernetes.io/canary-by-header:"X-Canary"nginx.ingress.kubernetes.io/canary-by-header-value:"always"4.逐步扩容v2、缩容v1,观测错误率<1%后全量切换。YAML片段:apiVersion:apps/v1kind:Deploymentmetadata:name:prod-v2spec:replicas:1selector:matchLabels:{app:prod,version:v2}template:metadata:labels:{app:prod,version:v2}spec:containers:name:appimage:myapp:v2ports:containerPort:808064.(综合)描述一次完整的“SQL注入”攻击流程,并给出防御代码示例(Java+MyBatis)。答案:流程:1.攻击者在登录表单输入user='OR1=1--,密码任意。2.后端拼接:SELECT*FROMuserWHEREname=''OR1=1--'ANDpass='...',恒真,绕过认证。3.进一步利用UNIONSELECT获取管理员表数据。防御:使用MyBatis#{}占位符,MyBatis自动预编译:<selectid="login"resultType="User">SELECT*FROMuserWHEREname=#{name}ANDpass=#{pass}</select>切勿使用${}直接拼接;同时开启WAF正则拦截关键字,数据库账户降权,最小权限。65.(综合)给定一个10GB的访问日志文件,每行格式为“timestampuser_idurl”,计算独立访客数(UV),机器内存仅4GB,给出外排序+哈希方案。答案:1.按user_id哈希分桶至100个小文件,保证相同ID落入同一文件,内存占用<40MB。2.对每个小文件使用Bitmap或RoaringBitmap去重,内存<50MB。3.合并各桶基数,得总UV。4.使用GNUsort-S1G-u–parallel=4加速排序,耗时约15min(SSD)。5.若允许误差,采用HyperLogLog,标准误差0.8%,内存仅1.5KB,单机秒级。66.(综合)说明在Transformer模型中“位置编码”作用,并给出正弦编码公式。答案:位置编码为序列提供顺序信息,弥补Self-Attention的置换不变性。公式:PE(pos,2i)=sin(pos/10000^(2i/d_model))PE(pos,2i+1)=cos(pos/10000^(2i/d_model))pos为位置,i为维度索引,d_model=512。该编码使相对位置可通过线性变换表示,支持外推更长序列。67.(综合)在Linux内核模块中,如何拦截系统调用open()并记录文件名?给出关键代码。答案:1.获取sys_call_table地址(kallsyms_lookup_name)。2.保存原函数指针orig_open。3.替换为自定义new_open,内部使用printk记录文件名后调回原函数。4.退出模块时恢复指针。关键片段:asmlinkageint(orig_open)(constchar,int,mode_t);asmlinkageintnew_open(constchar*filename,intflags,mode_tmode){printk(KERN_INF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论