版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中信证券2021春招Java笔试题押题卷
一、单项选择题(总共10题,每题2分)1.以下关于HashMap和ConcurrentHashMap的说法,正确的是()A.HashMap是线程安全的,ConcurrentHashMap不是B.ConcurrentHashMap使用分段锁实现线程安全C.HashMap的key可以是null,ConcurrentHashMap的key不能是nullD.两者的初始容量都是16,负载因子都是0.752.以下关于synchronized和volatile的说法,错误的是()A.synchronized可以保证原子性、可见性和有序性B.volatile只能保证可见性和有序性,不能保证原子性C.synchronized是悲观锁,volatile是乐观锁D.volatile修饰的变量不会被编译器优化3.JVM中,用于存储类的结构信息、常量、静态变量的内存区域是()A.堆B.方法区C.栈D.程序计数器4.以下关于JavaIO的说法,正确的是()A.字节流可以处理字符数据,字符流不能处理字节数据B.缓冲流可以提高IO效率,因为减少了磁盘IO次数C.FileInputStream是字符流,FileReader是字节流D.流关闭时,外层的缓冲流关闭后,内层的节点流无需关闭5.以下属于checked异常的是()A.NullPointerExceptionB.ArrayIndexOutOfBoundsExceptionC.IOExceptionD.ArithmeticException6.设计模式中,工厂模式的主要作用是()A.将对象的创建与使用分离B.保证一个类只有一个实例C.动态地给一个对象添加额外职责D.定义对象间的一种一对多的依赖关系7.Java8中,用于将集合转换为流的方法是()A.collect()B.stream()C.map()D.filter()8.JDBC中,用于加载数据库驱动并获取连接的类是()A.ConnectionB.StatementC.PreparedStatementD.DriverManager9.以下关于多态的说法,正确的是()A.多态是指一个类有多个子类B.多态需要子类重写父类的方法C.多态不需要继承D.多态只能通过向上转型实现10.以下关于Redis的说法,正确的是()A.Redis是关系型数据库B.Redis支持的数据结构包括字符串、列表、哈希C.Redis的数据存储在硬盘上,速度慢D.Redis不支持事务二、填空题(总共10题,每题2分)1.HashMap的初始容量是______,负载因子是______。2.synchronized的锁升级过程是从______到偏向锁,再到轻量级锁,最后到______。3.JVM的方法区主要存储______、______和静态变量。4.Java中,缓冲流的作用是______,常用的缓冲字节流是______。5.所有异常的父类是______,所有运行时异常的父类是______。6.工厂模式的主要作用是______,避免直接使用______关键字创建对象。7.Java8的Stream操作中,______方法用于过滤元素,______方法用于将元素转换为其他类型。8.JDBC中,通过______类的getConnection方法获取数据库连接,需要传入URL、用户名和______。9.多线程中,sleep方法属于______类,不会释放锁;wait方法属于______类,会释放锁。10.Spring的IOC容器的主要作用是______,将对象的创建和依赖管理交给容器。三、判断题(总共10题,每题2分)1.ArrayList是线程安全的集合类。()2.synchronized可以修饰静态方法,此时锁的是类对象。()3.JVM的堆内存是线程共享的区域。()4.IOException属于RuntimeException的子类。()5.Java的NIO(NewIO)是同步非阻塞IO模型。()6.单例模式的饿汉式实现方式是线程安全的。()7.Java8的Lambda表达式可以完全替代匿名内部类。()8.JDBC的Statement对象执行SQL时,可能会导致SQL注入问题。()9.多态的实现需要满足继承、重写和向上转型三个条件。()10.Redis是一种关系型数据库,支持复杂的join操作。()四、简答题(总共4题,每题5分)1.请说明HashMap的工作原理及扩容机制。2.请解释synchronized和volatile的区别。3.请描述JVM的垃圾回收算法及适用场景。4.请说明SpringIOC和DI的概念及关系。五、讨论题(总共4题,每题5分)1.请讨论在高并发场景下,如何解决HashMap的线程安全问题。2.请分析多线程中死锁的产生条件及避免方法。3.请讨论Java中异常处理的最佳实践。4.请分析分布式系统中缓存穿透、缓存击穿、缓存雪崩的区别及解决策略。答案一、单项选择题1.B2.C3.B4.B5.C6.A7.B8.D9.B10.B二、填空题1.16;0.752.无锁;重量级锁3.类的结构信息;常量4.提高IO效率;BufferedInputStream5.Throwable;RuntimeException6.分离对象创建与使用;new7.filter;map8.DriverManager;密码9.Thread;Object10.控制反转(IOC)三、判断题1.×2.√3.√4.×5.√6.√7.×8.√9.√10.×四、简答题1.HashMap基于数组+链表/红黑树实现,key通过hashCode计算哈希值,模数组长度得索引。链表长度超8且数组容量≥64时转红黑树。当元素数超容量×负载因子(16×0.75=12)时,扩容为原2倍,重新计算哈希和索引并迁移元素。2.synchronized是悲观锁,保证原子性、可见性、有序性,修饰方法/代码块;volatile保证可见性和有序性(禁止重排序),不保证原子性,修饰变量。synchronized靠锁机制,volatile靠内存屏障。3.①标记-清除:标记可回收对象后清除,适用于老年代,缺点碎片化;②标记-整理:标记后移动存活对象再清除,适用于老年代,解决碎片化;③复制算法:内存分两半,复制存活对象到另一半,适用于新生代,效率高但内存利用率低。4.IOC(控制反转)是对象创建权从代码转容器;DI(依赖注入)是容器将依赖注入需用类中。IOC是思想,DI是IOC的实现手段,通过DI完成依赖管理,共同实现松耦合。五、讨论题1.高并发下HashMap线程安全问题解决:①用ConcurrentHashMap(分段锁/CAS实现,高并发高效);②用Collections.synchronizedMap(包装后线程安全,但性能低);③用Hashtable(全表锁,性能差)。优先选ConcurrentHashMap。2.死锁条件:互斥资源、持有并等待、不可剥夺、循环等待。避免方法:一次性申请所有资源(破坏持有并等待)、超时释放资源(破坏不可剥夺)、按顺序申请资源(破坏循环等待)、用锁超时或死锁检测。3.异常处理最佳实践:①用具体异常(如IOException优于Exception);②避免空catch;③用try-with-resources自动关资源;④异常信息具体;⑤区分che
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海民远职业技术学院《农业经济管理学》2025-2026学年期末试卷
- 山西应用科技学院《资产评估》2025-2026学年期末试卷
- 沈阳体育学院《零售管理》2025-2026学年期末试卷
- 电力通信运维工通信设备检修考试题目及答案
- CA-HDAC-IN-1-生命科学试剂-MCE
- 厂矿用机车司机安全宣贯模拟考核试卷含答案
- 石油产品精制工岗前班组考核考核试卷含答案
- 剪纸工达标水平考核试卷含答案
- 陶瓷注浆成型工安全文明能力考核试卷含答案
- 2026中核集团面试备考题库
- DB32/T 3569-2019花生全程机械化生产技术规范
- 《工贸企业重大事故隐患判定标准》解读课件
- 河北省土建定额说明及计算规则(含定额总说明)
- 人工肝治疗急性肝衰竭个案护理
- 《浙江省中药饮片炮制规范》 2015年版
- 代建单位考核办法
- 超星尔雅学习通《人人都能上手的AI工具(超星公司)》2025章节测试附答案
- 2025年北京科技职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 新洲租房合同范本
- 肝硬化肝性脑病诊疗指南(2024年版)解读 课件
- 大学实验室租赁合同范本
评论
0/150
提交评论