华为应届生面试题大全(Java方向)包含答案及评分标准2013-09-27 09:00:24 作者:eric 来源:网络转载人气:176 评论: ( 0 )【大中小】JAVA应届生面试题库题量:20道题,初级8道,中级12道,高级2道范围:Java语言基础、数据结构、线程、JDBC、JSP/Servlet、EJB、Socket 10、文件10性Rmi、WebService、Swing)【题号】1【级别】初级【验证】正确【题目】class A{void f(){System.out.println(”A.f”);}}class B extnds A {void f (int i){System.out.println(”B.f”);}}class C extends B {void f(){System.out.println(”C.f”);}}{ public static void main(String arg[]){ Aa=new A();a.f():Bb=new B();b.f();Cc=newc();c.f();}} 。
JAVA D 运行结果是什么【参考答案】A.fA.fC.f【题号】2【级别】初级【验证】正确【题目】说出两种方法遍历一个HashMap,获取所有的Key和Value?【参考答案】1种方法:取出Key,根据每个Key逐个取出Value。
2种方法:取出Entry进行遍历获取键值对,取出其中的SetKey和Nalue【题号】3【级别】初级【验证】正确请简述Ssrvlet的生命周期,以及各阶段Servlet容器所做的事。
【参考答案】Sevlet引擎首先加载servlet类并调用其init()方法。
完成init()方法后,SERVLET 处于准备状态,可以响应请求,要从服务器中删除时,引擎调用servlet的d estroy()方法以释放资源,d estroy()方法完成后,服务器回收内存。
【评分标准】至少答出init、准备、destroy三个状态。
【题号】4【级别】初级【验证】正确【题目】请至少答出5个Jsp中的内置对象及其用途?【参考答案】request:封装来自用户的请求。
response:封装由JSP产生的响应,并被发送回客房端以响应请求session:表示为发出请求的客户端建立的会话。
application:表示JSP正在招待的上下文。
out:表示输出流。
config:表示servlet的配置。
page:页面对象,表示JSP本身,同this。
exception:指的是运行时的异常,只在错误页面(就是页面指令有isErrorPage=true属性的页面)中才有。
pageContext:页面级的上下文对象。
【题号】5【级别】初级【验证】正确【题目】中创建一个线程有哪两种方式:【参考答案】从类Thread继承和实Runnable现接口【题号】6【级别】初级【验证】正确【题目】说一Java下语言访问限定符在类、内部类、方法、属性中使用和作用域例如:public用于:类、内部类、方法、属性、作用域:全局【参考答案】Private 用于:内部类、方法、属性,作用域:类内部Protected 用于:内部类、方法、属性,作用域:类内部、子类、同一个包类缺省用于;类、内部类、方法、属性,作用域:类内部、同一个包的类【题号】7【级别】初级【验证】正确【题目】名词解释SOAP,UDDI,WSDL。
【参考答案】SOAP:Simple Object Access Prtocol,简单对象访问协议,基于XML]语法定义的对象远程调用协议,主要目标是提供类似PC的接口.UDDI:Universal Description Disvery Integration,统一描述发现与集成,用;于描述WebService组件的描述、发现、集成规范WSDL:Web Service Description Language,基于XML语法定义的用于描述WebService接口的描述语言。
【题号】8【级别】初级【验证】正确【题目】在普通应用程序中用JDBC做一个数据库事务,程序片断如下请填空:String driver=“rmix.jdbc.ifxDriver”;String url=“jdbc:informix-sqli://11.6.6.11:9002/test:INFORMIXSERVER=ifx”;String user=“informix”;String password=“informic”;String sql=“update TESTDB set status=‘2’”1Connection conn= 2Statement stment=conn.createsStatement();Try{3 ;stment .executeUpdate(sql);456}catch(SQLException e){try{789}catch(SQLException el){ //do nothing}}[参考答案]1、Clall.forName(driver);2、DriverManager.getConnection();3、conn.setAutoCommit(false)4、mit()5、stment.close()6、conn.close();7、conn.rollback();8、stment.close()9、conn.close()这个题建议不要考这么多close(),因为实际应用的时候可能不是每次都要关闭的。
至少CONNECTION对象是这样.Close()在一个地方考就可以了.建议考下面的语句:事务执行完毕之后要养成好习惯,把autoCommit设为true,避免影响这个CONNECTION 的后续使用。
【题号】9【级别】初级【验证】正确【题目】class Valhold{public int i=10}public class Obparm{public static void main(String argv{}){ Obparm o =new 0bparm();o.amethod();}public void amethod (){INT I=99ValHold v =new ValHold();v.i=30;Another(v.i);System.out.print(v.i);}//End of amethodpublic void another(ValHold v.int i){ i=0v.i=20;ValHold vh =new ValHold();V = vh;System.out.print(v.i);System.out.print(v.i);}//End of another;}运行结果是?【参考答案】10020【题号】10【级别】中级【验证】正确【题目】下面是一段读取d盘下test.txt文件内容,并打印其内容指出下面代码中的错误并改正。
import jav aio.*;public class FileTest{public staticvoid main (String[]args){File f=new File(“d:/test.txt”)Byte[]b=new byte[1024;Int point=0While((poin=fi.read(b))!=-1){for(inti=0;i《point;i++){System.out.pnint(b[i]);}}【参考答案】1、文件输入流使用错误,不应该使用File,应该使用Filelnputstream。
2、文件名格式错误,应该是d://test.txt。
3、没有捕获I0异常。
4、输入流没有关闭。
修改后的代码为:import java.io.*;public class FileTest{public tatic void main (String{} args){FileinputStream fi =null;try{fi =new FileinputStream(”d://test.txt“);. byte[] b=new byte[1024];int point = 0while((point=fi.read(b))!=-1){for(int i=0;i〈point:i++〉{System.out.print(b[i]);}}fi.close();}catch(IOException e){}finally{if (fi != null){fi.close();}}catch(IOException ioe){}}}这里不太好吧,文件后缀名为txt,但是直接打印字节不太好。
建议把est.txt换成tet.dat。
【题号】11【级别】中级【验证】正确【题目】写一段代码建立一个直角在左下角的等腰直角三角形的二维数组,腰的长度是10,数组元素是String,需要赋初始值为(x,y),其中x,y为坐标的位置,从左下角为顶点(0,0),依次向上向右增加1。
程序片断如下,请填空:String[][]trg = 1for(int i= 2 ;i)=0;i-){trg[i]= 3 ;for(int j=0;j〈 4 ;j++){trg[i][j]= 5 ;}}for(int i=9;i)0;i–){for(int j=0;j《trg[i],length;j++){System.out.print(trg[i][j]);}【参考答案】1、new String[10][]2、93、new STRING[10-I]4、trg[i].length5、“(”+|i+”.”+j+”)”【题号】12【级别】中级【验证】正确【题目】描述一下LinkedList.MrrayList,Vector的区别,例如,数据存储,特性,性能等。
【参考答案】LinkedList 使用双链表来实现,插入性能好,方法不是同步的,查找比ArrayList慢,适用于数据频繁改变的场合.Vector实现方式同ArrayList,方法是同步的【题号】13【级别】中级【验证】正确【题目】写一段代码应用BorderLayout管理器,在东南西北中四个方位各加入一个按钮。
【参考答案】setLayout(new Borderlayout();add(new Button(“东”),BorderLayout.EAST ;add(new Button(“西”),BorderLayout.WEST ;add(new Button(“中”),BorderLayout. CENTER;add(new Button(“北”),BorderLayout.NORTH ;add(new Button(“南”),BorderLayout. SOUTH;【题号】14【级别】中级【验证】正确【题目】考虑用自己的类实现StringBuffer的字符串相加功能,要求越接近StringBufferr的性能越好,请说出其中数据存储和扩充长度的思路。