湖南龙通软件开发工程师试题A(JAVA方向)_软件开发工程师试题
湖南龙通软件开发工程师试题A(JAVA方向)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件开发工程师试题”。
龙通科技有限公司笔试题
软件开发工程师试题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,617、设有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