《java_web开发人员面试题及答案.doc》由会员分享,可在线阅读,更多相关《java_web开发人员面试题及答案.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-作者xxxx-日期xxxxjava_web开发人员面试题及答案【精品文档】 java 面试题一选择题(每题1分)1. jsp 有几个内置对象?( )(单选) A 5个 B 6个 C 9个 D 8个2. 在JAVA中,如何跳出当前的多重嵌套循环?( ) (多选) A break B return C forward D finally3. 四种会话跟踪技术,哪个范围最大?( ) (单选) A page B request C session D application4. java中有几种方法可以实现一个线程?( ) (单选) A 1种 B 2种 C 3种 D 4种 5. 同步有几种实现方法
2、( ) (单选) A 4种 B 2种 C 3种 D 1种6. xml有哪些解析技术? ( ) (多选) A DOM B SAX C STAX D JDOM7. 下列说法正确的是( )(多选) A 构造器Constructor可被继承 B String类不可以继承 C 判断两个对象值相同用“=” D char型变量中能存贮一个中文汉字8.下面说法错误的是( ) (单选) A Vector是线程安全的 B 是正确的 C StringBuffer的长度是可变的 D StringBuffer的长度是不可变的9. 下列关于集合的说法正确的是( )(多选) A List的具体实现包括ArrayList和V
3、ector B Map集合类用于存储元素对(称作键和值),其中每个键映射到一个值 C Set的元素是有序的 D Hashtable 是线程安全的。10. 下列关于线程说法正确的是( )(多选) A 调用sleep不会释放对象锁。JAVA中文站社区门户zu&r /g9_V2b(T7z B 调用wait方法导致本线程放弃对象锁 C 当一个线程进入一个对象的一个synchronized方法后,其它线程不可进入此对象的其它方法 D notify():唤醒全部处于等待状态的线程。11. 给定JSP程序源码如下,该JSP运行后输出的结果是( )。(单选)Count:A Count:1 B Count:2
4、C 1:2 D Count:12在J2EE中的一个JSP文件中,有表达式,它将输出( )(单选)a)2+3 b)5 c)23 d)不会输出,因为表达式是错误的13 在J2EE中,JSTL提供条件标签以支持JSP页面的各种条件,其中( )类似于Java语言的switch语句。(单选)a) b) c) d) 14. 在进行Java Web开发时,假定一个变量保存在session中,要获得这个变量的值,可以使用以下( )语句。(单选)a) application.getAttribute(“name”)b) pageContext.getAttribute(“name”)c) session.get
5、Attribute(“name”)d) config.getInitParameter(“name”)15)在J2EE中,编写Servlet过滤器时,( )接口用于调用过滤器链中的下一个过滤器。( )(单选)a)Filter b)FilterConfig c)FilterChain d)Servlet16)关于视图的描述正确的是( )(单选)a)视图是一种特殊的表,它存储了用户定制的数据。b)视图仅用于用户进行查询,不可以通过视图对数据进行修改。c)在sql server中可以通过用T-sql语句来创建,也可以通过企业管理器。d)创建视图只能操作本机器上的数据库表。17)STRUTS框架中,(
6、 )类在视图层和控制层之间传递HTML表单数据。(单选)a)Action b) ActionForward c) ActionForm d)ActionServlet18)Struts控制器的主要任务是接受用户请求、根据用户请求调用对应的模型组件、获取业务逻辑执行结果的根据处理结果选择适合的视图组件返回给用户,实现Struts控制器的类中不包括( )。(单选)a) ActionServlet b) Action c)ActionForm d) ActionForward19)在OOD中,类和接口之间的关系称之为( )。(单选)a) 泛化 b) 实现 c) 关联 d) 继承20) 以下关于Ses
7、sionFactory的说法哪些正确?( )(多选)A) 对于每个数据库事务,应该创建一个SessionFactory对象B) 一个SessionFactory对象对应一个数据库存储源。C) SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源只需要创建一个。D) SessionFactory的load()方法用于加载持久化对象21) 关于AOP错误的( )(单选)A)AOP将散落在系统中的“方面”代码集中实现B)AOP有助于提高系统可维护性C)AOP已经表现出将要替代面向对象的趋势D)AOP是一种设计模式,Spring提供了一种实现22) 依赖注入说法正
8、确的(单选)A)依赖注入的目标是在代码之外管理程序组建间的依赖关系B)依赖注入即是“面向接口”的编程C)依赖注入是面向对象技术的替代品D)依赖注入的使用会增大程序的规模23) 以下哪些属于Session的方法?( )(多选)A) load()B) save()C) delete()D) update()E) open()F) close()24) 下面那些是Hibernate的查询方式( )(多选) A) sql B) hql C) Criteria 25) 以下数据结构不属于线性结构的是( )(单选) A) 队列 B) 线性表 C) 二叉树 D) 栈26) 下列是文件读写的类是( )(多选)
9、A) File Reader B) File C) FileWriter D) InputStream27) 数据库技术中的“脏数据,是指( )的数据。(单选)A) 错误 B 回返 C 未提交 D 未提交的随后又被撤消28)在计算机中,个字节是由多少个二进制位组成的( ) (单选)A). 4 B). 8 C). 16 D). 2429)设正x、y均为整型变量,且x=10 y=3,则以下语句printf(%d,%dn,x-,-y); 的输出结果是( )(单选) A).10,3 B). 9,3 C). 9,2 D).10,230) 下列不属于面向对象的方法是( )(单选) A). 对象 B). 类
10、 C). 继承 D).过程调用二. 填空(每空1分)1. String s = new String(xyz);创建了_2_个String 对象? 2. Math.round(9.5)等於_10_ Math.round(-9.5)等於_ -9 3. try 里有一个return语句,那么紧跟在这个try后的finally 里的code会被执行,什么时候被执行,在return_ ( 前还是后?) 4. 如何现实servlet的单线程模式 5. 类变量必须带的修饰符是 _static _6. final类可以修饰在属性,方法 和 _类_ 前面7. Java默认的包是_ java.lang.* _8
11、. Hibernate里面怎样实现类与类之间的关系_表映射_9. Socket 编程服务器端用_ serverSocket _类来创建socket对象三 判断题(每题2分) 1. 依赖注入即是“面向接口”的编程。错 2. Overload和Override都是java多态的不同体现形式。对 3. String是最基本的数据类型 错 4. 启动一个线程是用start()JAVA中文站社区门户MD!?(Qvt9Bta() 对 5. 接口可以继承接口 对四简答题(每题4分)1. 下列程序打印结果是 int arr = 1,3,3,2,8; String str = “”; int i=0; publ
12、ic void doIt() for(;iarri+1) str=arri+arri+1+str; break; else if(arriarri+1) str=arri+str+arri+1; i+; continue; else str+=arri; i+; System.out.println(i); System.out.println(str); i=2;str=5133 2. 将会打印出什么?JAVA中文站社区门户.U|h If? vD1ER g!frT;Spackagetest;.UT w K8zppublic classFatherClass6&Gh;FD X*#u3slJAV
13、A中文站社区门户j:y8a_QpublicFatherClass()Xp5T/JQw t&Nx(JJAVA中文站社区门户_x_P(b:rSystem.out.println(FatherClassCreate);JAVA中文站社区门户$i1;j0hHig3CoEhqL-G v7ZQ )h;k p子类:JAVA中文站社区门户UPM cpackagetest;JAVA中文站社区门户Tb76x5h p l4Iimporttest.FatherClass;J -*QuNppublicclassChildClassextendsFatherClassJAVA中文站社区门户N*o#BZ5yEtzz Aie
14、 Mcf)O3gxZLa+R,WpublicChildClass()JAVA中文站社区门户%jEe*q EIM6c0bE9bKV8ySystem.out.println(ChildClassCreate);YG bI#yY SZ8CT Fpublicstaticvoidmain(Stringargs)#_OP J:chj3bJAVA中文站社区门户Zzp*e!A#hFatherClassfc=newFatherClass();F,lT n(wW!BChildClasscc=newChildClass();JAVA中文站社区门户7K7J-o;iJAVA中文站社区门户&M G ae7P/Cv6cEJ
15、AVA中文站社区门户 D%OPT6P-输出结果:)QUr w5N7CfatherClass CreatefatherClass CreatehildClass CreateJAVA中文站社区门户KtbaW?d 3.下列程序对还是错,如果错请说明原因! abstractclassNameah;VkeB9privateStringname;8jfT #X Q*Z#l;jpublicabstractbooleanisStupidName(Stringname)abstract method必须以分号结尾,且不带花括号6l2uLS#ZiK|5P4. 表:table1(FId,Fclass,Fscore
16、),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。 select fclass,max(fscore) from table1 group by fclass,fid5. 下面程序运行结果是String arr1 =”a”,”b”,”1,”c”,”b”;List lst1 = new ArrayList();lst1.add(”d”);Collections.addAll(lst1,arr1);System.out.println(lst1);Set set1 = new HashSet();set1.add(”d”);Collections.addAll(set1,
17、arr1);System.out.println(set1);运行结果: d, a, b, 1, c, b编程题(每题6分)1. 写一个Singleton出来JAVA中文站社区门户/mw!k T-_C!_B public class Singleton private static Singleton instance = nullpublic static synchronized Singleton getInstance() if (instance=null) instancenew Singleton(); return instance; j D+U5j/u2一个表td中的部分Id
18、有多个记录,把所有有多个记录的id查出来,并显示共有多少条记录数。select id, Count(*) from tb group by id having count(*)13 给你个字符串 String = “abcdefg”,请你把它倒序输出。StringBuffer sb = new StringBuffer(s);sring s1 = (sb.reverse().toString();public void fun9() int a = 1,3,5,61,2,123,12, Conica.print(a); for(int i=0 ; ia.length-1 ; i+) for(i
19、nt j=0 ; jaj+1) int temp = aj; aj = aj+1; aj+1 = temp; 5 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,应该输出为“我ABC”而不是“我ABC+汉的半个”。 package test; class SplitString String SplitStr; int SplitByte; public SplitString(String str,int bytes) SplitStr=str; SplitByte
20、=bytes; System.out.println(The String is:+SplitStr+;SplitBytes=+SplitByte); public void SplitIt() int loopCount; loopCount=(SplitStr.length()%SplitByte=0)?(SplitStr.length()/SplitByte):(SplitStr.length()/SplitByte+1); System.out.println(Will Split into +loopCount); for (int i=1;i=loopCount ;i+ ) if (i=loopCount) System.out.println(SplitStr.substring(i-1)*SplitByte,SplitStr.length(); else System.out.println(SplitStr.substring(i-1)*SplitByte,(i*SplitByte); public static void main(String args) SplitString ss = new SplitString(test中dd文dsaf中男大3443n中国43中国人 0ewldfls=103,4); ss.SplitIt(); 【精品文档】