2020-03-02 20:47:30 来源:范文大全收藏下载本文
龙通科技有限公司笔试题
软件开发工程师试题A卷(Java方向) 考试说明:
1.总分:100分;考试时间:100分钟;
2.选择题为不定项选择,不全对没分,2分/题,总分50分;
3、请将答案写在答题纸上;
4、请尽可能充分的给出你的理由与思路,将有利于我们对你的考评。
一、选择题(25 x 2’ = 50’)
1、一个Java程序运行从上到下的环境次序是( C )
A. 操作系统、Java程序、JRE/JVM、硬件 B. JRE/JVM、Java程序、硬件、操作系统 C. Java程序、JRE/JVM、操作系统、硬件 D. Java程序、操作系统、JRE/JVM、硬件
2、
下面代码中的第2行可以插入一行代码 ( AB )保证程序编译通过。
1、public interface A{
2、
3、} A.void method(); B.public void method(); C.static void method(); D.private void method(); E.protected void method();
3、关于异常下列描述中,错误的是( ABC )
A.异常机制可以用于流程控制
B. finally代码段在发生异常时不一定必须执行
C.
在catch代码段中可以使用return语句来返回到异常抛出点
D.
可以把catch到的异常对象再次抛出,使上层try—catch结构继续处理该异常事件
4、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C )
A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B. 可以被两种类访问和引用:该类本身、该类的所有子类 C. 只能被该类自身所访问和修改 D. 只能被同一个包中的类访问
5、某类Example的main()方法参数为args,当命令行中输入Java Example cat时,args[0]的值为( A )。
A. cat
B. Java
C. example
D. null
6、下面关于Thread类提供的线程控制方法的说法中,错误的是( D )
A. 在线程A中执行现成B的join方法,则线程A等待直到线程B执行完成。 B. 线程A通过调用iterrupt方法来中断其阻塞状态
C. 若线程A调用方法isAlive返回值为true,则说明A正在执行中
1/10
龙通科技有限公司笔试题
D. currentThread方法返回当前线程的引用
7、类Test1定义如下:
1.public cla Test1{ 2.
3.
4.}
将以下哪种方法插入行3是不合法的。( B )
A. public float aMethod(float a, float b,float c){ } B. public float aMethod(float c,float d){ } C. public int aMethod(int a, int b){ } D. private float aMethod(int a,int b,int c){ }
8、下面程序的输出结果是( C ) private static void foo() { try { System.out.println(\"try\"); foo(); } catch (Throwable e) { System.out.println(\"catch\"); foo(); } finally { System.out.println(\"finally\"); foo(); } }
public static void main(String[] args) { foo(); } A.执行一段时间后报栈溢出。 B.会一直输出“try”。
C.会一直输出“try”和“finally”。 D.会一直输出“try”、“catch”和“finally”
9、下面的哪些程序片断可能导致错误?( BD ) A.String s = \"Gone with the wind\"; String t = \" good \"; String k = s + t;
B.String s = \"Gone with the wind\"; String t; t = s[3] + \"one\";
C.String s = \"Gone with the wind\"; String standard = s.toUpperCase();
2/10
public float aMethod(float a,float b){ }
龙通科技有限公司笔试题
D.String s = \"home directory\"; String t = s - \"directory\";
10、已知如下代码:
1: cla Example{ 2: String str; 3: public Example(){ 4: str= \"example\"; 5: } 6: public Example(String s){ 7: str=s; 8: } 9:} 10: cla Demo extends Example{ 11: } 12: public cla Test{ 13: public void f () { 14: Example ex = new Example(\"Good\"); 15: Demo d = new Demo(\"Good\"); 16: } } 哪句语句会导致错误?( E ) A、line 3 B、line 6 C、line 10 D、line 14 E、line 15
11、下面的代码中第4行创建的对象在什么时候符合垃圾回收的条件(
1、cla Bar { }
2、cla Test {
3、Bar doBar() {
4、Bar b = new Bar();
5、return b;
6、}
7、public static void main (String args[]) {
8、Test t = new Test();
9、Bar newBar = t.doBar();
10、 newBar = new Bar();
11、 }
12、} A.程序运行第9行之后。 B.程序运行第10行之后。 C.doBar方法运行结束之后。
3/10
) B
龙通科技有限公司笔试题
D.main方法运行结束之后。
12、下列关于for循环和while循环的说法中哪个是正确的?( A )
A.while循环能实现的操作,for循环也都能实现
B. while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果 C. 两种循环任何时候都可替换
D. 两种循环结构中都必须有循环体,循环体不能为空
13、下述说法中,错误的是( D ) A.Java中,方法的重载是指多个方法可以共享同一个名字 B.Java中,用abstract修饰的类称为抽象类,它不能实例化 C.Java中,接口不包含成员变量和方法实现 D.Java中,构造方法可以有返回值
14、下面哪些是正确的( AEF )
11.cla ClaA {}
22.ClaB p1 = new ClaB(); 23.ClaC p2 = new ClaC(); 24.ClaA p3 = new ClaB(); 25.ClaA p4 = new ClaC(); 12.cla ClaB extends ClaA {} 13.cla ClaC extends ClaA {} and:
21.ClaA p0 = new ClaA(); A.p0 = p1;
15、以下代码片段,正确的结果是:( D )
11.claA {
12.public void proce() { System.out.print(”A,”); } } 13.cla B extends A { 15.super.proce(); 16.System.out.print(”B,”); 17.throw new IOException(); 18.} }
19.public static void main(String[] args) { 20.try { new B().proce(); } 21.catch (IOException e) { 22.System.out.println(”Exception”); } }
A.Exception B.A,B,Exception C.Compilation fails because of an error in line 20.D.Compilation fails because of an error in line 14.E.A NullPointerException is thrown at runtime.
4/10
14.public void proce() throws IOException { B.p1 =p2;
C.p2 = p4;
F.p2 = (ClaC)p4; D.p2 = (ClaC)p1; E.p1 = (ClaB)p3;
龙通科技有限公司笔试题
16、设栈最大长度为3,入栈顺序为1,2,3,4,5,6,则不可能的出栈序列是( C )
A.1,2,3,4,5,6 B.2,1,3,4,5,6 C.3,4,2,1,5,6 D.4,3,2,1,5,6
17、设有98个已排序列元素,采用二分法查找时,最大比较次数是( D )
A.49 B.15 C.20 D.7
18、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( B )
A.9 B.11 C.15 D.不确定
19、若一个栈的输入序列为1,2,3,„,n,输出序列的第一个元素是i,则第j个输出元素是( D )。 A.i-j-1 B.i-j C.j-i+1 D.不确定的
二、程序改错(5 * 2’ = 10’) 1.---- public cla Unbelievable { static Integer i; public static void main(String[] args) {
} } if (i == 42) System.out.println(\"Unbelievable\"); 答:此题会出NullPointException,原因是i是Integer类型,没有给i赋值
2.——————————————————————————————————
cla Animal {
} cla Dog extends Animal {
} cla Cat extends Animal {
public String noise() { return \"meow\";
5/10
public String noise() { } return \"bark\"; public String noise() { } return \"peep\";
龙通科技有限公司笔试题
} public cla Test {
} 答:此题会出ClaCastException 原因是Cat cat = (Cat) animal;强制转换出错,animal指向的是Dog()而Dog并不是Cat的父子类关系,好比方说猫和狗都是动物类型,在这里你是想将狗转换成猫肯定是行不通的.public static void main(String[] args) {
} Animal animal = new Dog(); Cat cat = (Cat) animal; cat.noise(); } 3.——————————————————————————————————————
abstract cla Something { } 答:抽象类中的抽象方法不能是private修饰的,因为抽象方法必须要被实现 public cla Something {
} cla Other { } 答:没有错 public int i; public static void main(String[] args) {
} public void addOne(final Other o) { } o.i++; Other o = new Other(); new Something().addOne(o); private abstract String doSomething();
4.——————————————————————————————————————
5.——————————————————————————————————————
cla Something {
}
答:该题错误在final int i ,final修饰的变量一定要在声明的时候初始化,可以改成 final int i = 1; final int i; public void doSomething() { } System.out.println(\"i = \" + i); 6
人人范文网 m.inrrp.com.cn 手机版