您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 十二公司java面试题
32十二、国内部分软件公司笔试试题(一)、中软国际笔试题一、简述Servlet生命周期?(时间4分钟)---本文档中已存在该答案,此处略二、简述HttpSession的作用、使用方法,可以用代码说明?(时间3分钟)答:HttpSession中可以跟踪并储存用户信息,把值设置到属性中;有2个方法:setAttribute(),getAttrribute();例如:在一个方法中用session.setAttribute(“student”,student);在session中设置一个属性名为student,值为一个名为student的对象。而后可在同一session范围内用getAttribute(“student”)取出该属性,得到student对象。三、请画出Servlet2.2以上WebApplication的基本目录结构?(时间2分钟)答:目录结构如下图所示:webapps|Applocation|__________________||JSP页面WEB-INF|___________________|||Classlibweb.xml四、谈谈你对三层结构的理解?(时间5分钟)表现层(WEB浏览器层):数据展示的方式.业务逻辑层(WEB服务器层):对数据的逻辑操作.持久化层(数据库服务器层):将数据保存到硬盘或其它存储设备.注:此题答案为简写答案五、名词解释写出全称并简要说明?(10分钟)EJB、JNDI、MVC、UML、LDAP---本文档中已存在该答案,此处略六、程序设计,写出一个Servlet,实现以下功能:已知数据源的JNDI地址为jdbc/db2DataSource,请用这个名字获得数据库连接,并执行SQL:”SELECTA,BFROMMYTALBE”,把执行结果输出到文本文件”out.txt”中,并将请求转发到”/application/test.jsp”?(6分钟)答:publicclassTestServletextendsHttpServlet{protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresponse)throwsIOException,ServletException{Connection=null;Statementstmt=null;ResultSetrs=null;try{Contextcontext=newInitialContext();DataSourceds=(DataSource)context.lookup(java:comp/env/jdbcdb2DataSource);conn=ds.getConnection();stmt=conn.CreateStatement(SELECTA,BFROMMYTALBE);rs=stmt.executeQuery();PrintStreamps=newPrintStream(newBufferedOutputStream(newFileOutputStream(out.txt)));while(null!=rs){ps.print(rs.getString(1)+);ps.println(rs.getString(2));}ps.close();response.sendRedirect(/application/test.jsp);}catch(Exceptione){e.printStackTrace();33}finally{try{if(null!=rs){rs.close();rs=null;}}catch(Exceptionrsex){rsex.printStackTrace();}try{if(null!=stmt){stmt.close();stmt=null;}}catch(Exceptionstmtex){stmtex.printStackTrace();}try{if(null!=conn){conn.close();conn=null;}}catch(Exceptionconnex){connex.printStackTrace();}}}}七、找出程序中的问题,并写出理由?(5分钟)protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseres){……}答:doGet()方法的访问限制修饰符应该为public,因为protected修饰的方法只能被同包中的类或其子类才可访问,这将导致web容器无法调用该方法八、有3个表(15分钟):学生表:Student学生表(学号,姓名,性别,年龄,组织部门)Course课程表(编号,课程名称)Sc选课表(学号,课程编号,成绩)表结构如下:1.写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名?(3分钟)答:selectstu.sno,stu.snamefromStudentstuwhere(selectcount(*)fromscwheresno=stu.snoandcno=(selectcnofromCoursewherecname='计算机原理'))!=0;2.写一个SQL语句,查询’周星驰’同学选修了的课程名字?(3分钟)答:selectcnamefromCoursewherecnoin(selectcnofromscwheresno=(selectsnofromStudentwheresname='周星34驰'));3.写一个SQL语句,查询选修了5门课程的学生学号和姓名?(9分钟)答:selectstu.sno,stu.snamefromstudentstuwhere(selectcount(*)fromscwheresno=stu.sno)=5;(二)、中华网笔试题一、Java基础知识1、Java有那些基本数据类型,String是不是基本数据类型,他们有何区别?---本文档中已存在该答案,此处略2、字符串的操作:(1).写一个方法,实现字符串的反转,如:输入abc,输出cba?JAVA已经提供实现方式了,可以不需要自写方法,如下:Strings=abcd;StringBuffersb=newStringBuffer();sb.append(s);System.out.println(sb.reverse());方法实现如下:publicstaticStringreverse(Strings){intlength=s.length();StringBufferresult=newStringBuffer(length);for(inti=length-1;i=0;i--)result.append(s.charAt(i));returnresult.toString();}(2).写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc?JAVA已经提供实现方式了,可以不需要自写方法,如下:Strings=bbbwlirbbb;s=s.replaceAll(bbbwlirbbb,bbbhhtccc);System.out.println(s);3、数据类型之间的转换(1).如何将数值型字符转换为数字(Integer,Double)?Stringnumber=5;Stringnumber2=5.5;inti=Integer.parseInt(number);doublej=Double.parseDouble(number2);System.out.println(i++j);(2).如何将数字转换为字符?inti=123;java.text.DecimalFormatdf=newjava.text.DecimalFormat(#);Stringresult=df.format(i);System.out.println(result);(3).如何取小数点前两位,并四舍五入?floati=155.3263f;java.text.DecimalFormatdf=newjava.text.DecimalFormat(0.00);Stringresult=df.format(i);System.out.println(result);4、日期和时间(1).如何取得年月日,小时分秒?TimeZone.setDefault(TimeZone.getTimeZone(GMT+8:00));SimpleDateFormats=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss.SSS,Locale.CHINA);Timestampts=newTimestamp(System.currentTimeMillis());System.out.println(s.format(ts));35(2).如何取得从1970年到现在的毫秒数?//自1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数。Datedate=newDate();longs=date.getTime();System.out.println(s);(3).如何获取某个日期是当月的最后一天?Calendara=Calendar.getInstance();a.set(Calendar.DATE,1);//把日期设置为当月第一天a.roll(Calendar.DATE,-1);//日期回滚一天,也就是最后一天intMaxDate=a.get(Calendar.DATE);System.out.println((a.get(Calendar.MONTH)+1)+月最大天数+MaxDate);//月份是以0为底数的,需要加1System.out.println((a.get(Calendar.MONTH)+1)+月最后一天为+MaxDate+号);(4).如何格式化日期SimpleDateFormats=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss.SSS);5、数组和集合6、文件和目录(I/O)操作(1).如何列出某个目录下的所有文件?classTest{publicstaticvoidmain(String[]args){StringstrPath=C:\\DocumentsandSettings\\AllUsers\\Documents\\MyMusic;System.out.println(strPath);try{getDir(strPath);}catch(Exceptione){e.printStackTrace();}}staticvoidgetDir(StringstrPath)throwsException{try{Filef=newFile(strPath);if(f.isDirectory()){File[]fList=f.listFiles();for(intj=0;jfList.length;j++){if(fList[j].isDirectory()){System.out.println(fList[j].getPath());getDir(fList[j].getPath());//在getDir函数里面又调用了getDir函数本身}}for(intj=0;jfList.length;j++){if(fList[j].isFile()){System.out.println(fList[j].getPath());}}}}catch(Exceptione){System.out.println(Error:+e);}}}(2).如何列出某个目录下的所有子目录?classTest{publicstaticvoidmain(String[]args){StringstrPath=C:\\DocumentsandSettings\\AllUsers\\Documents\\MyMusic;System.out.println(str
本文标题:十二公司java面试题
链接地址:https://www.777doc.com/doc-2588116 .html