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 Object get(int index) 长度:public int size() 1.2 【问题】
请给出下面一段程序的执行结果: public class Base{
void 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 class Child extends Base{ void Iam(Base b){ System.out.println(“Base;Override”); } void Iam(Child c){ 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【问题】 请找出下面一段程序出现的问题,并给出合理的解决方案或者修改程序(前面的数字表示行号) 1 OutputStreamWriter out = ? 2 java.sql.Connection conn = ? 3 try { 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( 6 “select uid, name from user”); 7 while (rs.next()) 8 { 9 out.println(“ID:” + 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.createStatement(); 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 } 16try{ 17 rs.close() 18 stat.close() 19 conn.close(); 20 out.close(); 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基础题 多项选择题(在每小题的五个备选答案中选出正确答案,并将正确答案的序号填入题干后面的括号内,错选多选,漏选均不得分。) 1 c 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ad bc d ac b b c b ad abc c abd c C d abcd A,e ade 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 // false true null 都是保留字 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];