版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java基础实战笔试题(企业真实版+答案)适用人群:Java实习生、初级开发校招、日常面试自测难度:基础偏中等,无偏题怪题,贴合互联网真实面试场景一、单项选择题(共10题)1.以下关于Java基本数据类型说法正确的是()A.boolean类型占用1个字节B.float类型数值可以直接赋值给double类型,无需强转C.char类型可以存储汉字D.byte类型取值范围是0~255答案:C解析:boolean无明确固定字节大小;float转double是自动转换,但B选项表述不严谨;char占2字节,可存储中文汉字;byte范围是-128~127。2.String、StringBuilder、StringBuffer说法错误的是()A.String是不可变字符序列B.StringBuffer线程安全C.StringBuilder效率高于StringBufferD.频繁字符串拼接优先使用String答案:D解析:频繁拼接字符串会产生大量新String对象,造成内存浪费,优先用StringBuilder。3.以下关于equals和==说法正确的是()A.基本数据类型可以用equals比较B.==比较引用类型时,比较的是对象内容C.equals默认比较地址值,重写后可比较内容D.String的equals方法没有重写答案:C解析:基本类型只能用==;引用类型==比较内存地址;String重写了equals,用于比较字符串内容。4.下列集合中,线程安全的是()A.ArrayListB.HashMapC.VectorD.HashSet答案:C解析:Vector、Hashtable是老式线程安全集合,其余均为非线程安全。5.Java中异常类的顶级父类是()A.ExceptionB.RuntimeExceptionC.ErrorD.Throwable答案:D解析:Throwable是所有异常和错误的父类,分为Error和Exception两大类。6.以下关于接口和抽象类说法错误的是()A.抽象类可以有构造方法B.接口中不能有普通成员变量C.抽象类可以包含静态方法D.类可以实现多个接口,也可以继承多个抽象类答案:D解析:Java是单继承,一个类只能继承一个父类(抽象类/普通类),但可以实现多个接口。7.HashMap的底层数据结构在JDK1.8之后是()A.数组+链表B.数组+红黑树C.数组+链表+红黑树D.链表+红黑树答案:C解析:JDK1.8后,哈希冲突少时用链表,链表长度≥8且数组长度≥64转为红黑树。8.以下关键字中,不能修饰局部变量的是()A.finalB.staticC.volatileD.private答案:B、D(单选选最优D)解析:局部变量只能用final修饰,static、private、protected、public均不能修饰局部变量。9.重写和重载的区别,说法正确的是()A.重写方法参数列表必须不同B.重载发生在父子类中C.重写方法权限不能比父类更严格D.重载方法返回值必须一致答案:C解析:重写是父子类方法覆写,参数、返回值、方法名必须一致,权限只能放大不能缩小;重载是同类中,方法名相同、参数不同,和返回值无关。10.下列关于GC说法正确的是()A.Java程序员可以手动立即回收垃圾B.System.gc()会强制立即执行垃圾回收C.GC只回收堆内存中的无用对象D.栈内存会触发GC答案:C解析:System.gc()只是建议JVM回收,不保证立即执行;栈内存自动释放,不触发GC,GC仅针对堆对象。二、填空题(共5题)1.Java中多态的实现方式:重写、重载、向上转型。2.线程的五大状态:新建、就绪、运行、阻塞、终止。3.List集合特点有序、可重复,Set集合特点无序、不可重复。4.final、finally、finalize中,用于异常处理的是finally。5.接口中的变量默认是publicstaticfinal修饰。三、简答题(共4题,面试高频)1.简述ArrayList和LinkedList的区别?答案:1、底层结构:ArrayList基于动态数组,LinkedList基于双向链表;2、查询效率:ArrayList随机访问快,根据下标直接定位;LinkedList只能遍历查询,效率低;3、增删效率:ArrayList增删会触发数组扩容、元素移位,效率低;LinkedList只需修改节点指针,增删快;4、内存占用:ArrayList存在数组冗余空间;LinkedList每个节点保存前后指针,内存占用更高;5、使用场景:查询多、增删少用ArrayList;频繁增删、少量查询用LinkedList。2.说说Java异常体系,以及checked和unchecked异常的区别?答案:Java异常顶层父类是Throwable,分为Error和Exception:Error:系统级严重错误,如OOM、栈溢出,程序无法处理,无需捕获;Exception:代码层面可处理的异常,分为编译时异常(受检)和运行时异常(非受检)。区别:1、受检异常(checked):编译期必须处理,要么try-catch捕获,要么throws抛出,如IOException、SQLException;2、非受检异常(unchecked):RuntimeException及其子类,编译不报错,运行才抛出,如空指针、数组越界,可处理可不处理。3.为什么重写equals必须重写hashCode?答案:如果只重写equals不重写hashCode,会出现两个对象equals相等,但hashCode值不同的情况。HashMap、HashSet等哈希集合存储对象时,优先判断hashCode,再判断equals。若hashCode不同,集合会判定为两个不同对象,导致内容相同的对象可以重复存入集合,违背集合去重规则,造成数据错乱、存储异常。规范:相等的对象必须拥有相同的hashCode。4.简述Java线程sleep和wait的区别?答案:1、所属类不同:sleep是Thread类静态方法,wait是Object类方法;2、锁机制不同:sleep休眠时不释放锁,wait等待时主动释放锁;3、唤醒方式不同:sleep时间到自动唤醒;wait需要被notify/notifyAll唤醒,或超时唤醒;4、使用场景:sleep用于单纯延时;wait用于多线程间通信、资源等待;5、异常要求:sleep必须捕获异常,wait必须在同步代码块中使用。四、编程题(2道基础实操,面试必考)1.手写代码实现字符串反转(不使用自带reverse方法)参考答案:java
publicclassStringReverse{
publicstaticStringreverse(Stringstr){
if(str==null||str.length()==0){
returnstr;
}
char[]chars=str.toCharArray();
intleft=0;
intright=chars.length-1;
//双指针交换
while(left<right){
chartemp=chars[left];
chars[left]=chars[right];
chars[right]=temp;
left++;
right--;
}
returnnewString(chars);
}
publicstaticvoidmain(String[]args){
System.out.println(reverse("java面试"));
}
}2.遍历ArrayList并去除重复元素(基础写法,不用stream)参考答案:java
importjava.util.ArrayList;
importjava.util.HashSet;
importjava.util.List;
importjava.util.Set;
publicclassRemoveRepeat{
publicstaticvoidmain(String[]args){
List<String>list=newArrayList<>();
list.add("java");
list.add("python");
list.add("java");
list.add("c++");
list.add("python");
//利用Set去重
Set<String>set=newHashSet<>(list);
//重新转回List
List<String>newList=newArrayList<>(set);
System.out.println("去重后:"+newList);
}
}五、附加面试口试题(高频简答)1.说说HashMap
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学语文教资面试写作真题演练题库
- 厂区承包商检查表
- 金色金融财富理财动态背景模板
- CECS 159:2004 矩形钢管混凝土结构技术规程
- CECS 69:2011 拔出法检测混凝土强度技术规程
- 2026年质量安全总监和质量安全员考试及答案
- 2026年北京事业单位退役士兵安置招聘考试试题及答案
- 2026年煤矿企业安全生产管理人员资格考试复习题库及答案
- 2026年黑龙江省宾县事业单位公开招聘紧缺人才试题带答案
- 2026政治理论时政热点知识试题库(含答案)
- 雷锋精神发源地
- 搓背营销方案
- 安全检查分析scl课件
- 水泥试验取样方法
- 上海农商银行2025招聘笔试真题及答案解析
- 邮政广告审核管理办法
- 正大杯全国大学生市场调查与分析大赛(试题340道含答案)
- 道路桥梁工程师岗位面试问题及答案
- 2025 年北京高考真题化学试题答案
- T/CCT 005.1-2020智能化选煤厂建设通用技术规范
- 消防工程施工图识图试题及答案
评论
0/150
提交评论