當前位置:才華齋>IT認證>SUN認證>

SUN認證考試面試題

SUN認證 閱讀(8.45K)

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的,不滿足不低的原則。看題要仔細。