java软件工程师面试题附答案_第1页
java软件工程师面试题附答案_第2页
java软件工程师面试题附答案_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java软件工程师面试题 东方国信1.1【问题】简述对 Vector 类的理解,并写出常用到的对向量的增、删、插、定位及获取长 度的方法。 增: public Boolean add( Object o);Public void add (int index,Object element)删: public Object remove(int index)Public Boolean remove(Object o)插:public Object set(int index,Object element)定位: public int indexOf(Object elem) Public Ob

2、ject get(int index) 长度: public int size()1.2 【问题】 请给出下面一段程序的执行结果:public class Basevoid Iam(Base b)System.out.pirntln(“ Base;Overload ”);void Iam(Child c)System.out.println(“ Child;Overload ” );public static void main(String args)Base test = new Base new Base(),new Child();For(int i=0;i<test.lengt

3、h;I+)Testi.Iam(new Child();class Child extends Base void Iam(Base b) System.out.println( void Iam(Child c) System.out.println( Base;OverrideChild;Override););System.out.println(System.out.println(1.3【问题】Child;OverloadChild;Override););Jsp的两种跳转方式分别是什么 ?有什么区别 ? 【答】1. forword: 在当前连接中引入要转向的页面!2 Response

4、.sendRedirect : 断开当前页面连接,重新打开新的页面!1.4【问题】请找出下面一段程序出现的问题, 并给出合理的解决方案或者修改程序 (前面的 数字表示行号)1 OutputStreamWriter out = ,2 java.sql.Connection conn = ,3 try 4 Statement stat = conn.createStatement();5 ResultSet rs = stat.executeQuery(6 “ select uid, name froumser ” );7 while (rs.next()8 9 out.println( :“”I

5、D + rs.getString(“ uid ”)10 “,姓名: ” + rs.getString(“ name” );11 12 conn.close();13 out.close();14 15 catch(Exception ex)16 17 ex.printStackTrace();18 对象 rs 和 stat 应在后面关闭! while 语句 一般不写在 TRY 中!这样会降低执行 的效率! 改为:1 OutputStreamWriter out = ,2 java.sql.Connection conn = ,3 try 4 Statement stat = conn.crea

6、teStatement();5 ResultSet rs = stat.executeQuery(6 “ select uid, name from user”);7 catch(Exception ex)8 9 ex.printStackTrace();10 11 while (rs.next()12 13 out.println( :“”ID + rs.getString(“ uid ”)14 “,姓名: ” + rs.getString(“ name” );15 16try17 rs.close()18 stat.close()19 conn.close();20 out.close()

7、;21 22 catch(Exception ex)23 24 ex.printStackTrace();25 1.5【问题】请完成一个 java 类,要求:将 ResultSet 转换为 Vector,并实现类似 ResultSet 的 GetString(int FieldIndex) 、Next() 方法。1.6【问题】 如何防止 Form 的重复提交?(可以用文字描述) 获取提交的信息, 以获取的信息为条件查找数据库, 返回结果集, 如果结果集不 为空,表明已经提交过了1.7 基础题 多项选择题 (在每小题的五个备选答案中选出正确答案,并将正确答案的序号填 入题干后面的括号 stati

8、c 访法中只能调用 static 变量D、将 private int m 改为 int m2、下面哪几个函数是 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

9、=b;public Base(int a, int b, int c, int d)/ assignment x=a, y=bw=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 = s1;C、int len = s.length;D、String t = s.toLowerCase(); /

10、 “ stor是y S”tring 的对象不可用下表取值 ,它有 cd 两种方法5、Java中 main()函数的值是什么 ?A、StringB、intC、charD、void main / 函数是可以重载的6、如下哪些字串是 Java中的标识符?A、fieldnameB、superC、3numberD、#numberE、$number/以字母或下划线或美元符号开头7、如下哪些是 Java 中有效的关键字?A、constB、NULLC、falseD、thisE、native/ false true null 都是保留字8、如下哪些是 Java 中正确的整数表示 ?A、22B、022C、022D

11、、22H9、下面的代码段中,执行之后 i 和 j 的值是什么 ? int i = 1;int j;j = i+;A、1, 1B、1, 2C、2, 1D、2, 210、下面句话是正确的A、>> 是算术右移操作符 .B、>> 是逻辑右移操作符 .C、>>> 是算术右移操作符D、>>> 是逻辑右移操作符11、下面哪个赋值语句是合法的?A、float a = 2.0B、double b = 2.0C、int c = 2D、long d = 212、下面哪个是 main()函数的合法参数 ?A、char argsB、char argsC、Str

12、ing argD、String args13、下面哪个语句是创建数组的正确语句?A、float f = new float66;B、float f = new float66;C、float f = new float6;D、float f = new float66;E、float f = new float6;14、已知表达式 int m = 0, 1, 2, 3, 4, 5, 6 ; 下面哪个表达式的值与数组下标量 总数相等?A、m.length()B、m.lengthC、m.length()+1D、m.length+115、已知如下的命令执行 java MyTest a b c 请问哪

13、个语句是正确的?A、args0 = ” MyTest a b c ”B、args0 = ”MyTest ”C、args0 = ” a”D、args1= b16、已知如下代码: public class Test long a = new long10;public static void main ( String arg ) System.out.println ( a6 ); 请问哪个语句是正确的?A、Output is null.B、Output is 0.C、When compile, some error will occur.D、When running, some error w

14、ill occur.17、已知如下代码: boolean m = true;if ( m = false )System.out.println(“ False ”);elseSystem.out.println(“True ”);执行结果是什么?A、FalseB、TrueC、NoneD、An error will occur when running.18、已知如下代码: public class Testpublic static void main(String arg) int i = 5;do System.out.println(i); while ( i>5)System.

15、out.println(“ finished ”); 执行后的输出是什么?A、5B、4C、6D、FinishedE、None19、下面代码执行后的输出是什么? 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 0B、0 and 1C、0 and 2D、1 and 0E、1 and 1F、1 and 2G、2 and 0H、2 and 1I、 2 and 220、已知如下代码:switch (m)c

16、ase 0: System.out.println(case 2: System.out.println(Condition 0 ); case 1: System.out.println( Condition 2 );Conditiocase 3: System.out.println(“ Con3ditio)n;b reak;d efault: System.out.println(“ OtherCondition ”; )当 m 的值为什么时输出 ” Condition 2 ?A、0B、1C、2D、3E、4F、None东方国信 JAVA 程序员面试题笔试题 ? 通用编程知识问卷 东方国信

17、1.1 编程风格问卷【问题】 有一些变量,请你命名:请说明你的命名原则。一、Class :第一个字母大写; 如果是复合的单词, 每个单词的第一个字母大写!二、Static Final :变量的名字全部都大写,并且指出完整含义三、Class 变量 :如果是一个单词,全部小写;如果是复合单词,从第二个单 词开始,每个单词的第一个字母大写! 1.2 翻译 将下面的文字翻译为中文:Exceptions are generated by the Java runtime system in response to errors that are detectedwhen classes are load

18、ed and their methods are executed. The runtime system is said to throw these runtime exceptions. Runtime exceptions are objects of the class java.lang.RuntimeException or of its subclasses.异常的产生是发生在 JAVA 运行时,当类被载入并且它们的方法被调用,系统响 应错误。运行时异常提示抛出这些错误, 运行时异常是 java.lang.RuntimeException 类的对象或其子类对象。 2.数据库 2

19、.1【问题】 有下列两张表: USERLIST 表:CHARGE 表:请用最少的 SQL 语句,产生下述查询结果:其中:数据是经过 USERLIST 、 CHARGE 表进行合适的连接后以 ACCOUNT 为关键字 分组求和得到。【特别注意】 :电话号码 4210004 在 USERLIST 表中有一条记录,但是在 CHARGE 表中并没有记录。但结果中合同号 CCCC 具有一条记录。请写出 SQL 语句。Select account,count(account) as users,sum(rent) as rent, sum (nvl(fee01,0) as fee01,sum(nvl(fe

20、e02,0) as feel02, sum (nvl(fee03,0) as fee03,sum(nvl(fee04,0) as feel04 from userlist a,charge b where a.telephone=b.telephone(+) group by account;2.2 【问题】表 A :的记录加入到 A 表,请写出最优化的 SQL;2.3【问题】在实际应用中,我们经常遇到需要转换数据的显示方式,比如将横表转为纵表, 或将纵表转为横表的情况请运用 SQL 实现一下数据转换:(转换前 )select * from testgrade_idsubject_namema

21、x_score1语文982数学952政治875语文975数学1005政治92(转换后 )年级语文数学政治一年级9800二年级09587五年级9710092select grade_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 政治 from text group by grade_id;2.4【问题】 A、B表数据量都在 400万左右,现在想

22、用 B表的数据更新 A 表的 用户姓名,并把 B表中 A 表没在进行数据逻辑集合比较的时候, ORACEL 提高了方便的操作供我们选用。 包括 UNION , INTERSECT , MINUS 请分别指出这几个操作的含义。Union :求两个查询的合集!Intersect: 求两个查询的交集,即两个查询结果的公共部分! Minus:求两个查询的差集,即,从第一个查询中去掉第二个查询的结果,为最后 的返回结果! 如果 TEST1 ,TEST2 两个表都只有一个字段 A NUMBER, 且其 中有重复数据SELECT A FROM TEST1UNIONSELECT A FROM TEST2和SE

23、LECT A FROM TEST1UNION ALLSELECT A FROM TEST2结果一样么 ?请对你的结论说明原因。第一种用法会删除重复的资料。 第二种用法不会删除重复的资料。2.5 【问题】 数据库为我们提高了定时调用存储过程和脚本的机制,该功能通过 DBMS_JOB来实现的 请写出调用该过程的语句。 我们可以通过查看数据库中的那个试图来监控队列任务的基本情况 ? DBA_JOBS, USER_JOBS2.6 【问题】 请阅读一下代码, procedure test as begin create table test_pp (a number); insert into test

24、_pp values(1); commit;end; 如有错误之处请修改,并说明修改原因。如果没有不必作答。没有2.7【问题】 请简单说明一下建立分区表的意义。 (分区表的好处 ) 为了改善大型表的可伸缩性和可管理性 create table guestbook(id number(16) primary key, username varchar2(64), sex varchar2(2), email varchar2(256), expression varchar2(128), content varchar2(4000),time date, ip varchar2(64)parti

25、tion by range(time) (partition g_2000q4 values partition g_2001q1 values partition g_2001q2 values 以 time 字段分区,标准 分区名: g_2000q4 范围: 分区名: g_2001q1 范围: 分区名: g_2001q2 范围:less than(2001-01-01lsee than( 2001-04-01 less than(2001-07-01< 2001-01-01日 (期)> 2001-01-01 < > 2001-04-01 < 请修改上述代码,将

26、 guestbook建成一个分区表。2.8 【问题】 现在我们需要对 A 表和 B 表进行连接操作,需要关联 段和 ACCT_MONTH 字段)<0 tablespace users)<0 tablespace users )<0 tablespace users, )2001-04-012001-07-01A ,B 表的 USER_NO 字SELECT A.USER_NO,A.ACCTMOTNH,COUNT(*) FROM TEST1 A,TEST2 BWHERE A.USER_NO=B.USER_NO AND A.ACCT_MONTH=B.ACCT_MONTH 为了提高该

27、 SQL 的效率需要在 B 表上建立索引,请问应该怎么建立。写出相应 的 SQL 。 如果 B 表上在 USER_NO 上已经建立了索引,下面的查询会用到该 索引么?SELECT * FROM TEST2 BWHERE TO_NUMBER(USER_NO)= 222313;Create index B_index on B (user_no,acct_month); 用不到 因为有函数 TO_NUMBER3. Oracle问卷( Oracle 程序员应答,其他跳过)3.1 【问题】 解释一下 sum 的作用 答:求符合条件的记录某数值字段的和3.2 【问题】Table1 有两个字段, fiel

28、d1 varchar2(10)和 field2 number。 请写出向这两个表中插入 test和 100的 sql语句。答: insert into Table1 (field1,field2) values(test,100); 请写出一个 sql 语句,将 Table1中的 field1 字段的值更新成 test111: 答:update Table1 set field1=test111; 此为将 Table1表中所有记录 field1 字段 的值改为 test111update Table1 set field1=test111 where field2=100; 此为将 Table

29、1 表中 field2 字段等于 100 的记录的 field1 字段的值改为 test111 请写出一个 sql 语句,将 Table1中的数据全部选出来:答 : select field1,field2 from Table1;3.3 【问题】Delete 和 truncate的区别是什么?答: Delete删除的记录如不提交可以恢复 ,此命令不能删除回滚段中的数据 truncate 删除的记录不能恢复 ,并可删除回滚段中的数据3.4 【问题】请解释一下 varchar2 和 char的区别答: char 最大可以容纳 2000个字节 varchar2最大可以容纳 4000个字节 ,此为可

30、变长字段3.5 【问题】 解释一下 group by 的作用 答 : 此关键字的作用是将查询出的符合条件的记录集按某字段列表分组,在此过程中预查出的字段若为字符型 ,分组后只取最上面的一个 ,预为数值型将求和3.6 【问题】Order by 有什么作用答 : 此关键字的作用是将查询出符合条件的记录集按某字段列表进行排序,默认为升序(Asc),降序为: Desc3.7 【问题】Union 和 union all 有什么区别答:3.8 【问题】 Months_between的用法是什么 答 : 是在一个月份的范围内3.9 【问题】Oracle 体系结构类: 分区表有什么作用?答 :可以将表中不同的

31、字段或不同的记录存入不同的表空间 ,并且这些表空间可在 不同的物理磁盘 , 一般用于将比较大的字段如图片或文件类字段存入比较大的磁盘中 . 请解释一下 oracle 表空间答 : 表空间是一个逻辑概念 ,但属于表空间的数据文件是存在于磁盘上的物理文 件用户的数据存在于表中而表就存在于表空间中 ,一个表空间可以有多个属于自 己的数据文件 ,但一个数据文件只能属于一个表空间Oracle 中表空间和数据文件有什么关系答 : 一个表空间可以有多个属于自己的数据文件 ,但一个数据文件只能属于一个 表空间 请简单描述一下 Oracle 的体系结构答 : 主要有两大部分1. 数据库实例 ,包括 :系统全局区

32、 (SGA), 和后台进程 (数据写入进程 ,重做日志进程 , 检查点进程 ,用户监控进程等 ),实例在启动时首先到初始化参数文件中找到控制 文件,再从控制文件中找到日志文件和数据文件2. 数据库文件 ,包括:数据文件(.dbf)日志文件(.log)控制文件 (.ctl) 其中数据文件又分 系统数据文件 用户数据文件 临时数据文件和回滚数据文件 日志文件可以有多组 ,一组写满换另一组 ,在切换时有检查点进程保证数据的完整 性控制文件是二进制文件 ,最大可以为 64MPctfree 和 pctused分别指的是什么? 通用编程知识问卷(所有编程人员必做)1.1 SQL 问卷【问题】有下列两张表:

33、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.00CHARGE 表: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.0

34、04210002 21.00 22.00 23.00 24.004210003 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.00BBBB 1 100.00 31.00 32.00 33.00 34.00CCCC 1

35、250.00 0.00 0.00 0.00 0.00 其中:数据是经过 USERLIST 、 CHARGE 表进行合适的连接后以 ACCOUNT 为关键字 分组求和得到。【特别注意】电话号码 4210004 在 USERLIST 表中有一条记录,但是在 CHARGE 表中并没有记录。但结果中合同号 CCCC 具有一条记录。请写出 SQL 语句。SELECT A.ACCOUNT,SUM(ACCOUNT) AS USERS,A.RENT,B.FEE01,B.FEE02,B.FEE03,B.FEE04 FROM USERLIST A,CHARGE BWHERE B.TELEPHONE= (+)A.T

36、ELEPHONE ORDER BY ACCOUNT GROUP BY ACCOUNT1.2 翻译 将下面的文字翻译为中文:Java provides superior support for runtime error and exception handling, allowing programs to check for anomalous conditions and respond to them with minimal impact onthe normal flow of program execution. This allows error- and exception-h

37、andling code to be added easily to existing methods.答 : Java 超级程序员对运行错误和异常的捕获的句柄 ,并允许程序在正常执行条 件下检查他们 ,你可以在已经存在的方法中很简单的来添加错误和异常句柄2. Java问卷( Java 程序员应答,其他跳过)2.1 【问题】1) 简述对 Vector 类的理解,并写出常用到的对向量的增、删、插、定位及获取 长度的方法。 答:增 -add、差 -insert 定位-find2) 作用域 public,protected,private,以及不写时的区别答: public 是所有都可以访问、 pr

38、otected 同一包内可以访问、 private 是本类中可 以访问、不写默认为 protected3) ArrayList 和 Vector的区别 ,HashMap和 Hashtable的区别 答: ArrarList 存储的可以是对象的列表 而Vector存储的是 key value的形式2.2 【问题】 请给出下面一段程序的执行结果: public class Base void Iam(Base b)System.out.pirntln( “ Base;Overload ”);void Iam(Child c)System.out.println( “ Child;Overload

39、” );public static void main(String args)Base test = new Base new Base(),new Child();For(int i=0;i<TEST.LENGTH;I+) Testi.Iam(new Child();class Child extends Base void Iam(Base b) System.out.println( “ Base;Override ”);void Iam(Child c)System.out.println( “ Child;Override ” );结果: Child;Overload Child;Override2.3 【问题】 Jsp的两种跳转方式分别是什么 ?有什么区别 ?答: 1.forward 将同一请求发送到下一页面2.r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论