前言
关于赢在面试的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,说说你开发中遇到过什么难题啊?怎么解决的?