Java笔试题老田版文档格式.docx
《Java笔试题老田版文档格式.docx》由会员分享,可在线阅读,更多相关《Java笔试题老田版文档格式.docx(128页珍藏版)》请在冰豆网上搜索。
![Java笔试题老田版文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/29/13836050-d17f-41e8-8c2f-70f3c4b21705/13836050-d17f-41e8-8c2f-70f3c4b217051.gif)
21、写clone()方法时,通常都有一行代码(不是必须有),是什么?
12
22、面向对象的特征有哪些方面12
23、java中实现多态的机制是什么?
24、abstractclass和interface有什么区别?
25、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
26、什么是内部类?
StaticNestedClass和InnerClass的不同。
13
27、内部类可以引用它的包含类的成员吗?
有没有什么限制?
28、AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
29、super.getClass()方法和this.getClass()方法返回对象是否相同?
30、String是最基本的数据类型吗?
31、Strings="
Hello"
;
s=s+"
world!
"
这两行代码执行后,原始的String对象中的内容到底变了没有?
32、是否可以继承String类?
33、Strings=newString("
xyz"
);
创建了几个StringObject?
二者之间有什么区别?
34、String和StringBuffer的区别14
35、如何把一段逗号分割的字符串转换成一个数组?
14
36、数组有没有length()这个方法?
String有没有length()这个方法?
JS的字符串有没有length()方法?
37、下面这条语句一共创建了多少个对象:
Strings="
a"
+"
b"
c"
d"
38、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
15
39、下面的程序代码输出的结果是多少?
40、final,finally,finalize的区别。
16
41、运行时异常(Runtime)与检查异常(Checked)有何异同?
17
42、error和exception有什么区别?
43、Java中的异常处理机制的简单原理和应用。
44、请写出你最常见到的5个RuntimeException。
18
45、Java语言如何进行异常处理,关键字:
throws,throw,try,catch,finally分别代表什么意义?
在try块中可以抛出异常吗?
46、Java中有几种方法可以实现一个线程?
用什么关键字修饰同步方法?
stop()和suspend()方法为何不推荐使用?
47、sleep()和wait()有什么区别?
19
48、同步和异步有何异同,在什么情况下分别使用他们?
举例说明。
21
49.下面两个方法同步吗?
(自己发明)21
50、多线程有几种实现方法?
同步有几种实现方法?
22
51、启动一个线程是用run()还是start()?
52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
53、线程的基本概念、线程的基本状态以及状态之间的关系22
54、简述synchronized和java.util.concurrent.locks.Lock的异同?
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。
写出程序。
24
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
26
57、介绍Collection框架的结构29
58、Collection框架中实现比较要实现什么接口30
59、ArrayList和Vector的区别30
60、HashMap和Hashtable的区别30
61、List和Map区别?
30
62、List,Set,Map是否继承自Collection接口?
63、List、Map、Set三个接口,存取元素时,各有什么特点?
64、说出ArrayList,Vector,LinkedList的存储性能和特性31
65、去掉一个Vector集合中重复的元素31
66、Collection和Collections的区别。
31
67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
是用==还是equals()?
它们有何区别?
68、你所知道的集合类都有哪些?
主要方法?
69、两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
32
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!
71、说出一些常用的类,包,接口,请各举5个33
72、Java中有几种类型的流?
JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
33
73、字节流与字符流的区别33
74、什么是java序列化,如何实现java序列化?
或者请解释Serializable接口的作用。
75、描述一下JVM加载class文件的原理机制?
76、heap和stack有什么区别。
34
77、GC是什么?
为什么要有GC?
78、垃圾回收的优点和原理。
并考虑2种回收机制。
79、垃圾回收器的基本原理是什么?
垃圾回收器可以马上回收内存吗?
有什么办法主动通知虚拟机进行垃圾回收?
80、什么时候用assert。
81、java中会存在内存泄漏吗,请简单描述。
35
82、能不能自己写个类,也叫java.lang.String?
83.Java代码查错35
84、SSH集成方式39
二.算法与编程40
1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。
40
2、编写一个程序,将d:
\java目录下的所有.java文件复制到d:
\jad目录下,并将原来文件的扩展名从.java改为.jad。
3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。
42
4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
5、说明生活中遇到的二叉树,用java实现二叉树43
6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:
44
7、写一个Singleton出来。
46
8、递归算法题148
9、递归算法题248
10、排序都有哪几种方法?
请列举。
用JAVA实现一个快速排序。
49
11、有数组a[n],用java代码将数组元素顺序颠倒50
12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:
(¥1011)->
(一千零一拾一元整)输出。
51
13不使用递归遍历二叉树51
三.html&
JavaScript&
ajax部分53
1.判断第二个日期比第一个日期大53
2.用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。
54
3、HTML的form提交之前如何验证数值文本框的内容全部为数字?
否则的话提示用户并终止提交?
4、请写出用于校验HTML文本框中输入的内容全部为数字的javascript代码55
5、说说你用过那些ajax技术和框架,说说它们的区别55
四.Javaweb部分55
1、Tomcat的优化经验55
2、HTTP请求的GET与POST方式的区别55
3、解释一下什么是servlet;
56
4、说一说Servlet的生命周期?
5、Servlet的基本架构56
6、ServletAPI中forward()与redirect()的区别?
7、什么情况下调用doGet()和doPost()?
8、Request对象的主要方法:
9、request.getAttribute()和request.getParameter()有何区别?
57
10.jsp有哪些内置对象?
作用分别是什么?
分别有什么方法?
12.jsp生命周期?
58
12.jsp有哪些动作?
13、JSP的常用指令58
14.JSP中动态INCLUDE与静态INCLUDE的区别?
15、两种跳转方式分别是什么?
有什么区别?
16、页面间对象传递的方法58
17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
18、MVC的各个部分都有那些技术来实现?
如何实现?
59
19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso-8859-1等,如何输出一个某种编码的字符串?
20、现在输入n个数字,以逗号分开;
然后可选择升或者降序排序;
按提交键就在另一页面显示按什么排序,结果为,提供reset59
五.数据库部分59
1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。
2、列出各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序59
3、存储过程与触发器必须讲,经常被面试到?
60
4、数据库三范式是什么?
61
5、说出一些数据库优化方面的经验?
62
6、union和unionall有什么不同?
63
7.分页语句63
8.用一条SQL语句查询出每门课都大于80分的学生姓名63
9.所有部门之间的比赛组合63
10.每个月份的发生额都比101科目多的科目63
11.统计每年每月的信息65
12.显示文章标题,发帖人、最后回复时间66
13.删除除了id号不同,其他都相同的学生冗余信息66
14.航空网的几个航班查询题:
67
15.查出比经理薪水还高的员工信息:
16、求出小于45岁的各个老师所带的大于12岁的学生人数67
17.求出发帖最多的人:
68
18、一个用户表中有一个积分字段,假如数据库中有100多万个用户,若要在每年第一天凌晨将积分清零,你将考虑什么,你将想什么办法解决?
19、一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他用户。
(跟第42条SQL语句同)68
20.xxx公司的sql面试69
21、注册Jdbc驱动程序的三种方式70
22、用JDBC如何调用存储过程70
23、JDBC中的PreparedStatement相比Statement的好处71
24、Class.forName的作用?
为什么要用?
71
25、大数据量下的分页解决方法。
26、用JDBC查询学生成绩单,把主要代码写出来(考试概率极大).71
27、这段代码有什么不足之处?
72
28、说出数据连接池的工作机制是什么?
29、为什么要用ORM?
和JDBC有何不一样?
30.数据库大数据处理73
31.存储过程和函数具体的区别:
73
六.XML部分73
1、xml有哪些解析技术?
区别是什么?
2、你在项目中用到了xml技术的哪些方面?
如何实现的?
3、用jdom解析xml文件时如何解决中文问题?
如何解析?
4、编程用JAVA解析XML的方式.74
5、XML文档定义有几种形式?
它们之间有何本质区别?
解析XML文档有哪几种方式?
76
七.流行的框架与新技术77
1、谈谈你对Struts的理解。
77
2、谈谈你对Hibernate的理解。
3、AOP的作用。
4、你对Spring的理解。
5、谈谈Struts中的ActionServlet。
78
6、Struts优缺点78
7、STRUTS的应用(如STRUTS架构)79
8、说说struts1与struts2的区别。
79
9、hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。
80
10、简述Hibernate和JDBC的优缺点?
如何书写一个onetomany配置文件.80
11、iBatis与Hibernate有什么不同?
12、写Hibernate的一对多和多对一双向关联的orm配置?
13、在DAO中如何体现DAO设计模式?
14、spring+Hibernate中委托方案怎么配置?
15、spring+Hibernate中委托方案怎么配置?
16.hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决;
17.介绍一下Hibernate的二级缓存81
18、Spring的依赖注入是什么意思?
给一个Bean的message属性,字符串类型,注入值为"
的XML配置文件该怎么写?
82
19、Jdo是什么?
20、什么是spring的IOCAOP82
21、STRUTS的工作流程!
22、spring与EJB的区别!
!
八.软件工程与设计模式82
1、UML方面82
2、j2ee常用的设计模式?
说明工厂模式。
3、开发中都用到了那些设计模式?
用在什么场合?
83
九.j2ee部分83
1、BS与CS的联系与区别。
2、应用服务器与WEBSERVER的区别?
84
3、应用服务器有那些?
4、J2EE是什么?
5、J2EE是技术还是平台还是框架?
什么是J2EE84
6、请对以下在J2EE中常用的名词进行解释(或简单描述)85
7、如何给weblogic指定大小的内存?
85
8、如何设定的weblogic的热启动模式(开发模式)与产品发布模式?
9、如何启动时不需输入用户名与密码?
10、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?
11、说说weblogic中一个Domain的缺省目录结构?
比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http:
//主机:
端口号//helloword.jsp就可以看到运行结果了?
又比如这其中用到了一个自己写的javaBean该如何办?
12、在weblogic中发布ejb需涉及到哪些配置文件86
13、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置?
86
14、如何查看在weblogic中已经发布的EJB?
十.EJB部分86
1、EJB是基于哪些技术实现的?
并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
2、简要讲一下EJB的7个TransactionLevel?
3、EJB与JAVABEAN的区别?
4、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
87
5、EJB容器提供的服务87
6、EJB的激活机制87
7、EJB的几种类型87
8、客服端调用EJB对象的几个基本步骤87
十一.WebService部分87
1、WebService名词解释。
JWSDL开发包的介绍。
JAXP、JAXM的解释。
SOAP、UDDI、WSDL解释。
十二.智力题88
十三.其他92
1、请用英文简单介绍一下自己.92
2、请把http:
//tomcat.apache.org/首页的这一段话用中文翻译一下?
92
3、美资软件公司JAVA工程师电话面试题目92
思维拓展93
拓展题1.93
1.Java基础部分
基础部分的顺序:
基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方面的语法。
可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。
一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同
java中的保留字,现在没有在java中使用。
都可以用作逻辑与的运算符,&
为短路与,&
不是短路与。
另外&
可以做为整数的位运算符
例1:
对于if(str!
=null&
!
str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&
改为&
,则会抛出NullPointerException异常。
例2:
If(x==33&
++y>
0)y会增长,If(x==33&
++y>
0)不会增长
备注:
这道题先说两者的共同点,再说出&
的特殊之处,并列举一些经典的例子来表明自己理解透彻深入、实际经验丰富。
1.Break+标签
2.使用多个条件判断
3.使用方法的return
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。
例如,
ok:
for(inti=0;
i<
10;
i++){
for(intj=0;
j<
j++){
System.out.println("
i="
+i+"
j="
+j);
if(j==5)
breakok;
}
}
另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。
intarr[][]={{1,2,3},{4,5,6,7},{9}};
booleanfound=false;
for(inti=0;
i<
arr.length&
found;
i++){
for(intj=0;
j<
arr[i].length;
j++){
if(arr[i][j]==5){
found=true;
break;
}
第三种,使用方法的return
privatestaticinttest(){
intcount=0;
for(intj=0;
count++;
System.out.println("
if(j==5){
returncount;
}
return0;
作用在byte,short,char,int,enum
封装类对象,其它基本数据类型及引用数据类型都不能做为case的条件
对于shorts1=1;
由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。
由于+=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。
char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字
补充说明:
unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。
2<
<
3
因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2<
3。
9、请设计一个一百亿的计算器
如果只是大整数运算,使用BigInteger就可以
如果有浮点数据参与去处,需要使用BigDecimal进行运算
Java中基本类型的浮点数运算是不精确的,需要使用BigDecimal运算,尤其是金融、会计方向的软件
10、使用final关键字修饰一