Java初级面试题

---------------------------------------------基础篇-----------------------------------------

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,静态变量和实例变量的区别?

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对象中的内容到底变了没有?

-------------------------------------------------------集合框架篇------------------------------------------------------------

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、你所知道的集合类都有哪些?主要方法?

-----------------------------------------------基础篇四-------------------------------------------------------------

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 类型的范围,将会出现什么现象?

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篇--------------------------------------------------------

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类实例?用到了什么原理?

61,JDBC访问数据库的基本步骤是什么?

62,说说preparedStatement和Statement的区别

63,说说事务的概念,在JDBC编程中处理事务的步骤。

64,数据库连接池的原理。为什么要使用连接池。

65,JDBC的脏读是什么?哪种数据库隔离级别能防止脏读?

66,什么是幻读,哪种隔离级别可以防止幻读?

67,JDBC的DriverManager是用来做什么的?

68,execute,executeQuery,executeUpdate的区别是什么? 

69,SQL查询出来的结果分页展示一般怎么做?

70,JDBC的ResultSet是什么?

-----------------------------------框架篇-----------------------------------

71,谈谈你对Struts的理解。

72、谈谈你对Hibernate的理解。

73,谈谈你对Spring的理解。

74,谈谈Struts的优缺点

75,iBatis与Hibernate有什么不同?

76,在hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决?

77,介绍一下Hibernate的二级缓存

78,JDO是什么?

79,Hibernate的一对多和多对一双向关联的区别??

80,Hibernate是如何延迟加载? 

81,使用Spring框架的好处是什么?

82. ApplicationContext通常的实现是什么?

83,什么是Spring的依赖注入?有哪些方法进行依赖注入

84,什么是Spring beans?

85,解释Spring支持的几种bean的作用域。

86,解释Spring框架中bean的生命周期。

87,在 Spring中如何注入一个java集合?

88,解释不同方式的自动装配 。

89,Spring框架的事务管理有哪些优点?

90.什么是基于Java的Spring注解配置? 给一些注解的例子.

-------------------------------持久层--------------------------------

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的一级缓存和二级缓存?

----------------------------------------------------数据库篇---------------------------------------

基本表结构:

        student(sno,sname,sage,ssex)学生表
        course(cno,cname,tno) 课程表
        sc(sno,cno,score) 成绩表

        teacher(tno,tname) 教师表

101,查询课程1的成绩比课程2的成绩高的所有学生的学号

102,查询平均成绩大于60分的同学的学号和平均成绩

103,查询所有同学的学号、姓名、选课数、总成绩

104,查询姓“张”的老师的个数

105,查询没学过“张三”老师课的同学的学号、姓名

106,查询同时学过课程1和课程2的同学的学号、姓名

107,查询学过“李四”老师所教所有课程的所有同学的学号、姓名

108,查询课程编号1的成绩比课程编号2的成绩高的所有同学的学号、姓名

109,查询所有课程成绩小于60分的同学的学号、姓名

110,查询至少有一门课程与学号为1的同学所学课程相同的同学的学号和姓名

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,数据库,平均成绩

---------------------------------------------------多线程篇---------------------------------------------------

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,多线程中的忙循环是什么?

--------------------------------------------------------------泛型篇----------------------------------------------

139. Java中的泛型是什么 ? 使用泛型的好处是什么?

140,Java的泛型是如何工作的 ? 什么是类型擦除 ?如何工作?

141,你可以把List<String>传递给一个接受List<Object>参数的方法吗?

142,如何阻止Java中的类型未检查的警告?

143,Java中List<Object>和原始类型List之间的区别?

144,编写一段泛型程序来实现LRU缓存?

145,Array中可以用泛型吗?

146,如何编写一个泛型方法,让它能接受泛型参数并返回泛型类型?

147,C++模板和java泛型之间有何不同?

--------------------------------------------------web篇----------------------------------------------------------

148,AJAX有哪些有点和缺点?

149,AJAX应用和传统Web应用有什么不同?

150,Ajax的实现流程是怎样的?

151,简单说一下数据库的三范式?

152,Java集合框架是什么?说出一些集合框架的优点?

153,Java集合框架的基础接口有哪些?

154,集合框架中的泛型有什么优点?

155,Enumeration和Iterator接口的区别?

156,Iterater和ListIterator之间有什么区别?

157,我们如何对一组对象进行排序?

158,与Java集合框架相关的有哪些最好的实践?

159,什么是事务?,

160,说说你开发中遇到过什么难题啊?怎么解决的?

-------------------------------------------并发篇-------------------------------------------------

161,Java内存模型是什么?

162,Java中interrupted 和isInterruptedd方法的区别?

163,Java中的同步集合与并发集合有什么区别?

164,什么是线程池? 为什么要使用它?

165,Java中活锁和死锁有什么区别?

166,如何避免死锁?

167,notify()和notifyAll()有什么区别?

168,什么是可重入锁(ReentrantLock)? 

169,读写锁可以用于什么应用场景?

-----------------------------------------算法篇-----------------------------------------

170,堆和栈在内存中的区别是什么?

171,求出1000之内的所有水仙花数

172,比较一下几种常用的排序算法,简单的写一下你知道的几种排序算法?

原文地址:https://www.cnblogs.com/weigy/p/14531311.html