java软件工程师面试题附答案东方国信.docx
- 文档编号:12278696
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:25
- 大小:27.97KB
java软件工程师面试题附答案东方国信.docx
《java软件工程师面试题附答案东方国信.docx》由会员分享,可在线阅读,更多相关《java软件工程师面试题附答案东方国信.docx(25页珍藏版)》请在冰豆网上搜索。
java软件工程师面试题附答案东方国信
Java软件工程师面试题——东方国信
1.1【问题】
简述对Vector类的理解,并写出常用到的对向量的增、删、插、定位及获取长度的方法。
增:
public Booleanadd(Objecto);
Public voidadd(intindex,Objectelement)
删:
public Objectremove(intindex)
Public Booleanremove(Objecto)
插:
publicObjectset(intindex,Objectelement)
定位:
publicintindexOf(Objectelem)
PublicObjectget(intindex)
长度:
publicintsize()
1.2 【问题】
请给出下面一段程序的执行结果:
public classBase{
voidIam(Baseb){
System.out.pirntln(“Base;Overload”);
}
voidIam(Childc){
System.out.println(“Child;Overload”);
}
publicstaticvoidmain(String[]args){
Base[]test=newBase[]{newBase(),newChild();}
For(inti=0;i Test[i].Iam(newChild()); } } } classChildextendsBase{ voidIam(Baseb){ System.out.println(“Base;Override”); } voidIam(Childc){ System.out.println(“Child;Override”); } } System.out.println(“Child;Overload”); System.out.println(“Child;Override”); 1.3【问题】 Jsp的两种跳转方式分别是什么? 有什么区别? 【答】 1. forword: 在当前连接中引入要转向的页面! 2.Response.sendRedirect : 断开当前页面连接,重新打开新的页面! 1.4【问题】 请找出下面一段程序出现的问题,并给出合理的解决方案或者修改程序(前面的数字表示行号) 1OutputStreamWriterout=… 2java.sql.Connectionconn=… 3try{ 4Statementstat=conn.createStatement(); 5ResultSetrs=stat.executeQuery( 6“selectuid,namefromuser”); 7while(rs.next()) 8{ 9out.println(“ID: ”+rs.getString(“uid”) 10“,姓名: ”+rs.getString(“name”)); 11} 12conn.close(); 13out.close(); 14} 15catch(Exceptionex) 16{ 17ex.printStackTrace(); 18} 对象rs和stat应在后面关闭! while语句一般不写在TRY中! 这样会降低执行的效率! 改为: 1OutputStreamWriterout=… 2java.sql.Connectionconn=… 3try{ 4Statementstat=conn.createStatement(); 5ResultSetrs=stat.executeQuery( 6“selectuid,namefromuser”); } 7catch(Exceptionex) 8{ 9ex.printStackTrace(); 10} 11while(rs.next()) 12{ 13out.println(“ID: ”+rs.getString(“uid”) 14“,姓名: ”+rs.getString(“name”)); 15} 16try{ 17 rs.close() 18 stat.close() 19conn.close(); 20out.close(); 21} 22catch(Exceptionex) 23{ 24ex.printStackTrace(); 25} 1.5【问题】 请完成一个java类,要求: 将ResultSet转换为Vector,并实现类似ResultSet的GetString(intFieldIndex)、Next()方法。 1.6【问题】 如何防止Form的重复提交? (可以用文字描述) 获取提交的信息,以获取的信息为条件查找数据库,返回结果集,如果结果集不为空,表明已经提交过了 1.7基础题 多项选择题(在每小题的五个备选答案中选出正确答案,并将正确答案的序号填入题干后面的括号内,错选多选,漏选均不得分。 ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 c abd c Cd abcd A,e ade abc c ad bc d ac b b c b ad abc c 1、给出如下代码: class Test{ private int m; public static void fun() { // some code… } } 如何使成员变量m 被函数fun()直接访问? A、将private int m 改为protected int m B、将private int m 改为 public int m C、将private int m 改为 static int m static访法中只能调用static变量 D、将private int m 改为 int m 2、下面哪几个函数是public void example(){…}的重载函数? A、 public void example( int m){…} B、public int example(){…} C、public void example2(){…} D、 public int example ( int m, float f){…} 重载是型的方法了怎样都行 就是名相同即可 3、给出下面的代码段: public class Base{ int w, x, y ,z; public Base(int a,int b) { x=a; y=b; } public Base(int a, int b, int c, int d) { // assignment x=a, y=b w=d; z=c; } } 在代码说明// assignment x=a, y=b处写入如下哪几个代码是正确的? A、 Base(a,b); B、x=a, y=b; C、x=a; y=b; D、this(a,b);//构造方法中怎么能调构造方法呢 4、已知如下定义: String s = ”story”; 下面哪个表达式是合法的? A、 s += ”books”; B、char c = s[1]; C、int len = s.length; D、String t = s.toLowerCase(); //“story”是String的对象不可用下表取值,它有cd两种方法 5、Java中main()函数的值是什么? A、 String B、int C、char D、void main//函数是可以重载的 6、如下哪些字串是Java中的标识符? A、 fieldname B、super C、3number D、#number E、$number //以字母或下划线或美元符号开头 7、如下哪些是Java中有效的关键字? A、 const B、NULL C、false D、this E、 native //falsetruenull都是保留字 8、如下哪些是Java中正确的整数表示? A、22 B、0×22 C、022 D、22H 9、下面的代码段中,执行之后i 和j 的值是什么? int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 10、下面句话是正确的? A、 >> 是算术右移操作符. B、>> 是逻辑右移操作符. C、>>> 是算术右移操作符 D、>>> 是逻辑右移操作符 11、下面哪个赋值语句是合法的? A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 12、下面哪个是main()函数的合法参数? A、char args[] B、char args[][] C、String arg[] D、String args[] 13、下面哪个语句是创建数组的正确语句? A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6]; C、float f[][] = new float[][6]; D、float [][]f = new float[6][6]; E、float [][]f = new float[6][]; 14、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 }; 下面哪个表达式的值与数组下标量总数相等? A、 m.length() B、m.length C、m.length()+1 D、m.length+1 15、已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? A、 args[0] = ”MyTest a b c” B、args[0] = ”MyTest” C、args[0] = ”a” D、args[1]= ’b’ 16、已知如下代码: public class Test { long a[] = new long[10]; public static void main ( String arg[] ) { System.out.println ( a[6] ); } } 请问哪个语句是正确的? A、Output is null. B、Output is 0. C、When compile, some error will occur. D、When running, some error will occur. 17、已知如下代码: boolean m = true; if ( m == false ) System.out.println(“False”); else System.out.println(“True”); 执行结果是什么? A、False B、True C、None D、An error will occur when running. 18、已知如下代码: public class Test { public static void main(String arg[]) { int i = 5; do { System.out.println(i); } while (–i>5) System.out.println(“finished”); } } 执行后的输出是什么? A、 5 B、4 C、6 D、Finished E、None 19、下面代码执行后的输出是什么? outer: for(int i=0;i<3; i++) inner: for(int j=0;j<2;j++) { if(j==1) continue outer; System.out.println(j+ ”and ”+i); } A、 0 and 0 B、0 and 1 C、0 and 2 D、1 and 0 E、1 and 1 F、1 and 2 G、2 and 0 H、 2 and 1 I、 2 and 2 20、已知如下代码: switch (m) { case 0: System.out.println(“Condition 0″); case 1: System.out.println(“Condition 1″); case 2: System.out.println(“Condition 2″); case 3: System.out.println(“Condition 3″);break; default: System.out.println(“Other Condition”); } 当m 的值为什么时输出”Condition 2″? A、 0 B、1 C、2 D、3 E、4 F、None 东方国信JAVA程序员面试题笔试题☞通用编程知识问卷 东方国信 1.1编程风格问卷 【问题】 有一些变量,请你命名: 数据类型 中文含义 作用域 你的命名 Int 序列号 全局变量 globalID (类) 用户帐单 (类) UserReckoning String/CString 用户名称 类成员 userName Float 当月收入 类成员 currentMonHarvest Char* 营业员 类成员 business Double 罚款 局部变量 smartMoney 请说明你的命名原则。 一、Class: 第一个字母大写;如果是复合的单词,每个单词的第一个字母大写! 二、StaticFinal: 变量的名字全部都大写,并且指出完整含义 三、Class变量: 如果是一个单词,全部小写;如果是复合单词,从第二个单词开始,每个单词的第一个字母大写! 1.2翻译 将下面的文字翻译为中文: ExceptionsaregeneratedbytheJavaruntimesysteminresponsetoerrorsthataredetected whenclassesareloadedandtheirmethodsareexecuted.Theruntimesystemissaidto throwtheseruntimeexceptions.Runtimeexceptionsareobjectsoftheclassjava.lang.RuntimeExceptionorofitssubclasses. 异常的产生是发生在JAVA运行时,当类被载入并且它们的方法被调用,系统响应错误。 运行时异常提示抛出这些错误,运行时异常是java.lang.RuntimeException类的对象或其子类对象。 2.数据库 2.1【问题】 有下列两张表: USERLIST表: TELEPHONE (Varchar(10),主键) ACCOUNT (varchar(10)) RENT (numeric(10,2)) 4210001 AAAA 19.50 4210002 AAAA 20.50 4210003 BBBB 100.00 4210004 CCCC 250.00 CHARGE表: TELEPHONE (Varchar(10),主键) FEE01 (numeric(10,2)) FEE02 (numeric(10,2)) FEE03 (numeric(10,2)) FEE04 (numeric(10,2)) 4210001 11.00 12.00 13.00 14.00 4210002 21.00 22.00 23.00 24.00 4210003 31.00 32.00 33.00 34.00 请用最少的SQL语句,产生下述查询结果: ACCOUNT (Varchar(10),主键) USERS (int) RENT (numeric(10,2)) FEE01 (numeric(10,2)) FEE02 (numeric(10,2)) FEE03 (numeric(10,2)) FEE04 (numeric(10,2)) AAAA 2 40.00 32.00 34.00 36.00 38.00 BBBB 1 100.00 31.00 32.00 33.00 34.00 CCCC 1 250.00 0.00 0.00 0.00 0.00 其中: 数据是经过USERLIST、CHARGE表进行合适的连接后以ACCOUNT为关键字分组求和得到。 【特别注意】: 电话号码4210004在USERLIST表中有一条记录,但是在CHARGE表中并没有记录。 但结果中合同号CCCC具有一条记录。 请写出SQL语句。 Selectaccount,count(account)asusers,sum(rent)asrent, sum(nvl(fee01,0))asfee01,sum(nvl(fee02,0))asfeel02, sum(nvl(fee03,0))asfee03,sum(nvl(fee04,0))asfeel04 fromuserlista,charge bwhere a.telephone=b.telephone(+)groupbyaccount; 2.2 【问题】 表A: 字段代码 字段类型 USER_NO NUMBER NAME VARCHAR2(128) 表B: 字段代码 字段类型 USER_NO NUMBER NAME VARCHAR2(128) A、B表数据量都在400万左右,现在想用B表的数据更新A表的用户姓名,并把B表中A表没的记录加入到A表,请写出最优化的SQL; 2.3【问题】 在实际应用中,我们经常遇到需要转换数据的显示方式,比如将横表转为纵表,或将纵表转为横表的情况 请运用SQL实现一下数据转换: (转换前) select*fromtest grade_id subject_name max_score 1 语文 98 2 数学 95 2 政治 87 5 语文 97 5 数学 100 5 政治 92 (转换后) 年级 语文 数学 政治 一年级 98 0 0 二年级 0 95 87 五年级 97 100 92 selectgrade_id,sum(decode(subject_name,’语文’,max_score,0))as语文,sum(decode(subject_name,’数学’,max_score,0))as数学,Sum(decode(subject_name,’政治’,max_score,0))as政治fromtextgroupbygrade_id; 2.4【问题】 在进行数据逻辑集合比较的时候,ORACEL提高了方便的操作供我们选用。 包括UNION,INTERSECT,MINUS请分别指出这几个操作的含义。 Union: 求两个查询的合集! Intersect: 求两个查询的交集,即两个查询结果的公共部分! Minus: 求两个查询的差集,即,从第一个查询中去掉第二个查询的结果,为最后的返回结果! 如果TEST1,TEST2两个表都只有一个字段ANUMBER,且其中有重复数据 SELECTAFROMTEST1 UNION SELECTAFROMTEST2 和 SELECTAFROMTEST1 UNIONALL SELECTAFROMTEST2 结果一样么? ? 请对你的结论说明原因。 第一种用法会删除重复的资料。 第二种用法不会删除重复的资料。 2.5 【问题】 数据库为我们提高了定时调用存储过程和脚本的机制,该功能通过DBMS_JOB来实现的 请写出调用该过程的语句。 我们可以通过查看数据库中的那个试图来监控队列任务的基本情况? ? ? DBA_JOBS,USER_JOBS 2.6 【问题】 请阅读一下代码, proceduretest as begin createtabletest_pp(anumber); insertintotes
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 软件工程师 试题 答案 东方 国信