Java面试题大汇总

前言        

        关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应该说被面试到的几率很大。这里整理挑选出来供大家面试前拿来看一看,所有题目整理自网络,有一些错误和笔误,感谢读者的热心纠错,在声明中已经改正过来。

        整理这些面试题源于在微信群和几个刚入职的小伙伴们的一次讨论,很多小伙伴谈了自己的面试经历和体会,很多人最初鄙视刷题党,觉得开发技能最重要,但在短暂的面试过程中很挫败。转而去看面试题,但是网上面试题太多但又不全,查找很不方便,多是看过的又看,看十道才能看到面生的题目,极大的浪费了求职期间的宝贵时间。

        最后大家一拍即合,准备各自把面试笔试以及自己看过好的题目收集起来,整理出来让后来的小伙伴们少踩些坑,所以有了这些题目。

目录《点击标题可以查看答案

赢在面试之Java基础篇(1)

  • 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
  • 2、Java有没有goto?
  • 3、说说&和&&的区别。
  • 4、在JAVA中如何跳出当前的多重嵌套循环?
  • 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
  • 6、short s1= 1; s1 = (s1+1是int类型,而等号左边的是short类型,所以需要强转)1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?(没有错)
  • 7、char型变量中能不能存贮一个中文汉字?为什么?
  • 8、用最有效率的方法算出2乘以8等於几?
  • 9、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
  • 10,静态变量和实例变量的区别?

赢在面试之Java基础篇(2)

  • 11、是否可以从一个static方法内部发出对非static方法的调用?
  • 12、Integer与int的区别
  • 13、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?
  • 14、Overload和Override的区别?Overloaded的方法是否可以改变返回值的类型?
  • 15、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main方法?
  • 16、Java中实现多态的机制是什么?
  • 17、abstractclass和interface语法上有什么区别?
  • 18、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
  • 19、内部类可以引用它的包含类的成员吗?有没有什么限制?
  • 20、String s = "Hello";s = s + "world!";这两行代码执行后,原始的String对象中的内容到底变了没有?

赢在面试之Java集合框架篇(3)

  • 21、ArrayList和Vector的区别
  • 22、HashMap和Hashtable的区别
  • 23、List和 Map区别?
  • 24、List,Set, Map是否继承自Collection接口?
  • 25、List、Map、Set三个接口,存取元素时,各有什么特点?
  • 26、说出ArrayList,Vector,LinkedList的存储性能和特性
  • 27、去掉一个Vector集合中重复的元素
  • 28、Collection和Collections的区别。
  • 29、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?
  • 30、你所知道的集合类都有哪些?主要方法?

赢在面试之Java基础篇(4)

  • 31、String s = new String("xyz");创建了几个StringObject?是否可以继承String类?
  • 32、String和StringBuffer的区别
  • 33、下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d";
  • 34、try {}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
  • 35、final, finally, finalize的区别。 
  • 36、运行时异常与一般异常有何异同?
  • 37、error和exception有什么区别?
  • 38、简单说说Java中的异常处理机制的简单原理和应用。
  • 39、Java 中堆和栈有什么区别?
  • 40、能将 int 强制转换为 byte 类型的变量吗?如果该值大于 byte 类型的范围,将会出现什么现象?

赢在面试之Java基础篇(5)

  • 41、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?
  • 42、字节流与字符流的区别
  • 43、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
  • 44、描述一下JVM加载class文件的原理机制?
  • 45、heap和stack有什么区别。
  • 46、GC是什么?为什么要有GC?
  • 47、垃圾回收的优点和原理。并考虑2种回收机制。
  • 48、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  • 49、Java 中,throw 和 throws 有什么区别
  • 50,java中会存在内存泄漏吗,请简单描述。

赢在面试之JavaWeb篇(6)

  • 51、说一说Servlet的生命周期?
  • 52、Servlet API中forward()与redirect()的区别?
  • 53、request.getAttribute()和 request.getParameter()有何区别?
  • 54,jsp静态包含和动态包含的区别
  • 55,MVC的各个部分都有那些技术来实现?如何实现?
  • 56,jsp有哪些内置对象?作用分别是什么?
  • 57,Http中,get和post方法的区别
  • 58,什么是cookie?Session和cookie有什么区别?
  • 59,jsp和servlet的区别、共同点、各自应用的范围?
  • 60,tomcat容器是如何创建servlet类实例?用到了什么原理?

赢在面试之JavaWeb篇(7)

  • 61,JDBC访问数据库的基本步骤是什么?
  • 62,说说preparedStatement和Statement的区别
  • 63,说说事务的概念,在JDBC编程中处理事务的步骤。
  • 64,数据库连接池的原理。为什么要使用连接池。
  • 65,JDBC的脏读是什么?哪种数据库隔离级别能防止脏读?
  • 66,什么是幻读,哪种隔离级别可以防止幻读?
  • 67,JDBC的DriverManager是用来做什么的?
  • 68,execute,executeQuery,executeUpdate的区别是什么?
  • 69,SQL查询出来的结果分页展示一般怎么做?
  • 70,JDBC的ResultSet是什么? 

赢在面试之Java框架篇(8)

  • 71,谈谈你对Struts的理解。
  • 72、谈谈你对Hibernate的理解。
  • 73,谈谈你对Spring的理解。
  • 74,谈谈Struts的优缺点
  • 75,iBatis与Hibernate有什么不同?
  • 76,在hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决?
  • 77,介绍一下Hibernate的二级缓存
  • 78,JDO是什么?
  • 79,Hibernate的一对多和多对一双向关联的区别??
  • 80,Hibernate是如何延迟加载? 

