寶蘭德大資料面試題

美食江湖發表於2020-10-10

寶蘭德

寶蘭德大資料面試題

 

答題須知:

1、筆試時間為30分鐘;

2、請保持試題整潔,將答案寫到答題紙上;

3、筆試題目請獨立完成,不要使用任何參考書,不要請其他人協助完成;

4、答題完成後,請將答題紙和試卷本身均交給工作人員。

一 單選題(每題3分)

1、下面程式碼的執行結果是()

public class Test{ 
List<String> a = null;
test(a);System.out.println(a.size());
} 
public static void test(List<String> a){
a = new ArrayList<String>();
a.add("abc");
}

A 0

B 1

C NullPointerException

D 以上都不是

 

1. 下面程式碼的執行結果是()

public class Test{
public static void main (String [] args){
int x = 2;
int y = 3;
System. out. print(xly);
System. out. print(",");
System. out. print(x&y);
System. out. print(",");
System. out. print(x^ y);
System. out. print(",");
System. out. print(ly<<x);
System. out. print(",");
System. out. print(~x);
}}

A 3,2, 1, 12,-3

B 1,1,,12,1,4

C 3,2,0,12,-5

D 2,2,1,8,-3

 

2. 下面程式碼的執行結果是()

public class Test {
public static void main (String [] args){
Test t = new Test();
System.out.println(t.value);
}}
public String value{
int a = 5;
try{
throw new Exception();
}catch{
return “a=” + a;
}finally{
a = 7;
System.out.println(“a=” + a);
}}

A a=5 b=7

B a=7 b=5

C a=5 b=5

D a=7 b=7

3. 如下程式碼實現存在何種缺陷()

try{
FilelnputStream fis  = new FilelnputStream(new File("in.dat");                FileOutputStream fos  =  new FileOutputStream(new File("out,dat");
byte[]  buffer  = new  byte[1024];
int offset = 0;  remain=0;
int ret=0;
wlile((ret =fis.read(buffer))!=0){
fos.write(buffer,0,ret);
}fis.close();fos.close();}catch(Exception e){
e.printStackTrace();}

A 不存在任何缺陷

B 出現檔案控制程式碼洩露

C 死迴圈

D 出現檔案控制程式碼洩露並且丟擲異常

5.如果我們指定了throw object:但該object不是Throwable 物件,下面說法正確的是()

A.throw 將是有效的

B.該引數將轉換為Throwable物件,然後執行該語句

C.編譯器將指出一個錯誤

D.它將引發一個異

6.下面程式碼執行的輸出結果是()

public class Parent {
       static int a= 1;
       static
       {              a = 10;
              System.out.print("1");
       }       public Parent() {
              System.out.print("2");
       }       public static void main(String[]args)
       {              System.out.print("3");
              Parent c = new Child();
       }}public class Child extends Parent {
       static int a=2;
       static{
              a=20;
              System.out.print("4");
       }       public Child(){
       }}

A . 1324

B. 1342

C. 3124

D. 3142

7.下面關手鎖的描過錯誤的是()

A.synchronized 可以給物件加鎖

B.帶有同步程式碼的程式發生異常,會釋放鎖

C.sleep()方法會釋放鎖

D.wait()方法會釋放鎖

8.已知一個多執行緒為myThread,除run方法外還包含一個方法void disp()。以下說法正確的是()

A. myThread mt = new myThread();mt.start();mt.disp();執行完執行緒體 run方法後再執行disp()方法

B. myThread mt = new my Thread();mt.disp();mt.start();執行完disp()後才能啟動執行緒體run

C. myThread mt = new myThread();mt.start();mt.disp();執行緒體run一定會在disp結束前結束

D. myThread mt = new myThread();mt.start();mt.disp();mt.start()和mt.disp()兩條命令,哪條放在前面哪條放在後面執行結果一樣。

9. 哪種引用型別適用於快取機制()

A.強引用

B.軟引用

C.弱引用

D.幽靈引用

10. 關於內部類,說法錯誤的是()

A.匿名內部類可以繼承其它類

B匿名內部類不能有建構函式

C.內部類中不允許定義靜態變數

D.內部類有一個指向其外部類物件的引用

11. Class的常量池放在哪個JVM記憶體區域()

A.新生代

B.虛擬機器棧

C.本地方法棧

D.方法區

12. 關於HotSpot垃圾回收器,下述說法錯誤的是()

A.堆分為新生代和老年代

B.新生代分為Eden和Survivor區

C.採用引用計數演算法

D.採用分代回收演算法

13.Java序列化,下述說法錯誤的是()

A. 靜態變數序列化時不儲存

B. Transient修飾的欄位序列化時不儲存

C. 其類方法的Signature改變後,子類的序列化ID發生變化

D. 反序列化後,物件的建構函式不被呼叫

14. Linux下檢視程式佔用的CPU的百分比,使用工具()

A. ps

B. cat

C. more

D. top

15.下面程式的執行結果()

public static void main(String[] args) {
              int num1 =0;
              int num2 =0;
              int num3 =0;
              int num4 =0;
              int num5 =0;
                           for (int i = 0; i < 5; i++) {
                     switch(i){
                     case 1:num1++;
                     case 2:num2++;
                     case 3:num3++;
                     case 4:num4++;
                     case 5:num5++;
                                         }              }              System.out.println(num1);
              System.out.println(num2);
              System.out.println(num3);
              System.out.println(num4);
              System.out.println(num5);
       } 

A. 4 4 4 4 4

B. 1 2 3 4 4

C. 1 1 1 1 0

D. 1 2 3 4 5

18. JVM記憶體裡的哪個區域不可能發生OutOfMemaryError?()

A 程式計數器

B 堆

C方法區

D本地方法棧

19. 下面關於阻塞佇列(java.util.concurrent.BlockingQueue)的說法不正確的是()

A 阻塞佇列是執行緒安全的

B 阻塞佇列的主要應用場景是“生產者-消費者”模型

C 阻塞隊利裡的元素不能為null

D阻塞佇列的實現必須顯式地設定容量

20.如果現在需要建立一組任務,它們並行地執行工作,然後在進行下一個步驟之前等待,直至所有任務都完成;而且這種控制可以重用多次。這種情形使用java.util.concurrent包引入的哪種同步工具最合適?()

A CountDownLatch

B CyclicBarrier

C Semaphore

D FutureTask

二、問答題

1. 在JAVA中,為什麼其型別不能作為HashMap的鍵值,而只能是引用型別,把引用型別作為HashMap的鍵值,應該注意哪些地方?(7分)

2.編寫一個工具類StringUtil,提供方法int compare(char[] v1, char[] v2) 方法,比如字串v1,v2,如果按照字元順序v1>v2則return1,v1=v2則return 0,v1<v2則return -1,(9分)

3.在多執行緒程式設計裡,wat方法的通用呼叫方式是怎樣的?(8分)

4.Java出現OutOfMemoryError(OOM錯誤)的原因有哪些?出現OOM錯誤後,怎麼解決?(16分)

大資料培訓

相關文章