1、【软件开发工程师招聘试题一】考试时间:60分钟姓名:_成绩:_一、 单选题(共9题,每题2分)1. 对象b 最早在以下哪个选项前被垃圾回收?()public class Test5static String f()String a=hello;String b=bye;String c=b+!; /lineAString d=b;b=a; /lineBd=a; /lineCreturn c; /lineDpublic static void main(String args) String msg=f();System.out.println(msg);A. lineA B. lineB C.
2、 lineC D. lineD2. 2运行下列代码,结果如何?()class Example int milesPerGallon;int index;Example()Example(int mpg)milesPerGallon=mpg;index=0;public static void main(String args) int index;Example e = new Example(25);if(args.length0)if(argsindex.equals(Hiway)e.milesPerGallon=2;System.out.println(mpg:+e.milesPerGa
3、llon);这段代码通过编译,并且如果命令行输入”Hiway” 则显示”mpg:50” ,如果输入不是”Hiway” 则显示”mpg:25”;这段代码通过编译,并且如果命令行输入”Hiway” 则显示”mpg:50” ,如果输入不是”Hiway”则抛出ArrayIndexOutputBoundsException异常。这段代码不能通过编译,因为自动变量index没有被初始化。这段代码不能通过编译,因为milesPerGallon没有被初始化。见例子Example.java3. 3当编译如下代码时,会显示什么?()int i=1;switch(i)case 0: System.out.print
4、ln(zero);case 1: System.out.println(one);case 2: System.out.println(two);default: System.out.println(default);One B. one,default C. one,two,default D.default见例子:Test3.java4. 4当编译运行如下代码时会发生什么现象?()public class MyClasspublic static void main(String arguments ) amethod(arguments);public void amethod(Str
5、ing arguments)System.out.println(arguments);System.out.println(arguments1);Error cant make static reference to void method;Error arguments main not correctError array must include parameterAmethod must bu declared with string见例子:MyClass.java5. 5. 下列哪个语句放入/Position1 中会导致该程序编译错误?()public class Q6db8in
6、t a;int b=0;static int c;public void m()int d;int e=0;/Position1a+; B.b+; C.c+; D.d+;见例子:Q6db8.java6. 6如果想找到java中的字母v (输出2) 可以使用下列哪个代码?()A. mid(2,s); B. charAt(2); C.s.indexof(v); D indexof(s,v);7对于长度为n 的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是()A. 冒泡排序为n/2 B.冒泡排序为n C. 快速排序为n D. 快速排序为n(n-1)/2设有一个关系Student(学号
7、,姓名,系别,课程号,成绩),查询至少选修了四门课程的学生的学号,姓名及平均成绩的select语句应该是:SELECT 学号,姓名,AVG(成绩) AS 平均成绩FROM Student GROUP BY_HAVING_7. 8题中GROUP BY子句应填入的内容是()A学号B 姓名 C 系名 D 课程号8. 9题中的HAVING子句应该填入的内容是()A COUNT(DISTINCT 学号)3 B COUNT(课程号)3 C COUNT(DISTINCT 学号)=3 D COUNT(课程号)=3二、 简单题(共21题,1、2题每题3分,其余每题4分)1. Long sum(String n,
8、String m )throws Exception 求n 和 m的和。2. 设计模式:什么是设计模式,描述使用过的设计模式?3. HashMap和HashTable的区别:4. 写一个方法,实现字符串的反转,如:输入abcd,输出dcba5. Java语言如何进行异常处理,关键字throws,throw,try,catch ,finally 请举例说明?6. 描述方法的重载和多态。7. 比较两个列表中的对象,列表中保存的都是student对象,根据Student的名字作为比较关键字;和旧的列表相比,找出全部新增,修改(年龄不同),删除的列表;Public class studentStrin
9、g name;Int age;Public void compare(List oldList,List new List);import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ComTwoList List updateList = new ArrayList();List addList = new ArrayList();List deleteList = new ArrayList();public void compare(List oldList,List n
10、ewList)Iterator itold=oldList.iterator();while(itold.hasNext()Student s1=(Student)itold.next();boolean flag=false;/System.out.println(s1);Iterator itnew=newList.iterator();while(itnew.hasNext()Student s1new = (Student)itnew.next();/System.out.println(s1new);System.out.println(s1.getName().equals(s1n
11、ew.getName();System.out.println(s1.getAge()!=s1new.getAge();System.out.println(s1.getName().equals(s1new.getName()& s1.getAge()!=s1new.getAge();if(s1.getName().equals(s1new.getName()& s1.getAge()!=s1new.getAge()/s1.getName().equals(s1new.getName()/if(true)updateList.add(s1);/System.out.println(updat
12、eList);Iterator it=updateList.iterator();Student ss = new Student();while(it.hasNext()ss=(Student)it.next(); System.out.println(新旧列表相比,您更新的对象有:+ss);if(s1.getName().equals(s1new.getName()flag=true;break;if(!flag)deleteList.add(s1);public static void main(String args) ComTwoList ctl = new ComTwoList()
13、;List oldList =new ArrayList();List newList =new ArrayList();Student s1 = new Student(zhangsan,34);Student s2 = new Student(lisi,23);Student s11 = new Student(zhangsan,44);/System.out.println(s1.getAge();oldList.add(s1);oldList.add(s2);/s1.setAge(44);/System.out.println(s1.getAge();newList.add(s11);newList.add(s2);System.out.println(newList);System.out.println(oldList);c