赢在面试之Java框架篇(9)

  • 81,使用Spring框架的好处是什么?
  • 82. ApplicationContext通常的实现是什么?
  • 83,什么是Spring的依赖注入?有哪些方法进行依赖注入
  • 84,什么是Spring beans?
  • 85,解释Spring支持的几种bean的作用域。
  • 86,解释Spring框架中bean的生命周期。
  • 87,在 Spring中如何注入一个java集合?
  • 88,解释不同方式的自动装配 。
  • 89,Spring框架的事务管理有哪些优点?
  • 90.什么是基于Java的Spring注解配置? 给一些注解的例子?

赢在面试之Java持久层(10)

  • 91,什么是ORM?
  • 92,Hibernate中SessionFactory是线程安全的吗?Session是线程安全的吗(两个线程能够共享同一个Session吗)?
  • 93,Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法分别是做什么的?有什么区别?
  • 94,阐述Session加载实体对象的过程。
  • 95,MyBatis中使用#和$书写占位符有什么区别?
  • 96,解释一下MyBatis中命名空间(namespace)的作用。
  • 97、MyBatis中的动态SQL是什么意思?
  • 98,JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
  • 99,MyBatis与Hibernate有哪些不同?
  • 100,简单的说一下MyBatis的一级缓存和二级缓存?

赢在面试之数据库篇(11)

  • 101,查询课程1的成绩比课程2的成绩高的所有学生的学号
  • 102,查询平均成绩大于60分的同学的学号和平均成绩
  • 103,查询所有同学的学号、姓名、选课数、总成绩
  • 104,查询姓“张”的老师的个数
  • 105,查询没学过“张三”老师课的同学的学号、姓名
  • 106,查询同时学过课程1和课程2的同学的学号、姓名
  • 107,查询学过“李四”老师所教所有课程的所有同学的学号、姓名
  • 108,查询课程编号1的成绩比课程编号2的成绩高的所有同学的学号、姓名
  • 109,查询所有课程成绩小于60分的同学的学号、姓名
  • 110,查询至少有一门课程与学号为1的同学所学课程相同的同学的学号和姓名

赢在面试之数据库篇(12)

  • 111、把“sc”表中“王五”所教课的成绩都更改为此课程的平均成绩
  • 112、查询和编号为2的同学学习的课程完全相同的其他同学学号和姓名
  • 113、删除学习“王五”老师课的sc表记录
  • 114、向sc表中插入一些记录,这些记录要求符合以下条件:
  • 将没有课程3成绩同学的该成绩补齐, 其成绩取所有学生的课程2的平均成绩
  • 115、按平平均分从高到低显示所有学生的如下统计报表:
  • -- 学号,企业管理,马克思,UML,数据库,物理,课程数,平均分
  • 116、查询各科成绩最高分和最低分:以如下形式显示:课程号,最高分,最低分
  • 117、按各科平均成绩从低到高和及格率的百分数从高到低顺序
  • 118、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 
  • 企业管理(001),马克思(002),UML (003),数据库(004) 
  • 119、查询不同老师所教不同课程平均分, 从高到低显示
  • 120、查询如下课程成绩均在第3名到第6名之间的学生的成绩:
  • -- [学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩

赢在面试之Java多线程(13)

  • 121,什么是线程?
  • 122,线程和进程有什么区别?
  • 123,如何在Java中实现线程?
  • 124,Java 关键字volatile 与 synchronized 作用与区别?
  • 125,有哪些不同的线程生命周期?
  • 126,你对线程优先级的理解是什么?
  • 127,什么是死锁(Deadlock)?如何分析和避免死锁?
  • 128,什么是线程安全?Vector是一个线程安全类吗? 
  • 129,Java中如何停止一个线程?
  • 130,什么是ThreadLocal?
  • 131,Sleep()、suspend()和wait()之间有什么区别?
  • 132,什么是线程饿死,什么是活锁?
  • 133,什么是Java Timer类?如何创建一个有特定时间间隔的任务?
  • 134,Java中的同步集合与并发集合有什么区别?
  • 135,同步方法和同步块,哪个是更好的选择?
  • 136,什么是线程池? 为什么要使用它?
  • 137,Java中invokeAndWait 和 invokeLater有什么区别?
  • 138,多线程中的忙循环是什么?

赢在面试之Java泛型篇(14)

  • 139. Java中的泛型是什么 ? 使用泛型的好处是什么?
  • 140,Java的泛型是如何工作的 ? 什么是类型擦除 ?如何工作?
  • 141,你可以把List<String>传递给一个接受List<Object>参数的方法吗?
  • 142,如何阻止Java中的类型未检查的警告?
  • 143,Java中List<Object>和原始类型List之间的区别?
  • 144,编写一段泛型程序来实现LRU缓存?
  • 145,Array中可以用泛型吗?
  • 146,如何编写一个泛型方法,让它能接受泛型参数并返回泛型类型?
  • 147,C++模板和java泛型之间有何不同?

赢在面试之JavaWeb篇(15)

  • 148,AJAX有哪些有点和缺点?
  • 149,AJAX应用和传统Web应用有什么不同?
  • 150,Ajax的实现流程是怎样的?
  • 151,简单说一下数据库的三范式?
  • 152,Java集合框架是什么?说出一些集合框架的优点?
  • 153,Java集合框架的基础接口有哪些?
  • 154,集合框架中的泛型有什么优点?
  • 155,Enumeration和Iterator接口的区别?
  • 156,Iterater和ListIterator之间有什么区别?
  • 157,我们如何对一组对象进行排序?
  • 158,与Java集合框架相关的有哪些最好的实践?
  • 159,什么是事务?
  • 160,说说你开发中遇到过什么难题啊?怎么解决的?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值