java-web开发人员面试题及答案(共13页).docx
精选优质文档-倾情为你奉上 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. 同步有几种实现方法 ( ) (单选) 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 float f=3.4是正确的 C StringBuffer的长度是可变的 D StringBuffer的长度是不可变的9. 下列关于集合的说法正确的是( )(多选) A List 的具体实现包括 ArrayList 和 Vector B Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值 C Set的元素是有序的 D Hashtable 是线程安全的。10. 下列关于线程说法正确的是( )(多选) A 调用sleep不会释放对象锁。JAVA中文站社区门户zu&r /g9_V2b(T7z B 调用wait方法导致本线程放弃对象锁 C 当一个线程进入一个对象的一个synchronized方法后,其它线程不可进入此对象的其它方法 D notify():唤醒全部处于等待状态的线程。11. 给定JSP程序源码如下,该JSP运行后输出的结果是( )。(单选)<html><%int Count=1;%>Count:<%=+Count%></html>A Count:1 B Count:2 C 1:2 D Count:12在J2EE中的一个JSP文件中,有表达式<%=2+3%>,它将输出( )(单选)a)2+3 b)5 c)23 d)不会输出,因为表达式是错误的13 在J2EE中,JSTL提供条件标签以支持JSP页面的各种条件,其中( )类似于Java语言的switch语句。(单选)a) <c:if> b) <c:choose> c) <c:when> d) <c:forEach>14. 在进行Java Web开发时,假定一个变量保存在session中,要获得这个变量的值,可以使用以下( )语句。(单选)a) application.getAttribute(“name”)b) pageContext.getAttribute(“name”)c) session.getAttribute(“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框架中,( )类在视图层和控制层之间传递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) 以下关于SessionFactory的说法哪些正确?( )(多选)A) 对于每个数据库事务,应该创建一个SessionFactory对象B) 一个SessionFactory对象对应一个数据库存储源。C) SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源只需要创建一个。D) SessionFactory的load()方法用于加载持久化对象21) 关于AOP错误的( )(单选)A)AOP将散落在系统中的“方面”代码集中实现B)AOP有助于提高系统可维护性C)AOP已经表现出将要替代面向对象的趋势D)AOP是一种设计模式,Spring提供了一种实现22) 依赖注入说法正确的(单选)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) 下列是文件读写的类是( )(多选)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). 类 C). 继承 D).过程调用二. 填空(每空1分)1. String s = new String("xyz");创建了_个String 对象? 2. Math.round(9.5)等於_ Math.round(-9.5)等於_ 3. try 里有一个return语句,那么紧跟在这个try后的finally 里的code会被执行,什么时候被执行,在return_ ( 前还是后?) 4. 如何现实servlet的单线程模式 _ 5. 类变量必须带的修饰符是 _6. final类可以修饰在属性 , 方法 和 _ 前面7. Java默认的包是_8. Hibernate里面怎样实现类与类之间的关系_9. Socket 编程服务器端用_类来创建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; public void doIt() for(;i<arr.length;) if(arri>arri+1) str=arri+arri+1+str; break; else if(arri<arri+1) str=arri+str+arri+1; i+; continue; else str+=arri; i+; System.out.println(i); System.out.println(str); 2. 将会打印出什么?JAVA中文站社区门户.U|h If? vD1ER g!frT;Spackage test;.U"T w K8zppublic class FatherClass6&Gh;FD X*#u3slJAVA中文站社区门户j:y8a_'Q public FatherClass()Xp5T/JQw t&N'x(J JAVA中文站社区门户_x_P(b:r System.out.println("FatherClass Create");JAVA中文站社区门户$i1;j0hHi 'g3CoEhqL-G v7ZQ )h;k p子类:JAVA中文站社区门户 h.gUPM cpackage test;JAVA中文站社区门户'Tb76x5h p l4Iimport test.FatherClass;J -*Q"uNppublic class ChildClass extends FatherClassJAVA中文站社区门户N*o"#BZ5yEtzz" Aie Mcf)O3gxZLa+R,W public ChildClass()JAVA中文站社区门户%jEe'*q EI M6c0bE9bKV8y System.out.println("ChildClass Create");YG bI#y Y SZ8CT F public static void main(String args) #_OP J:c"hj3b JAVA中文站社区门户Zzp*e!A#h FatherClass fc = new FatherClass();F,lT n(wW!B ChildClass cc = new ChildClass();JAVA中文站社区门户7K7J-o;i JAVA中文站社区门户&M G ae7P/Cv6cEJAVA中文站社区门户 D%OPT6P-输出结果:)QU"r w5N7C JAVA中文站社区门户KtbaW?d 3.下列程序对还是错,如果错请说明原因! abstract class Name ah;VkeB9 private String name;8j"fT #X Q*Z#l;j public abstract boolean isStupidName(String name) 6l2uLS#ZiK|5P4. 表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。 5. 下面程序运行结果是String arr1 =”a”,”b”,”1,”c”,”b”;List lst1 = new ArrayList<String>();lst1.add(”d”);Collections.addAll(lst1,arr1);System.out.println(lst1);Set<String> set1 = new HashSet<String>();set1.add(”d”);Collections.addAll(set1, arr1);System.out.println(set1);运行结果: 四 编程题(每题6分)1. 写一个Singleton出来JAVA中文站社区门户/mw!k T-_C!_Bj D+U5j/u2一个表td中的部分Id有多个记录,把所有有多个记录的id查出来,并显示共有多少条记录数。3 给你个字符串 String = “abcdefg”,请你把它倒序输出。4.写出冒泡排序的实现 5 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,应该输出为“我ABC”而不是“我ABC+汉的半个”。 一。 c ab d b b abcd bd b abd abc b b b c c c c c b bc c a abcdef abc c ac c B d d二。 2 10 -9 前 <% page isThreadSafe="false"%> static 类 java.lang.* 表映射 serverSocket三。 错 对 错 对 对四。 (1)i=2;str=5133 (2) 。fatherClass CreatefatherClass CreatehildClass Create (3)。 答案: 错。abstract method必须以分号结尾,且不带花括号 (4)。 select fclass,max(fscore) from table1 group by fclass,fid (5)。 d, a, b, 1, c, b五。1.有2种只要写一个即可。第一种:public class Singleton private Singleton() private static Singleton instance = new Singleton(); public static Singleton getInstance() return instance; 第2种 public class Singleton private static Singleton instance = nullpublic static synchronized Singleton getInstance() if (instance=null) instancenew Singleton(); return instance; 2. 2个写一个即可。select id, Count(*) from tb group by id having count(*)>1或者select * from(select count(ID) as count from table group by ID)T where T.count>13. StringBuffer sb = new StringBuffer(s);sring s1 = (sb.reverse().toString();4.public void fun9() int a = 1,3,5,61,2,123,12, Conica.print(a); for(int i=0 ; i<a.length-1 ; i+) for(int j=0 ; j<a.length-i-1 ; j+) if(aj>aj+1) int temp = aj; aj = aj+1; aj+1 = temp; 5答:代码如下: package test; class SplitString String SplitStr; int SplitByte; public SplitString(String str,int bytes) SplitStr=str; SplitByte=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(); 试题分析:岗位技能考核标准分考核题中分布岗位要求合格分 实际得分jsp10分选择:1,11,12,13,14,15,16,23,29填空:4java基础及数据结构69分框架10分选择:17,18,19,20,21,22,24填空:8判断:1数据库11分选择:16简答题:4编程题:2专心-专注-专业