版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年21cn研发工程师网上笔试题及答案
一、单项选择题(总共10题,每题2分)1.以下哪种设计模式用于将请求封装成对象,从而允许使用不同的请求参数化客户端,队列或日志请求,以及支持可撤销操作?A.工厂模式B.命令模式C.观察者模式D.代理模式2.在Java中,关于HashMap和Hashtable的区别,下列说法错误的是?A.HashMap允许null键和null值,Hashtable不允许B.HashMap是线程不安全的,Hashtable是线程安全的C.HashMap的迭代器是fail-fast的,Hashtable的不是D.HashMap的初始容量和Hashtable相同3.数据库事务的ACID特性中,“I”代表的是?A.原子性B.一致性C.隔离性D.持久性4.TCP协议和UDP协议的主要区别在于?A.TCP是面向连接的,UDP是无连接的B.TCP的传输速度比UDP快C.TCP的数据包大小比UDP大D.TCP只适用于HTTP协议,UDP适用于其他协议5.以下哪种排序算法的时间复杂度在最坏情况下为O(n²)?A.快速排序B.归并排序C.堆排序D.基数排序6.微服务架构中,用于服务注册与发现的组件通常是?A.NginxB.EurekaC.TomcatD.Redis7.在Python中,以下哪种数据结构是有序且可修改的?A.tupleB.listC.setD.frozenset8.操作系统中,进程和线程的主要区别不包括?A.进程是资源分配的基本单位,线程是调度的基本单位B.进程切换开销比线程大C.进程间通信需要特殊机制,线程间共享进程资源D.一个进程只能包含一个线程9.HTTP/2协议相比HTTP/1.1的主要优势不包括?A.二进制帧传输B.头部压缩C.多路复用D.支持更多的请求方法10.以下关于缓存击穿的描述,正确的是?A.大量请求同时查询同一个不存在的key,导致缓存失效后直接访问数据库B.缓存中大量key同时过期,导致大量请求直接访问数据库C.缓存服务宕机,所有请求直接访问数据库D.热点key过期,大量请求同时查询该key,直接访问数据库二、填空题(总共10题,每题2分)1.Java中,______关键字修饰的类不能被继承。2.数据库中,______索引会包含表中所有查询所需列的数据,通常用于避免回表查询的场景。3.TCP协议的______次握手建立连接,______次挥手关闭连接。4.数据结构中,栈的操作遵循______(先进先出/后进先出)的原则。5.操作系统中,死锁的四个必要条件之一是______(互斥/同步)。6.微服务架构中,______(如Consul、Eureka)用于存储服务的地址和元数据,实现服务注册与发现。7.冒泡排序的时间复杂度在平均情况下是______。8.Redis默认使用的端口号是______。9.设计模式中,单例模式的懒汉式实现需要考虑______(线程安全/性能优化)问题。10.缓存雪崩是指______,导致大量请求直接访问数据库。三、判断题(总共10题,每题2分)1.Java中的String类是不可变的,即一旦创建,其内容不能被修改。()2.ArrayList和LinkedList在随机访问元素时,ArrayList的性能更好。()3.数据库的事务隔离级别中,ReadCommitted可以避免脏读,但无法避免不可重复读。()4.UDP协议比TCP协议更可靠,因为它提供了错误重传机制。()5.操作系统的进程调度算法中,短作业优先(SJF)可以最小化平均等待时间。()6.微服务架构就是将一个大的应用拆分成多个小的服务,每个服务可以独立部署和扩展,因此微服务和SOA是完全相同的概念?()7.Git的rebase操作会修改提交历史,而merge操作会创建新的合并提交。()8.HTTP/2协议的多路复用特性允许在同一个TCP连接中并行传输多个请求和响应。()9.垃圾回收(GC)是编程语言自动管理内存的机制,Java中的GC只会回收堆内存中的对象。()10.缓存击穿是指缓存中某个热点key过期,大量请求同时查询该key,导致直接访问数据库的情况。()四、简答题(总共4题,每题5分)1.请简要说明微服务架构的主要优点和缺点。2.数据库索引的作用是什么?常见的索引类型有哪些?3.解释Java中的垃圾回收(GC)机制,并列举两种常用的垃圾回收算法。4.描述TCP三次握手的过程,并说明其目的。五、讨论题(总共4题,每题5分)1.设计一个高并发秒杀系统,需要考虑哪些架构要点?请从限流、缓存、数据库优化等方面进行阐述。2.分析分布式系统中的CAP理论,说明其三个特性的含义及相互关系,并举例说明实际应用中的取舍。3.结合实际项目经验,讨论如何优化数据库的查询性能。可以从索引、SQL语句、数据库配置等方面入手。4.对比微服务架构和单体应用的适用场景,并讨论从单体应用迁移到微服务架构的主要挑战和策略。答案一、单项选择题答案1.B2.D(HashMap初始容量为16,Hashtable为11)3.C(ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))4.A(TCP面向连接,UDP无连接;B错误,TCP因重传开销可能更慢;C错误;D错误,TCP可用于多种协议)5.A(快速排序最坏时间复杂度为O(n²),归并、堆排序为O(nlogn),基数排序为O(nk))6.B(Eureka是服务注册中心,Nginx是反向代理,Tomcat是Web容器,Redis是缓存)7.B(list有序且可修改,tuple不可修改,set无序,frozenset不可修改)8.D(一个进程可包含多个线程)9.D(HTTP/2优势含二进制帧、头部压缩、多路复用,请求方法与HTTP/1.1一致)10.D(A为缓存穿透,B为缓存雪崩,C为缓存宕机)二、填空题答案1.final2.覆盖3.三;四4.后进先出5.互斥(死锁四条件:互斥、持有并等待、不可剥夺、循环等待)6.服务注册中心7.O(n²)8.63799.线程安全(懒汉式单例多线程下易创建多个实例)10.缓存中大量key同时过期(或缓存服务中大量缓存项同时失效)三、判断题答案1.√(String创建后内容不可修改,修改会生成新对象)2.√(ArrayList基于数组,随机访问O(1);LinkedList基于链表,随机访问O(n))3.√(ReadCommitted避免脏读,不可重复读、幻读可能发生)4.×(UDP无连接,无错误重传机制,TCP更可靠)5.√(短作业优先可最小化平均等待时间)6.×(微服务与SOA有区别,SOA强调服务重用和接口标准化,微服务更细粒度、独立部署)7.√(rebase修改提交历史,merge创建新合并提交)8.√(HTTP/2多路复用支持同一TCP连接并行传输多请求/响应)9.√(JavaGC主要回收堆内存对象,栈内存由线程释放)10.√四、简答题答案1.微服务架构优点:①服务独立开发、部署,提升开发效率;②可独立扩展,应对不同服务流量压力;③技术栈灵活,不同服务可选用不同语言/框架;④故障隔离,单个服务故障不影响整体。缺点:①分布式系统复杂度高,需解决服务发现、通信、事务等问题;②运维成本增加,需管理多个服务;③数据一致性难度大,分布式事务实现复杂;④测试和部署流程更繁琐。2.数据库索引作用:①加快查询速度,减少数据扫描范围;②维护数据唯一性(如主键索引)。常见类型:①主键索引:唯一标识记录,不可重复;②唯一索引:列值唯一,允许空(主键不允许);③普通索引:加速查询,无唯一性约束;④复合索引:多列组合,需遵循最左匹配原则;⑤覆盖索引:包含查询所需所有列,避免回表。3.Java垃圾回收(GC)是自动回收不再使用的对象内存的机制。常用算法:①标记-清除:标记可回收对象后清除,会产生内存碎片;②复制算法:将存活对象复制到新区域,解决碎片,适合年轻代;③标记-整理:标记后将存活对象整理到一端,解决碎片,适合老年代;④分代收集:将堆分为年轻代(Eden、Survivor)和老年代,年轻代用复制,老年代用标记-整理/清除,利用对象“朝生夕灭”特性优化。4.TCP三次握手过程:①客户端发送SYN包(Seq=x),请求建立连接;②服务端回复SYN+ACK包(Seq=y,Ack=x+1),确认客户端并请求连接;③客户端回复ACK包(Seq=x+1,Ack=y+1),确认服务端。目的:①确保双方都有收发数据的能力;②同步双方初始序列号,为后续数据传输的顺序和重传提供基础;③防止旧的连接请求干扰当前连接。五、讨论题答案1.高并发秒杀系统架构要点:①限流:前端限流(按钮防重复点击)、网关限流(如Nginx限流、Sentinel),控制请求总量;②缓存:Redis预减库存,缓存商品信息,减少数据库压力;③异步处理:下单请求入消息队列(如Kafka),异步扣减库存和生成订单,提高响应速度;④库存扣减:Redis预减库存,库存不足直接返回,避免超卖;⑤数据库优化:分库分表(订单表按时间/用户分片),使用乐观锁;⑥防刷:验证用户身份,限制请求频率;⑦降级:部分服务故障时,返回默认页面或提示,保证核心功能可用。2.CAP理论:C(一致性):所有节点同一时间数据一致;A(可用性):请求都能收到响应;P(分区容错性):网络分区时系统仍能运行。三者不可同时满足,需取舍:①CP:牺牲可用性,保证数据一致(如ZooKeeper);②AP:牺牲一致性,保证高可用(如Cassandra);③CA:理论上存在(无网络分区时),但实际分布式系统必有分区,故通常在CP或AP间选择。应用场景:金融系统需强一致,选CP;社交应用需高可用,允许短时间不一致,选AP。3.数据库查询性能优化:①索引优化:创建合适的索引(复合、覆盖索引),避免冗余索引,定期维护;②SQL优化:避免`select`,减少JOIN次数,用`EXPLAIN`分析执行计划;③分库分表:水平分表(按时间、用户)、垂直分库(按业务拆分);④缓存:热点数据缓存(如Redis),减少数据库访问;⑤硬件优化:升级CPU、内存,使用SSD;⑥配置优化:调整连接池大小,优化MySQL的`innodb_buffer_pool_size`等参数;⑦业务优化:避免复杂查询,预处理数据。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变压器试验工安全强化水平考核试卷含答案
- 鱼粉制作工岗前安全意识强化考核试卷含答案
- 味精发酵工创新意识竞赛考核试卷含答案
- 猫牙科拔牙术后护理方案指南
- 2026院前急救流程与规范
- 2026年幼儿园期末展
- 人教版(2024)七年级上册英语Unit 5 知识清单
- 短毛犬快速吹干操作指南流程
- 医务科年度工作总结报告
- 重症患者的呼吸机撤离护理
- 鞋类专业术语中英文对照
- 2024年小学二年级数学(北京版)-数的估计(一)-1教案
- 工业智能操作系统白皮书(2024版)
- IATF16949体系推行计划(任务清晰版)
- DL∕T 2588-2023 火力发电厂桥式抓斗卸船机运行检修导则
- 《物联网技术及其在智能建造中的应用》(中文电子课件)
- 第8课《建设法治中国》第1框《科学立法严格执法公正司法全民守法》-【中职专用】《职业道德与法治》同步课堂课件
- 短视频运营逻辑
- 禹州神火义隆煤矿瞬变电磁勘探设计
- 处方点评指南:抗肿瘤药物
- 人教版小学三年级数学下册《小数的初步认识》教学设计
评论
0/150
提交评论