2026四川虹信软件股份有限公司招聘技术经理岗位测试笔试历年参考题库_第1页
2026四川虹信软件股份有限公司招聘技术经理岗位测试笔试历年参考题库_第2页
2026四川虹信软件股份有限公司招聘技术经理岗位测试笔试历年参考题库_第3页
2026四川虹信软件股份有限公司招聘技术经理岗位测试笔试历年参考题库_第4页
2026四川虹信软件股份有限公司招聘技术经理岗位测试笔试历年参考题库_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

2026四川虹信软件股份有限公司招聘技术经理岗位测试笔试历年参考题库一、单项选择题(每题2分,共20分)1.在SpringBoot项目中,若希望禁用默认的Banner输出,下列配置正确的是A.spring.main.banner-mode=offB.spring.banner.enabled=falseC.spring.boot.banner.enable=offD.spring.main.show-banner=false答案:A解析:SpringBoot2.x官方文档指出,spring.main.banner-mode支持console/log/off三种值,其中off可完全关闭Banner。2.某关系表course(course_id,title,credit,dept_id),其中credit为tinyint(1)且允许NULL。现需查询“学分大于2且不为NULL”的课程,下列SQL写法正确且性能最佳的是A.SELECTFROMcourseWHEREcredit>2ANDcreditISNOTNULL;A.SELECTFROMcourseWHEREcredit>2ANDcreditISNOTNULL;B.SELECTFROMcourseWHEREIFNULL(credit,0)>2;B.SELECTFROMcourseWHEREIFNULL(credit,0)>2;C.SELECTFROMcourseWHEREcredit>2;C.SELECTFROMcourseWHEREcredit>2;D.SELECTFROMcourseWHEREcreditISNOTNULLHAVINGcredit>2;D.SELECTFROMcourseWHEREcreditISNOTNULLHAVINGcredit>2;答案:C解析:在MySQL中,对NULL值进行>比较时返回UNKNOWN,因而credit>2天然过滤掉NULL行,无需再写ISNOTNULL;同时避免函数调用,索引可生效。3.在Linux系统中,查看当前TCP监听端口及其对应的进程PID,应使用的命令组合为A.netstat-tulnpB.ss-lntpC.lsof-iTCP-sTCP:LISTEND.以上皆可答案:D解析:三套工具均能实现需求,ss为iproute2套件,速度最快;netstat属于net-tools,老系统常见;lsof侧重文件描述符视角。4.使用Redis实现分布式锁时,为避免“进程GC停顿”导致的锁误删,推荐的最佳实践是A.使用SETkeyvalueNXEXsecondsB.使用SETNX+EXPIRE两条指令C.在value中写入唯一标识,释放锁时通过Lua脚本“比对+删除”D.将锁超时设置远大于业务最大耗时答案:C解析:A/B均未解决“谁删锁”问题;D无法精确定位;Lua脚本保证比对与删除原子性,是Redlock算法的基础。5.在Vue3CompositionAPI中,若要让响应式变量count在模板中自动追踪,下列代码正确的是A.letcount=0;B.constcount=ref(0);C.constcount=reactive(0);D.conststate=reactive({count:0});答案:B解析:ref用于包装基本类型,返回RefImpl对象,模板可直接{{count}};reactive需传入对象。6.某微服务采用Kafka做消息总线,若要保证“消费端幂等”,以下策略无效的是A.消费端维护唯一索引表,按消息key去重B.开启Kafka的enable.idempotence=trueC.业务层使用“状态机+版本号”D.将消费结果写入支持唯一键的DB答案:B解析:enable.idempotence仅保证“生产者”幂等,即不重复写入分区;与消费端是否重复处理无关。7.在TCP三次握手阶段,服务器发送SYN+ACK后,客户端立即RST,服务器处于的状态是A.SYN_RECEIVEDB.ESTABLISHEDC.CLOSE_WAITD.FIN_WAIT_1答案:A解析:服务器收到SYN并回SYN+ACK后进入SYN_RECEIVED;若此时收到RST则退回LISTEN。8.在Java17中,使用ZGC时,若要关闭类卸载,需添加的JVM参数为A.-XX:-ClassUnloadingB.-XX:+DisableClassUnloadingC.-XX:-ClassUnloadingWithConcurrentMarkD.ZGC不支持关闭类卸载答案:D解析:ZGC内部强制启用类卸载,无法通过参数关闭;G1支持-XX:+DisableClassUnloading。9.某系统采用MySQL8.0,InnoDB引擎,隔离级别为REPEATABLEREAD。事务A先SELECTFROMuserWHEREid=1FORUPDATE;事务B再INSERTINTOuser(id)VALUES(1);则B会9.某系统采用MySQL8.0,InnoDB引擎,隔离级别为REPEATABLEREAD。事务A先SELECTFROMuserWHEREid=1FORUPDATE;事务B再INSERTINTOuser(id)VALUES(1);则B会A.立即报主键冲突B.等待A提交C.等待A回滚D.插入成功答案:B解析:FORUPDATE对不存在的记录加“间隙锁”(gaplock),锁住(负无穷,1)区间;B插入1需获取该区间的插入意向锁,与gaplock冲突,故阻塞。10.在Kubernetes中,若Pod的livenessProbe连续失败,系统将A.重启容器B.重启PodC.将Pod置为NotReadyD.删除Endpoint答案:A解析:kubelet根据restartPolicy决定是否重启容器;默认Always,即重启容器而非重建Pod。二、不定项选择题(每题3分,共15分;多选少选均不得分)11.以下哪些HTTP状态码表示“客户端错误”A.400B.401C.403D.502答案:A、B、C解析:4xx系列为客户端错误;502为网关错误,属5xx。12.关于Git工作流,下列说法正确的是A.gitrebase会改写提交历史B.gitmerge--no-ff可保留分支拓扑C.gitcherry-pick可提取单个提交到当前分支D.gitreset--hardHEAD~1会删除最新提交且不可找回答案:A、B、C解析:D可通过reflog找回,并非绝对不可恢复。13.在Dockerfile中,能够减少镜像层数的指令有A.使用&&连接多条RUNB.使用多阶段构建(Multi-stage)C.使用COPY--linkD.使用ARG答案:A、B、C解析:ARG仅用于构建期变量,不直接减少层数。14.以下属于CAP定理中“分区容错性”实际体现的是A.数据中心间光缆被挖断B.某节点GC停顿10秒C.交换机固件Bug导致广播风暴D.客户端时钟跳变答案:A、C解析:分区指网络隔离;GC停顿属节点自身故障;时钟跳变属时钟域问题。15.在Java并发包中,实现“阻塞+边界”的队列有A.ArrayBlockingQueueB.LinkedBlockingQueueC.SynchronousQueueD.ConcurrentLinkedQueue答案:A、B、C解析:ConcurrentLinkedQueue无界、非阻塞;其余三者均支持阻塞且可设边界。三、填空题(每空2分,共20分)16.在Linux中,查看当前系统负载(1分钟、5分钟、15分钟)的命令是________。答案:uptime17.在MySQL8.0中,使用________函数可安全地将“2026-05-0114:30:00”转换为UTC的datetime。答案:CONVERT_TZ('2026-05-0114:30:00','+08:00','+00:00')18.在TCP报文段中,用于“滑动窗口”流量控制的字段是________。答案:WindowSize19.在Git中,查看某文件每一行最后修改提交信息的命令是git________。答案:blame20.在Java中,________类提供了compareAndSet方法,是CAS实现的基石之一。答案:AtomicInteger(或AtomicLong/AtomicReference等,任填一个即可)21.在Kubernetes里,Service默认的会话保持机制是基于________字段。答案:sessionAffinity=ClientIP22.在CSS3中,设置元素圆角为50%可得到圆形,该属性是________。答案:border-radius23.在Redis中,将key从当前库移动到1号库的命令是________。答案:MOVEkey124.在HTTP/2中,用于“多路复用”的核心概念是________。答案:Stream25.在PromQL中,计算过去5分钟CPU使用率平均值的表达式为________。答案:rate(node_cpu_seconds_total{mode!="idle"}[5m])四、判断题(每题1分,共10分;正确打“√”,错误打“×”)26.在Java中,synchronized关键字在JDK1.6之后默认使用偏向锁。答案:√解析:JDK1.6引入偏向锁,默认开启。27.使用HTTPS即可完全防止中间人攻击。答案:×解析:若客户端未校验证书链或证书被伪造,仍可能遭遇MITM。28.在MySQL中,唯一索引允许存储多个NULL值。答案:√解析:NULL被视为不同值。29.在Linux中,进程状态为Z表示僵尸进程,其父进程已退出。答案:×解析:僵尸进程父进程仍存在;若父进程已退出则僵尸会被init收养并回收。30.在React中,setState是同步执行的。答案:×解析:React18之前为异步批量更新;18并发特性下仍非同步。31.在Kafka中,partition数量一旦创建便不可增加。答案:×解析:可通过kafka-topics.sh--alter--partitionsN增加分区,但减少不支持。32.在Docker中,容器与宿主机共享同一个内核。答案:√解析:容器基于namespace/cgroup,内核唯一。33.在Go语言中,channel默认是带缓冲的。答案:×解析:默认无缓冲,需make(chanT,N)指定N>0才带缓冲。34.在TCP四次挥手中,主动关闭方最后进入TIME_WAIT。答案:√解析:RFC793规定。35.在Python3中,GIL的存在导致多线程无法利用多核CPU进行计算密集型任务。答案:√解析:GIL全局解释器锁限制同一时刻仅一个线程执行字节码。五、简答题(每题8分,共24分)36.描述一次完整的DNS解析流程,并说明在浏览器端可通过哪些手段减少解析延迟。答案与解析:1)流程:①浏览器检查本地缓存(Chrome缓存1000条,TTL过期策略);②无命中则查操作系统缓存(Windows注册表/Unix的/etc/resolv.conf);③若仍无,向本机配置的递归解析器(如)发起查询;④递归解析器依次查询根→顶级域(.com)→权威域()直至获取A记录;⑤返回结果并按TTL缓存。2)优化手段:DNS预取:`<linkrel="dns-prefetch"href="//">`HTTP头部`Alt-Svc`指示替代服务,减少重解析域名收敛:减少页面不同域数量使用本地DNS缓存服务(如nscd、systemd-resolved)合理设置TTL:静态资源TTL可设较长,动态接口短TTL采用EDNS0客户端子网,使CDN解析更精准,避免二次重定向37.某电商大促场景下,库存扣减接口出现“超卖”,请从数据库、缓存、消息队列三个维度给出可落地的解决方案。答案与解析:1)数据库:乐观锁:在库存表加version字段,UPDATEstockSETnum=num-1,version=version+1WHEREsku_id=?ANDversion=?ANDnum>0;返回影响行数为0则重试。唯一索引:插入订单明细时,按sku_id+user_id做唯一键,防止重复下单。2)缓存:预扣:Redis+Lua脚本,先GET判断剩余库存≥购买量,再DECRBY;脚本保证原子性。令牌桶:将库存拆成令牌桶,桶内令牌数量即库存,采用RedisList结构LPOP,pop成功即代表抢到。缓存穿透保护:库存为0时,在Redis置占位符“sold_out”,避免大量请求打到DB。3)消息队列:异步串行:抢成功后将订单写入Kafka,下游消费单线程按sku维度分区,保证顺序扣减。补偿事务:消费端扣减DB失败,发送延迟消息进行回滚,恢复Redis库存。限流+降级:在网关层按用户维度令牌桶限流,超卖风险极高时直接降级“售罄”静态页。38.说明MySQLInnoDB的MVCC机制如何防止“不可重复读”,并指出何时仍会读到“幻读”。答案与解析:MVCC通过ReadView+回滚段实现快照读。每行记录隐藏事务号DB_TRX_ID与回滚指针DB_ROLL_PTR;repeatableread隔离下,事务首次SELECT时生成ReadView,记录活跃事务列表;后续相同SELECT均使用该ReadView,只认事务号≤ReadView最小事务号或已提交事务的行版本;因此其他事务的更新/删除即使提交,也对该快照不可见,避免不可重复读。仍可能幻读场景:当前读(SELECT…FORUPDATE、UPDATE、DELETE)会走最新版本,并加next-keylock;若事务中先快照读,再当前读,则两次结果集行数可能不同,出现幻读;例如:T1快照读“SELECTFROMuserWHEREage>20”返回0行;T2插入age=25并提交;T1再“SELECT…FORUPDATE”返回1行,即幻读。例如:T1快照读“SELECTFROMuserWHEREage>20”返回0行;T2插入age=25并提交;T1再“SELECT…FORUPDATE”返回1行,即幻读。解决:将普通SELECT改为SELECT…FORUPDATE,或提升为SERIALIZABLE隔离级别,强制所有读加共享next-keylock。六、编程与计算题(共41分)39.(编程10分)用Python实现一个函数,输入为字符串s,仅含'('与')',返回最长有效括号子串长度。要求O(n)时间,O(1)额外空间(栈空间不计入)。答案与解析:```pythondeflongest_valid_parentheses(s:str)->int:left=right=max_len=0n=len(s)从左到右foriinrange(n):ifs[i]=='(':left+=1else:right+=1ifleft==right:max_len=max(max_len,2right)max_len=max(max_len,2right)elifright>left:left=right=0从右到左left=right=0foriinrange(n1,-1,-1):ifs[i]=='(':left+=1else:right+=1ifleft==right:max_len=max(max_len,2left)max_len=max(max_len,2left)elifleft>right:left=right=0returnmax_len```思路:两次扫描,分别处理左右括号平衡,保证O(n)且仅用常数变量。40.(SQL10分)现有订单表orders(id,user_id,amount,status,create_time),状态枚举:1未支付、2已支付、3已发货、4已完成、5已退款。请用一条SQL统计“2026年4月”每日的支付转化率(支付成功=2/(未支付+支付成功)),结果字段:day,paid_cnt,unpaid_cnt,rate(保留4位小数)。答案与解析:```sqlSELECTDATE(create_time)ASday,SUM(status=2)ASpaid_cnt,SUM(status=1)ASunpaid_cnt,ROUND(SUM(status=2)/(SUM(status=1)+SUM(status=2)),4)ASrateFROMordersWHEREcreate_timeBETWEEN'2026-04-01'AND'2026-04-3023:59:59'GROUPBYdayORDERBYday;```利用MySQL布尔表达式返回0/1可聚合;rate范围[0,1]。41.(计算11分)某SSD盘官方给出4KB随机写IOPS=5万,顺序写带宽1800MB/s。现需写入总量90GB,其中随机写占30%,顺序写占70%。请计算:1)完成全部随机写所需时间;2)完成全部顺序写所需时间;3)总耗时。答案与解析:随机写数据量=90GB×30%=27GB=27×1024MB=27648MB随机写IOPS=50000,每次4KB,则每秒写入量=50000×4KB=200000KB≈195.31MB/s时间1=27648MB÷195.31MB/s≈141.6s顺序写数据量=90GB×70%=63GB=64512MB带宽1800MB/s时间2=64512MB÷1800MB/s≈35.84s总耗时=141.6+35

温馨提示

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

评论

0/150

提交评论