版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年it技术工程师笔试题及答案一、单项选择题(每题2分,共30分)1.以下关于Java并发工具类的描述,错误的是()A.`CyclicBarrier`支持重复使用,而`CountDownLatch`只能使用一次B.`Phaser`可以动态调整参与线程的数量C.`CompletableFuture`的`thenApply`方法用于处理前一步的结果并返回新结果D.`ReentrantReadWriteLock`的写锁可以降级为读锁,但读锁不能升级为写锁答案:D(读锁升级为写锁可能导致死锁,因此`ReentrantReadWriteLock`不支持读锁直接升级为写锁)2.Python中,使用`asyncio`实现异步IO时,`await`关键字必须出现在()中A.普通函数B.提供器函数C.协程函数(`asyncdef`定义的函数)D.装饰器答案:C(`await`只能在`asyncdef`定义的协程函数中使用)3.MySQL8.0中,关于索引的说法错误的是()A.支持降序索引(`DESC`)B.隐藏索引(`INVISIBLEINDEX`)不会被优化器自动使用C.全文索引(`FULLTEXT`)仅支持`CHAR`、`VARCHAR`、`TEXT`类型字段D.覆盖索引(`CoveringIndex`)可以避免回表操作答案:C(MySQL8.0的全文索引支持`CHAR`、`VARCHAR`、`TEXT`及其前缀类型,同时支持多列组合)4.Redis7.0中,以下哪种数据结构不支持过期时间设置?()A.StringB.HashC.SetD.所有数据结构均支持答案:D(Redis7.0及以上版本支持为所有数据结构的单个元素设置过期时间,通过`EXPIRE`命令或`SET`等命令的参数)5.以下关于TCP流量控制的描述,正确的是()A.通过序列号(SequenceNumber)实现B.通过确认号(AcknowledgmentNumber)实现C.通过滑动窗口(SlidingWindow)实现D.通过拥塞窗口(CongestionWindow)实现答案:C(流量控制通过接收方通知发送方自己的接收窗口大小,即滑动窗口机制;拥塞控制涉及拥塞窗口)6.Kubernetes1.29中,以下哪个组件负责Pod的健康检查?()A.kube-apiserverB.kube-controller-managerC.kubeletD.kube-proxy答案:C(kubelet负责管理节点上的Pod,包括执行Liveness、Readiness和StartupProbe)7.用Rust编写并发程序时,以下哪种机制可以避免数据竞争?()A.`Arc<Mutex<T>>`B.`Rc<RefCell<T>>`C.`UnsafeCell`D.原始指针答案:A(`Arc`(原子引用计数)用于多线程共享,`Mutex`(互斥锁)用于同步访问;`Rc`和`RefCell`仅适用于单线程)8.关于大模型微调(Fine-tuning),以下说法错误的是()A.LoRA(低秩适配)通过冻结预训练模型参数,仅训练新增的低秩矩阵B.全参数微调(FullFine-tuning)需要更大的计算资源C.微调时学习率通常比预训练时更高D.指令微调(InstructionTuning)可以提升模型的对话能力答案:C(微调时学习率通常更小,避免过拟合预训练的知识)9.以下哪种算法不属于无监督学习?()A.K-means聚类B.主成分分析(PCA)C.决策树分类D.关联规则挖掘(Apriori)答案:C(决策树是监督学习中的分类算法)10.在Linux内核5.15+中,以下哪个命令可以查看进程的CPU使用率统计?()A.`top-p<PID>`B.`ps-o%cpu-p<PID>`C.`systat-p<PID>`D.`perftop-p<PID>`答案:B(`ps`命令的`-o%cpu`选项直接显示进程的CPU使用率;`top`是实时监控,`perf`用于性能分析)11.微服务架构中,服务治理不包括以下哪个功能?()A.服务注册与发现B.流量染色与灰度发布C.数据库主从同步D.熔断与限流答案:C(数据库主从同步属于数据层运维,服务治理解决服务间通信的可靠性问题)12.以下关于分布式锁的实现,正确的是()A.Redis的`SETNX`命令可直接实现安全的分布式锁B.ZooKeeper通过临时顺序节点实现公平锁C.数据库乐观锁通过`SELECTFORUPDATE`实现D.分布式锁的过期时间应设置为固定值(如30秒)答案:B(ZooKeeper的临时顺序节点可保证锁的公平性;Redis需结合`SET`的`NX`和`EX`参数,避免死锁;数据库乐观锁通过版本号或时间戳;分布式锁过期时间需根据业务执行时间动态调整)13.以下哪种存储引擎支持事务和行级锁?()A.MySQL的MyISAMB.PostgreSQL的HeapC.MongoDB的WiredTigerD.Redis的RDB答案:C(MongoDB3.2+默认使用WiredTiger引擎,支持事务和行级锁;PostgreSQL的Heap引擎仅支持表级锁)14.关于云原生技术,以下说法错误的是()A.Serverless架构中,用户无需管理服务器B.ServiceMesh通过Sidecar模式实现服务间通信治理C.容器镜像的分层结构(Layer)会增加镜像大小D.云原生应用通常采用声明式API(如Kubernetes的CRD)答案:C(容器镜像的分层结构通过共享层减少冗余,实际会减小镜像大小)15.用Python实现一个线程安全的计数器,以下方案最优的是()A.使用`threading.Lock`包裹计数器操作B.使用`queue.Queue`传递计数增量C.使用`multiprocessing.Value`(仅适用于多进程)D.使用`asyncio.Lock`(适用于协程)答案:A(`threading.Lock`是线程同步的标准方式,直接且高效)二、填空题(每空2分,共20分)1.正则表达式`r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+$'`用于匹配________格式。答案:电子邮件(邮箱)2.在Java中,`volatile`关键字的作用是保证变量的________和禁止指令重排序。答案:可见性(多线程间的可见性)3.快速排序的平均时间复杂度是________,最坏时间复杂度是________。答案:O(nlogn);O(n²)4.Linux中,`netstat-anp|grep8080`命令的作用是________。答案:查看占用8080端口的进程信息(或“显示所有网络连接中端口为8080的进程”)5.数据库索引分为聚簇索引和非聚簇索引,MySQL的InnoDB引擎中,主键索引属于________索引。答案:聚簇6.Python中,`__slots__`属性的作用是________(写出一点即可)。答案:限制类实例的属性(减少内存占用/提高属性访问速度)7.分布式系统中,CAP定理指的是________、________和分区容错性三者无法同时满足。答案:一致性(Consistency);可用性(Availability)8.在Kubernetes中,用于定义容器组的资源清单文件的核心对象是________。答案:Pod三、简答题(每题8分,共40分)1.简述Redis持久化机制RDB和AOF的区别,并说明混合持久化(RDB+AOF)的优势。答案:RDB(快照持久化)通过定期将内存数据提供二进制快照文件(dump.rdb),优点是文件小、恢复快,缺点是可能丢失最后一次快照后的所有数据;AOF(追加日志持久化)通过记录所有写操作命令到日志文件(appendonly.aof),优点是数据完整性高(可配置每秒/每次写同步),缺点是文件大、恢复慢。混合持久化在AOF重写时,将RDB快照内容和增量的AOF日志结合,兼顾了RDB的快速恢复和AOF的数据完整性,减少了AOF文件大小和重写时间。2.什么是微服务中的服务发现?常见的实现方式有哪些?答案:服务发现是微服务架构中,服务消费者动态获取服务提供者实例网络地址(IP+端口)的机制。常见实现方式包括:客户端发现:消费者通过查询注册中心(如Eureka、Consul)获取服务列表,自行负载均衡(如SpringCloud的Ribbon);服务端发现:消费者请求转发到负载均衡器(如Kubernetes的Service),由负载均衡器查询注册中心并路由请求;基于DNS的发现:通过DNS记录动态解析服务地址(如Kubernetes的DNSforServices)。3.JVM的G1(GarbageFirst)收集器与CMS(ConcurrentMarkSweep)收集器的主要区别是什么?答案:目标不同:G1目标是在大内存场景下实现可预测的停顿时间(PauseTimeGoal),CMS目标是减少老年代停顿时间;内存划分:G1将堆划分为多个Region(区域),不再严格区分年轻代和老年代;CMS仍采用分代模型(年轻代+老年代);回收策略:G1优先回收价值最大(垃圾最多)的Region(“GarbageFirst”),CMS通过标记-清除(Mark-Sweep)回收老年代;内存碎片:G1通过复制算法整理内存,减少碎片;CMS的标记-清除会产生碎片,可能触发FullGC。4.描述TCP三次握手的过程,并解释为什么需要三次握手而不是两次。答案:三次握手过程:1.客户端发送SYN=1,随机序列号x(连接请求);2.服务器回复SYN=1,ACK=1,确认号x+1,随机序列号y(连接确认+请求);3.客户端发送ACK=1,确认号y+1(最终确认)。需要三次握手的原因:防止失效的连接请求报文段被服务器接收并建立错误连接。若仅两次握手,客户端发送的SYN在网络中延迟,客户端超时后重发SYN并建立连接,此时旧SYN到达服务器,服务器会误以为是新请求并建立连接,导致资源浪费。三次握手通过客户端的最终确认避免了这种情况。5.设计一个日志分析函数(用Python),输入为日志文件路径,输出为当天访问量最高的前5个IP地址及其次数。需考虑大文件读取效率问题。答案:关键思路:逐行读取日志(避免一次性加载大文件);解析每行的IP地址(假设日志格式为“IP时间其他信息”);过滤出当天的日志(需解析时间字段,假设时间格式为“YYYY-MM-DDHH:MM:SS”);使用`collections.defaultdict`或`Counter`统计IP次数;按次数降序排序,取前5。示例代码:```pythonfromcollectionsimportdefaultdictfromdatetimeimportdatetimedeftop_ips(log_path,target_date):ip_counts=defaultdict(int)target_date_str=target_date.strftime("%Y-%m-%d")withopen(log_path,"r",encoding="utf-8")asf:forlineinf:parts=line.strip().split()iflen(parts)<2:continueip=parts[0]log_time=parts[1]假设时间字段为第二位,格式如"2025-05-20T12:34:56"try:log_date=datetime.strptime(log_time.split("T")[0],"%Y-%m-%d")except(IndexError,ValueError):continueiflog_date.date()==target_date.date():ip_counts[ip]+=1按次数降序排序,取前5sorted_ips=sorted(ip_counts.items(),key=lambdax:-x[1])[:5]returnsorted_ips使用示例target_date=datetime(2025,5,20)假设统计2025-05-20的日志result=top_ips("/var/log/access.log",target_date)print(result)```四、编程题(每题15分,共30分)1.给定一个整数数组`nums`和一个整数`k`,找出数组中和为`k`的最长连续子数组的长度。若不存在这样的子数组,返回0。要求:时间复杂度O(n),空间复杂度O(n)。示例:输入:nums=[1,-1,5,-2,3],k=3输出:4(子数组[1,-1,5,-2]的和为3,长度4)答案:思路:使用前缀和+哈希表记录前缀和第一次出现的索引。前缀和`pre_sum[i]`表示前i个元素的和,若`pre_sum[j]pre_sum[i]=k`,则子数组长度为`j-i`。哈希表存储`pre_sum`到索引的映射,仅保留第一次出现的索引(保证最长长度)。代码:```pythondefmax_subarray_length(nums,k):prefix_sum=0sum_index={0:-1}初始前缀和为0,索引-1(处理从0开始的子数组)max_len=0fori,numinenumerate(nums):prefix_sum+=num检查是否存在prefix_sumk的前缀和if(prefix_sumk)insum_index:current_len=isum_index[prefix_sumk]ifcurrent_len>max_len:max_len=current_len仅当当前前缀和未记录时,才存入哈希表(保留最早出现的索引)ifprefix_sumnotinsum_index:sum_index[prefix_sum]=ireturnmax_len测试nums=[1,-1,5,-2,3]k=3print(max_subarray_length(nums,k))输出4```2.设计一个分布式锁(基于Redis),要求支持可重入、自动续期,且能防止锁误删。答案:关键设计点:可重入:通过记录客户端ID和加锁次数(如使用`Hash`存储`{lock_key:{client_id:count}}`);自动续期:启动后台线程(看门狗)定期刷新锁的过期时间(如每1/3过期时间续期一次);防止误删:释放锁时检查锁是否属于当前客户端(通过`client_id`匹配)。示例代码(Python,使用`redis-py`):```pythonimporttimeimportuuidfromthreadingimportThread,EventimportredisclassRedisReentrantLock:def__init__(self,redis_client,lock_key,expire=30):self.redis=redis_clientself.lock_key=f"lock:{lock_key}"self.expire=expire锁默认过期时间(秒)self.client_id=str(uuid.uuid4())唯一标识客户端self.lock_count=0重入次数self.stop_event=Event()用于停止续期线程defacquire(self):可重入逻辑:若当前客户端已持有锁,增加计数current=self.redis.hget(self.lock_key,self.client_id)ifcurrent:self.lock_count=int(current)+1self.redis.hset(self.lock_key,self.client_id,self.lock_count)returnTrue尝试获取锁(使用SET命令保证原子性)success=self.redis.set(self.lock_key,self.client_id,nx=True,仅当键不存在时设置ex=self.expire过期时间防止死锁)ifsuccess:self.lock_count=1启动自动续期线程self._start_renewal()returnTruereturnFalsedef_renewal_task(self):whilenotself.stop_event.is_set():每1/3过期时间续期一次(如expire=30,则每10秒续期)time.sleep(self.expire/3)仅当当前客户端仍持有锁时续期current=self.redis.hget(self.lock_key,self.client_id)ifcurrentandint(current)>0:self.redis.expire(self.lock_key,self.expire)def_start_renewal(self):self.stop_event.clear()t=Thread(target=self._renewal_task)t.daemon=True守护线程,主程序退出时自动终止t.start()defrelease(self):ifself.lock_count<=0:returnFalse减少重入次数self.lock_count-=1ifself.lock_count>0:self.redis.hset(self.lock_key,self.client_id,self.lock_count)returnTrue最后一次释放锁:删除对应客户端的记录,若锁无其他持有者则删除键withself.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建立完善严禁混合收运处置建筑垃圾分类收运处理制度
- 市政协议政会制度
- 【答案】《生产管理》(无锡职业技术学院)章节期末慕课答案
- 小餐饮食品安全制度
- 石家庄城市经济职业学院《嵌入式驱动开发》2023-2024学年第二学期期末试卷
- 对外经济贸易大学《工业机器视觉》2023-2024学年第二学期期末试卷
- 山西信息职业技术学院《银行从业知识技能》2023-2024学年第二学期期末试卷
- 肇庆学院《班级管理全景观摩与案例分析》2023-2024学年第二学期期末试卷
- 内部审计工作底稿的三级复核制度
- 郑州轨道工程职业学院《材料近代测试方法及实验》2023-2024学年第二学期期末试卷
- 深圳大疆在线测评行测题库
- 金属厂生产制度
- 2026安徽淮北市特种设备监督检验中心招聘专业技术人员4人参考题库及答案1套
- 2025年航空行业空客智能制造报告
- 蒙牛乳业股份有限公司盈利能力分析
- 2025民航西藏空管中心社会招聘14人(第1期)笔试参考题库附带答案详解(3卷合一版)
- (新教材)2026年人教版八年级下册数学 21.2.1 平行四边形及其性质 课件
- 设备保养维护规程
- 2025年东营中考物理真题及答案
- DL-T+5860-2023+电化学储能电站可行性研究报告内容深度规定
- GB/T 46425-2025煤矸石山生态修复技术规范
评论
0/150
提交评论