愛奇藝2020校招Java方向筆試題(第二場)

1. 以下關於synchronized描述不正確的是(C

A. 當一個線程訪問某對象的synchronized方法或者synchronized代碼塊時,其他線程對該對象的該synchronized方法或者synchronized代碼塊的訪問將被阻塞
B. 當一個線程訪問某對象的synchronized方法或者synchronized代碼塊時,其他線程仍然可以訪問該對象的非同步代碼塊
C. 當一個線程訪問某對象的synchronized方法或者synchronized代碼塊時,其他線程可以訪問該對象的其他的synchronized方法或者synchronized代碼塊
D. 當在對象上調用其任意synchronized方法的時候,對象都被加鎖

解析:
當一個線程正在訪問一個對象的synchronized方法,那麼其他線程不能訪問該對象的其他synchronized方法,因爲一個對象只有一把鎖
https://blog.csdn.net/qq_27712229/article/details/86749324

2. 下列關於時間複雜度的計算說法不正確的是(D

A. for/while循環時間計算爲循環體內計算時間與循環次數計算的乘積
B. 嵌套循環爲循環體內計算時間與所有循環次數的乘積
C. 順序語句爲各語句計算時間的和
D. if-else語句爲if語句計算時間與else語句計算時間的和

解析:
if和else只有一個會成立

3. 設n位同學從左到右依次編號爲1, 2, …, n,合唱隊形需使隊列滿足T1<T2<…<Ti>…Tn-1>Tn 現已知有10個學生的身高(釐米)爲:150、172、163、180、178、160、172、154、165、158,計算他們所組成的最長合唱隊隊形的長度爲多少(C

A. 5
B. 6
C. 7
D. 8

解析:
150、172(163)、180、178、172、165、158

4. 如果在帶權有向圖中,用頂點表示事件,用有向邊表示活動,邊上的權值表示活動的開銷,則此帶權有向圖稱爲AOE網。AOE網是一個有向無環圖,AOE網如下圖所示,則關鍵路徑(即路徑長度最長)的長度爲(B

在這裏插入圖片描述
A. 21
B. 23
C. 24
D. 13

解析:
V1-V3-V4-V7-V9
2+5+7+9 = 23

5. 關於隊列,下列說法錯誤的是(C

A. 允許插入的一端稱爲隊尾
B. 在非空循環隊列中,隊頭指針指向當前的隊頭元素
C. 入隊操作是在隊頭執行的
D. 允許刪除的一端稱爲隊頭

解析:
隊列在隊尾入隊

6. 有如圖所示的二叉樹,E結點的前輩結點有(A B C

在這裏插入圖片描述
A. A
B. B
C. C
D. D

解析:
深度小於目標節點深度的都是目標節點的前輩節點

7. 關於結點樹相同的折半判定樹和完全二叉樹,以下說法正確的是(A

A. 折半判定樹的高度與完全二叉樹高度一致
B. 折半判定樹的高度比完全二叉樹高度大
C. 折半判定樹的高度比完全二叉樹高度小
D. 折半判定樹的高度與完全二叉樹高度沒有關係

解析:
高度都爲log2n向上取整

8. 多個ALOHA用戶每秒產生60個請求,時間槽單位爲20ms,則首次成功發送的概率爲多少(D

A. 0.167
B. 0.05
C. 0.1
D. 0.3

解析:
在這裏插入圖片描述
現在時槽長度爲20ms,則每秒50個時槽,產生60個請求,所以每個時槽產生1.2個請求,則G=1.2,因此首次嘗試成功的概率是e-1.2

9. 在Linux內核中,創建一個文件操作可以使用(A

A. fopen
B. open
C. write
D. create

解析:
Linux內核中的文件操作基於C,C的文件創建是fopen。fp=fopen(“文件名”,“打開方式”)

10. MyISAM引擎的表tg_user,主鍵爲tg_id,tg_email是允許爲空的列,下列能正確統計出該表記錄數的語句是(A B D

A. SELECT count(*) FROM `tg_user`
B. SELECT count(tg_id) FROM `tg_user`
C. SELECT count( tg_email ) FROM `tg_user`
D. SELECT count(1) FROM `tg_user`

解析:
tg_email是允許爲空的,所以統計記錄數會少於正確值

11. 在解決漢諾塔問題時,可使用哪種數據結構進行設計(A

A. 棧
B. 數組
C. 隊列
D. 二叉樹

解析:
先進後出

12. 下面關於wait()和sleep()兩個方法描述錯誤的是(D

A. wait()方法屬於Object的方法,而sleep()方法屬於Thread類的方法
B. wait()方法可以有參數,也可以無參數;sleep()方法必須要傳入long的參數
C. 兩個方法都需要InterruptedException異常處理
D. wait()無參方法調用後,線程阻塞。需要其他線程只能使用notify()方法才能喚醒。而sleep()可以在時間到後醒來繼續運行

解析:
可以調用notify()方法或者notifyAll()方法通知正在等待的其他線程
https://blog.csdn.net/qiuchaoxi/article/details/79837568

13. 有如下抽象類,則描述正確的是:(D
public abstract class Animal {
  public  void move()
  {
   System.out.println("the animal can move...");
  }
  abstract void show();
}

A. 該抽象類中不能定義實例方法move.
B. 該抽象類可以被實例化。
C. 該抽象類不能被繼承。
D. 該抽象類的子類對象要調用show方法,必須對Animal中的show方法進行重寫。

解析:
抽象類可以包括實例方法,不能被實例化,可以通過子類繼承來實現抽象類中的抽象方法

14. 假設當前時間是2018-08-20,晚上19:08,星期一,則下面代碼輸出爲:(B
public class Test {   
   public static void main(String[] args) {   
    Date date=new Date();
    System.out.printf("%tD%n",date);   
     }   
   }    
    

A. 2018/8/20
B. 08/20/18
C. 2018/8/20 19:08:00
D. 08/20/18 19:08:00

解析:
https://blog.csdn.net/love_caicai/article/details/82698244

15. 閱讀下列代碼(B D
  public class test
 {
     public static void main(String []args)
     {
         char ch1=97;
         char ch2='a';
         System.out.println(" ch1="+ch1);
         System.out.println(" ch2="+ch2);
     }
}

A. ch1=97 ch2=97
B. ch1=a ch2=a
C. ch1=97 ch2=a
D. ch1=‘a’ ch2=‘a’

解析:
字符串輸出自動把char中的數字轉換成對應的ASCII碼

16. 有下列方法:
boolean checkValue( int num )
{
    int d1,d2,d3;
    int checkNum, nRemain, rem;
     
    checkNum = num % 10;
    nRemain = num /10;
    d3 = nRemain % 10;
    nRemain /= 10;
    d2 = nRemain % 10;
    nRemain /= 10;
    d1 = nRemain % 10;
    rem = (d1 + d2 + d3) % 7;
    return rem == checkNum;
}
調用此方法如下:
boolean bOK = checkValue(value);
value取下面那些值時,bOK的值爲true?(A C

A. 6144
B. 5073
C. 4831
D. 8300

解析:
該程序計算倒數2-4位上每位的和,並對7取模。 用取模之後的值與倒數第1位的值進行比較

17. 以下關於靜態方法和靜態變量,說法正確的是(A C D

A. 靜態方法不能調用實例方法或引用一個實例變量
B. 實例方法不能調用靜態方法或引用一個靜態變量
C. 靜態方法可以互相調用
D. 實例方法可以任意調用方法

解析:
靜態方法和靜態變量在實例方法和實例變量之前產生,因此靜態不能調用實例,實例可以調用靜態。同時實例可以調用其他實例

18. 下面關於try-catch-finally語句塊,描述正確的是(B D

A. catch可以和final單獨使用
B. try可以和catch單獨使用
C. try-catch-final塊中的語句都可以被執行
D. 如果try中的語句拋出異常,程序會跳過try塊中剩餘的語句,開始查找處理這個異常的代碼

19. 調用者發出消息後,必須等待消息處理結束返回後,才能進行後續操作的是(C

A. 返回消息
B. 簡單消息
C. 同步消息
D. 異步消息

等待消息處理 - 同步
不等待消息處理 - 異步

20. 下圖的UML類結構圖表示的是哪種設計模式?(A

在這裏插入圖片描述
A. 備忘錄模式
B. 適配器模式
C. 工廠方法模式
D. 抽象工廠模式

解析:
參考鏈接:https://www.runoob.com/design-pattern/design-pattern-tutorial.html

21. 請問下圖的UML是什麼設計模式?(B

A. 模板方法模式
B. 責任鏈模式
C. 迭代器模式
D. 命令模式

解析:
參考鏈接:https://www.runoob.com/design-pattern/design-pattern-tutorial.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章