1、Java面试题带答案 资料仅供参考 湖南世杰Java工程师面试题 选择题: 单选题 1,以下java程序代码,执行后的结果是( ) java.util.HashMap map=newjava.util.HashMap(); map.put("name",null); map.put("name","Jack"); System.out.println(map.size()); A: 0 B: null C: 1 D: 2 答案:C 2,执行以下程序后的输出结果是( ) Public class Test { Public stat
2、ic void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b); System.out.println(a +","+ b); } Public static void operator(StringBuffer x, StringBuffer y) { x.append(y); y = x; } } A: A,A B: A,B C:
3、 B,B D: AB,B 答案:D 3,关于依赖注入,下列选项中说法错误的是( ) A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装 B:依赖注入使组件之间相互依赖,相互制约 C:依赖注入提供使用接口编程 D:依赖注入指对象在使用时动态注入 答案:B 4,关于spring说法错误的是( ) A: spring是一个轻量级JAVA EE的框架集合 B: spring是“依赖注入”模式的实现 C: 使用spring能够实现声明事务 D: spring提供了AOP方式的日志系统 答案:D 5,要在session对象中保存属性,能够使用
4、以下哪个语句( ) A: session.getAttribute(“key”,”value”) B: session.setAttribute(“key”,”value”) C: session.setAttribute(“key”) D: session.getAttribute(“key”) 答案:B 6,关于以下程序代码的说明正确的是?( ) Public class HasStatic{ Private static int x = 100; Public static void main(String args[]){
5、 HasStatic hs1= new HasStatic(); hs1.x++; HasStatic hs2= new HasStatic(); hs2.x++; hs1=new HasStatic(); hs1.x++; HasStatic.x--; System.out.println("x="+x); } } A: 程序经过编译,输出结果为:x=103 B: 10行不能经过编译,因为x是私有静态变量 C: 5行不能经
6、过编译,因为引用了私有静态变量 D: 程序经过编译,输出结果为:x=102 答案:D 7,以下哪一项不是使用mvc模式设计的web应用程序所具有的优点( ) A:可维护行强 B:可扩展性强 C:代码重复少 D:大大减少代码量 答案:D 8,在 myjsp.jsp 中,关于下面的代码说法错误的是: ( ) <%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %> A: 该页面能够使用 exception 对象 B: 该页面发
7、生异常会转向 error.jsp C: 存在 errorPage 属性时,isErrorPage 是默认为 false D: error.jsp 页面一定要有isErrorPage 属性且值为 true 答案:A 9,关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是( ) A:它负责接收HTTP请求 B:加载配置文件 C:实现业务操作 D:初始化上下应用对象ApplicationContext 答案:C 10,下面的类图表示的是哪个设计模式?( ) A:代理模式(Proxy) B:装饰模式(Decor
8、ator)
C:桥接模式(Bridge)
D:观察者模式(Observer)
答案:D
11,java如何接受request域中的参数? ( )
A: request.getRequestURL()
B: request. getAttribute()
C: request.getParameter()
D: request.getWriter()
答案:C
12,对下面Spring声明式事务的配置含义的说明错误的是( )
10、
A: 定义了声明式事务的配置模板
B: 对get方法采用只读事务
C: 缺少sessionFactory属性的注入
D: 配置需要事务管理的bean的代理时,经过parent引用这个配置模板,代码如下:
11、Public static void main(String args[]){ String str = new String("hello"); if(str=="hello"){ System.out.println("true"); }else{ System.out.println("false"); } } } A: true B: false C:编译不经过 D:执行报错 答案:B 14,下面属于java合法变量定义的是?( ) A: final B:1var1 C: _var2 D: var
12、3& 答案:C 15,下面有关JSP内置对象的描述,说法错误的是?( ) A: session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一 个WebApplication开始,直到客户端与服务器断开连接为止 B: request对象:客户端的请求信息被封装在request对象中,经过它才能了解到客户的需求,然后做出响应 C: application对象:application对象实现了用户间数据的共享,可存放全局变量,能够有多个 D: response对象:response对象包含了响应客户请求的有关信息 答案:C 16,Please
13、choice the output result ( ) public class Test { Public static void changeStr(String str) { str ="welcome"; } Public static void main(String[] args) { String str ="1234"; changeStr(str); System.out.println(str); } } A:
14、1234 B: welcome C: 空 D: 不确定 答案:A 17,for(i=0;i<10;++i,sum+=i);i的最终结果是?( ) A: 10 B: 9 C: 11 D: 以上答案都不正确 答案:A 18,对于下面这段代码,以下说法正确的是:( ) Public class Test { Public int x; Public static void main(String args[] { System. out. println("Value is"+ x); } }
15、 A: 程序会打出 "Value is 0" B: 程序会抛出 NullPointerException C: 非静态变量不能够被静态方法引用 D: 编译器会抛出 "possible reference before assignment"的错误 答案:C 19,HashMap和HashTable的描述,错误的是? ( ) A: 她们都实现了Map接口。 B: HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。 C: HashMap允许将null作为一个entry的key或者value,而
16、Hashtable不允许。 D: 经过contains方法能够判断一个对象是否存在于HashMap或者Hashtable中。 答案:D 20,在Web应用程序的文件与目录结构中,web.xml是放置在( )中。 A: WEB-INF目录 B: conf目录 C: lib目录 D: classes目录 答案:A 多选题 21,下面有关java的instanceof、?、&、&&说法正确的有?( ) A: instanceof :用来判断某个实例变量是否属于某种类的类型。 B: ?: 三目运算符 C: &: 位运算:按位与 D:
17、 逻辑运算:逻辑与 答案:A B C D 22,下面哪些属于java的基本数据类型? ( ) A: byte B: string C: boolean D :void 答案:A C 23,判断下列数据类型转换的正确选项( ) A: int i=0;object o1=i;object o2=(object)i; B: int i=0;object o=i;int i1=o;int i2=(object)o;int i3=(int)o; C: int i=0; long l1=i;long l2=( long)i; D: int i=0; obj
18、ect o1=i;long l1=( int)o1;long l2=(long)o1; 答案:A C 24,在Java中,关于HashMap类的描述,以下正确的是 ( ) A: HashMap使用键/值得形式保存数据 B: HashMap 能够保证其中元素的顺序 C: HashMap允许将null用作键 D: HashMap允许将null用作值 E: HashMap 的长度为length 答案:A C D 25,下列关于JavaBean的说法错误的是( ) A: Java文件与Bean所定义的类名能够不同,但一定要注意区分字母的大小写 B: 在JSP文件
19、中引用Bean,其实就是用语句 C: 被引用的Bean文件的文件名后缀为.java D: Bean文件放在任何目录下都能够被引用 答案:B C D 简答题: Java 简答题 1.以下语句是否能正确执行? abstract class Name { private String name; public abstract boolean isStupidName(String name) {} } 答案: 错。abstract method必须以分号结尾,且不带花括号。 2.以下语句是否能正确执行? public class
20、 Something { void doSomething () { private String s = ""; int l = s.length(); } } 答案: 错。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final能够用来修饰局部变量 3.以下语句是否能正确,如果正确输出是什么? class Something { int i; public void doSomething() { S
21、ystem.out.println("i = " + i); } } 答案: 正确。输出的是"i = 0"。int i属於instant variable (实例变量,或叫成员变量)。instant variable有default value。int的default value是0。 4:如何将String类型转化成Number类型?请用代码说明 答案:Integer类的valueOf方法能够将String转成Number。下面是代码示例:? 1 2 String numString = “1000”; intid=Integer.valueOf(n
22、umString).intValue(); 5,如何交换两个变量的值?请用代码说明 答案:先把两个值相加赋值给第一个变量,然后用得到的结果减去第二个变量,赋值给第二个变量。再用第一个变量减去第二个变量,同时赋值给第一个变量。代码如下: inta=5,b=10;a=a+b; b=a-b; a=a-b; SQL简答题: Student(S#,Sname,Sage,Ssex) 学生表 S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别 Course(C#,Cname,T#) 课程表 C#,课程编号
23、Cname:课程名字;T#:教师编号 SC(S#,C#,score) 成绩表 S#:学号;C#,课程编号;score:成绩 Teacher(T#,Tname) 教师表 T#:教师编号; Tname:教师名字 问题1、查询”001”课程比”002”课程成绩高的所有学生的学号; 答案: select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from
24、SC where C#='002') b where a.score>b.score and a.s#=b.s#; 问题2、查询平均成绩大于60分的同学的学号和平均成绩; 答案: select S#,avg(score) from sc group by S# having avg(score) >60; 问题3、查询所有同学的学号、姓名、选课数、总成绩; 答案: select Student.S#,Student.Sname,count(SC.C#),sum(score) from Student left Outer jo
25、in SC on Student.S#=SC.S# group by Student.S#,Sname 问题4、查询所有课程成绩小于60分的同学的学号、姓名; 答案: select S#,Sname from Student where S# not in (select Student.S# from Student,SC where S.S#=SC.S# and score>60); 问题5、删除“002”同学的“001”课程的成绩 ; 答案: delete from Sc where S#='002'and C#='001';
26、
JS简答题:
1:实现函数,输出九九乘法表。
参考答案:
window.onload = function(){
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
document.write(i+"x"+j+"="+i*j +" ");
}
document.write("
")
}
};
2,编写一个方法 去掉一个数组的重复元素
例子数组:var arr=["abc",85,"abc",8,8,1,2,5,85,4,7,8];
参考答案:






