2018校招金山雲筆試題目總結


金山雲筆試:
1.兩個進程爭奪同一個資源會發生死鎖嗎?(死鎖發生的四個必要條件)
(1)互斥條件:一個資源每次只能別一個進程使用。
(2)請求和保持條件:一個進程因為請求資源而阻塞時,對持有資源保持不放。
(3)不剝奪條件:在進程沒有執行完成的情況下,持有資源不會被剝奪。
(4)循環等待條件:若個進程之間因為等待資源而形成一種循環關系。

在其他情況不明確的情況下,無法判斷兩個進程是否僅需要這一個資源就能完成,如果需要其他的資源,而資源被另外一個進程所持有,就有可能發生死鎖。

2.關於寄存器和高速緩存?

 寄存器是中央處理器(cpu)的的組成部分,是有限存儲容量的高速存儲部件,可以暫存指令,數據和地址(指令寄存器(IR),程序計數器(pc),累加器(ACC))。

 Cache,位於CPU和主內存之間容量小但速度很快的存儲器,是為了彌補CPU與內存之間的運算差距而設置的部件。

3.實現原子加操作

鎖總線,

恩~~,果然不是很明白,難受。。。

4.信號量,互斥體,自旋鎖。

 信號量,相當於一個計數器,每當一個進程使用一個資源,信號量-1;進程釋放一個資源,信號量+1;當信號量為0時,進程無法使用該資源。

 互斥體,在任何線程進入臨界區之前都先獲得臨界區的互斥體,其他進程沒有獲得互斥體便不能執行。

 自旋鎖,跟互斥鎖挺像,但是未獲得執行權的進行不阻塞,而是循環請求,適應於持有鎖時間短的進程。

5.TCP中服務端和客戶端的執行完操作后的各種狀態。

 (1)三次握手時:

          客戶端:closed->syn-send->establised

          服務端:listened->syn-rcvd->establised

 (2)四次揮手時:

          客戶端:fin-wait-1->fin-wait-2->time-wait->close

          服務端:close-wait->last-ack->close

 

6.事務的隔離機制。

 (1)readunCommited 事務修改數據加了X鎖,結束后釋放。解決了更新丟失。

 (2)readCommited    在(1)的基礎上,每次事務讀數據時+S鎖,讀完(不是事務結束)釋放。解決了臟讀。

 (3)repeatableRead  在(1)的基礎上,每次事務讀數據時+S鎖,事務結束后釋放。解決了不可重復度。

 (4)serializable 事務串行執行。。。。

7.會引起全表查詢的情況。

 (1)模糊查詢:右模糊查詢,全模糊查詢一定會產生全表掃描。

 (2)查詢條件中含有 is null的select語句

 (3)其余我真的不知道去哪查了。。。知道的可以回復我啊。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM