當前位置:學問君>人在職場>IT認證>

SUN認證考試面試題

學問君 人氣:2.54W

SUN認證是給網絡設計界建立的一套認證標準,Sun公司推出了Java以及Solaris技術認證方案。以下是小編整理的關於SUN認證考試面試題,希望大家認真練習!

SUN認證考試面試題

h of the following fragments might cause errors?

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 = perCase();

D. String s = "home directory";

String t = s - "directory";

answer:(BD)這道題考察java字元串和連接符+的理解,B中s[3]是一個字元,而不能和一個字元串用連接符連起來。而D則是我們初學java時以爲有+必定有-,所以導致錯誤。java中的連接符只有一個就是+。而且字元串和字元是兩個不同的概念,我們要區分開來。

2. Given the following code fragment:

1) public void create() {

2) Vector myVect;

3) myVect = new Vector();

4) }

Which of the following statements are true?

A. The declaration on line 2 does not allocate memory space for the variable myVect.

B. The declaration on line 2 allocates memory space for a reference to a Vector object.

C. The statement on line 2 creates an object of class Vector.

D. The statement on line 3 creates an object of class Vector.

E. The statement on line 3 allocates memory space for an object of class Vector

answer:(ADE)這題考察獲得實例的內存變化。定義一個實例並不能給對象分配內存空間,系統只給定義的那個變量分配空間。只有當new 出一個對象時系統回給一個實例對象分配內存空間。

3. Which are not Java keywords?

A. TRUE

B. sizeof

C. const

D. super

E. void

answer:(AB)sizeof是c++語言的的關鍵字,不是java的,我做題的時候覺得sizeof很熟悉,想當然以爲它就是java的關鍵字,結果可想而知。

4. Which are not Java primitive(基本) types?

A. short

B. Boolean

C. unit

D. float

answer:(BC)java基本數據類型只有8個,而Boolean是引用數據類型。選錯了,關鍵是沒弄清primitive是什麼意思,汗顏啊,英語太差了。

5. Which statements about the garbage collection are true?

A. The program developer must create a thread to be responsible for free

the memory.

B. The garbage collection will check for and free memory no longer needed.

C. The garbage collection allow the program developer to explicity and

immediately free the memory.

D. The garbage collection can free the memory used java object at expect

time.

answer:(B)java垃圾自動回收機制,我們不能讓虛擬機什麼時候開始垃圾回收,垃圾回收是不受我們控制的,就算我們想要快點垃圾回收,我們只能透過一個gc()函數希望快點垃圾回收,但是程序回不回提前垃圾回收還是不知道的。所以選b。

6、Which of the following assignment is not correct?

A. float f = 11.1;

B. double d = 5.3E12;

C. double d = 3.14159;

D. double d = 3.14D.

answer:(A)記住基本數據類型中int和double都是默認的,所以a是錯的,把double轉換成float型要強制類型轉換。第一次碰到這樣的題的時候我全錯,不過現在好了。

7、Given the uncompleted code of a class:

class Person {

String name, department;

int age;

public Person(String n){ name = n; }

public Person(String n, int a){ name = n; age = a; }

public Person(String n, String d, int a) {

// doing the same as two arguments version of constructor

// including assignment name=n,age=a

department = d;

}

}

Which expression can be added at the "doing the same as..." part of the constructor?

A. Person(n,a);

B. this(Person(n,a));

C. this(n,a);

D. this(name,age).

answer:(C)這題有較大迷惑,要是不認真看,估計會選d,看看參數列表是n和a,如果選擇d的.話就錯了。

8、public void test() {

try { oneMethod();

tln("condition 1");

} catch (ArrayIndexOutOfBoundsException e) {

tln("condition 2");

} catch(Exception e) {

tln("condition 3");

} finally {

tln("finally");

}

}

Which will display if oneMethod run normally?

A. condition 1

B. condition 2

C. condition 3

D. finally

answer:(AD)finally 修飾的最終都將會執行,所以當程序正常執行,不拋出異常時,AD都將執行。

9 Given the following code fragment:

1) String str = null;

2) if ((str != null) && (th() > 10)) {

3) tln("more than 10");

4) }

5) else if ((str != null) & (th() < 5)) {

6) tln("less than 5");

7) }

8) else { tln("end"); }

Which line will cause error?

A. line 1

B. line 2

C. line 5

D. line 8

answer:(C)&&和&的區別,&是按位與計算,&兩邊的運算都要執行;&&是邏輯運算,當左邊爲假時,右邊可以不執行。當右邊執行時,可能有 (th()空指針異常)。

10、Given the following code:

public class Person{

static int arr[] = new int[10];

public static void main(String a[]) {

tln(arr[1]) ;

}

}

Which statement is correct?

A. When compilation some error will occur.

B. It is correct when compilation but will cause error when running.

C. The output is zero.

D. The output is null.

answer:(C)java數組默認初始化都爲0.

11、Given the following code:

public class Person{

int arr[] = new int[10];

public static void main(String a[]) {

tln(arr[1]);

}

}

Which statement is correct?

A. When compilation some error will occur.

B. It is correct when compilation but will cause error when running.

C. The output is zero.

D. The output is null.

answer:(A)這道題看起來跟前一個題一樣,但是仔細看的話這次的數組沒有聲明爲static,所以靜態main方法不能直接調用,所以編譯時會有錯誤。

12、Which fragments are correct in Java source file?

A. package testpackage;

public class Test{//do something...}

B. import .*;

package testpackage;

public class Test{// do something...}

C. import .*;

class Person{// do something...}

public class Test{// do something...}

D. import .*;

import .*;

public class Test{// do something...}

answer:(ACD)關於包的引用等。包必須在impotr的前面,既是包在最上面。可以沒有包的聲明。

 13:String s= "hello";

String t = "hello";

char c[] = {h,e,l,l,o} ;

Which return true?

A. ls(t);

B. ls(c);

C. s==t;

D. ls(new String("hello"));

E. t==c.

answer:(ACD)這是String,s和t沒有new 所以只是聲明瞭兩個變量,ACD都正確。

14、public class Parent {

public int addValue( int a, int b) {

int s;

s = a+b;

return s;

}

}

class Child extends Parent {

}

Which methods can be added into class Child?

A. int addValue( int a, int b ){// do something...}

B. public void addValue (){// do something...}

C. public int addValue( int a ){// do something...}

D. public int addValue( int a, int b )throws MyException {//do something...}

answer:(BC)涉及到方法的重寫和覆蓋,三同一不低,A是默認的,但是父類是public的,不滿足不低的原則。看題要仔細。