2026年中软国际java测试题及答案_第1页
2026年中软国际java测试题及答案_第2页
2026年中软国际java测试题及答案_第3页
2026年中软国际java测试题及答案_第4页
2026年中软国际java测试题及答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

2026年中软国际java测试题及答案

一、单项选择题(每题2分,共20分)1.在Java中,下列哪一项不是基本数据类型?A.byte B.String C.boolean D.float2.若希望一个类不能被继承,应使用的修饰符是:A.final B.abstract C.static D.native3.下列关于HashMap的描述正确的是:A.线程安全且允许null键 B.线程不安全且允许null键C.线程安全且不允许null键 D.线程不安全且不允许null键4.在Java17中,switch表达式默认支持的返回值类型不包括:A.int B.String C.enum D.double5.以下哪个方法会触发类初始化?A.Class.forName("com.A") B.obj.getClass()C.A.class D.ClassLoader.loadClass("com.A")6.关于try-with-resources,说法错误的是:A.资源必须实现AutoCloseable B.可以声明多个资源C.资源关闭顺序与声明顺序相反 D.catch块不能同时出现7.在SpringBoot中,默认的嵌入式Web容器是:A.Jetty B.Undertow C.Tomcat D.Netty8.下列关于JVM垃圾回收的说法正确的是:A.YoungGC必然触发FullGC B.G1收集器只回收老年代C.CMS收集器会产生浮动垃圾 D.Serial收集器采用并行回收9.使用StreamAPI时,中间操作是:A.forEach B.collect C.map D.count10.在MyBatis中,{}与${}的主要区别是:A.{}使用预编译,${}使用字符串拼接 B.{}支持OGNL,${}不支持C.{}只能用于insert D.${}能防止SQL注入二、填空题(每题2分,共20分)11.Java中,实现线程安全单例的双重检查锁定模式需对实例使用关键字________修饰。12.在JVM运行时数据区,存储局部变量表和操作数栈的区域叫________。13.Spring事务传播行为中,若当前存在事务则加入,不存在则新建,应选________。14.Java8中,函数式接口的注解是________。15.在ArrayList扩容时,新容量按旧容量的________倍增长。16.使用ReentrantLock时,必须在________块中释放锁。17.在RedisTemplate中,将key序列化为字符串的默认序列化器是________。18.在Maven坐标中,用于区分同一依赖不同版本的标签是________。19.在JPA中,声明实体主键自增的策略是________。20.当使用@Async时,Spring默认使用的线程池实现是________。三、判断题(每题2分,共20分)21.Java中,volatile能保证复合操作的原子性。22.在JDK17中,依然可以使用sun.misc.Unsafe类。23.使用@Transactional注解时,默认回滚RuntimeException及其子类。24.在ConcurrentHashMap中,size()方法在JDK8之后不再加锁。25.在SpringMVC中,@RestController等价于@Controller+@ResponseBody。26.在垃圾回收中,老年代使用标记-清除算法必然产生内存碎片。27.在StreamAPI中,sorted()操作是惰性求值。28.在MySQL中,使用InnoDB时,行锁是通过给索引项加锁实现的。29.在Java中,匿名内部类访问外部局部变量时,该变量必须被声明为final。30.在Docker中,基于openjdk:17-jdk-slim镜像构建的容器已包含jmap工具。四、简答题(每题5分,共20分)31.简述Java内存模型中happens-before的八大规则。32.说明SpringIoC容器创建Bean的生命周期回调接口及其执行顺序。33.对比synchronized与ReentrantLock在锁获取、释放、可中断、公平性方面的差异。34.描述一次完整的YoungGC触发条件及G1收集器的回收步骤。五、讨论题(每题5分,共20分)35.在分布式场景下,如何保证Redis缓存与MySQL数据库的最终一致性?请给出至少三种方案并比较优劣。36.当接口QPS从1万升至10万时,如何在不改业务代码的前提下,利用JVM参数与容器优化将FullGC次数降至0?37.讨论在微服务链路中,使用ThreadLocal传递traceId可能引发的问题,并给出两种替代方案。38.针对银行转账场景,设计一套基于SpringBoot+MyBatis+MySQL的幂等性保障机制,要求覆盖网络超时、重复提交、消息重试等异常。答案与解析一、单项选择题1.B 2.A 3.B 4.D 5.A 6.D 7.C 8.C 9.C 10.A二、填空题11.volatile 12.虚拟机栈 13.REQUIRED 14.@FunctionalInterface 15.1.516.finally 17.StringRedisSerializer 18.version 19.GenerationType.IDENTITY 20.SimpleAsyncTaskExecutor三、判断题21.× 22.√ 23.√ 24.√ 25.√ 26.√ 27.× 28.√ 29.√ 30.×四、简答题(每题约200字)31.程序次序规则:同一线程内书写在前面的操作happens-before后面的操作;锁定规则:解锁happens-before后续加锁;volatile规则:写happens-before读;传递规则:Ahappens-beforeB,Bhappens-beforeC,则Ahappens-beforeC;线程启动规则:start()happens-before线程内任何操作;线程终止规则:线程内所有操作happens-before终止检测;中断规则:interrupt()happens-before检测到中断;对象终结规则:构造函数完成happens-beforefinalize()。32.实例化→BeanNameAware→BeanClassLoaderAware→BeanFactoryAware→EnvironmentAware→EmbeddedValueResolverAware→ResourceLoaderAware→ApplicationContextAware→MessageSourceAware→ApplicationStartupAware→BeanPostProcessorbefore→InitializingBean→自定义init-method→BeanPostProcessorafter→DisposableBean→自定义destroy-method。33.synchronized由JVM隐式释放,不可中断,非公平;ReentrantLock需显式unlock,可中断lockInterruptibly,可公平构造;后者支持多条件变量、可尝试非阻塞获取tryLock。34.当Eden区满且新对象无法分配时触发;G1初始标记→根区域扫描→并发标记→最终标记→筛选回收:根据停顿目标选择收益高的Region,复制存活对象到空闲Region并清空原Region,不产生碎片。五、讨论题(每题约200字)35.方案:1.先写库后删缓存,高并发易脏读;2.基于binlog的异步消息删缓存,延迟低但需额外组件;3.延迟双删,第二次延迟500ms补偿,写吞吐下降;4.版本号+缓存重试,实现复杂但一致性最高。36.升级G1,-Xms=-Xmx=容器内存60%,-XX:MaxGCPauseMillis=100,-XX:+UseStringDeduplication,-XX:G1HeapRegionSize=16m,关闭Swap,使用cgroup感知的JDK,开启-XX:+UseContainerSupport,利用大页-XX:+UseLargePages,压测验证10万QPS下无FullGC。37.问题:线程池复用导致traceId串包,异步线程无法继承;方案一:阿里TransmittableTh

温馨提示

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

评论

0/150

提交评论