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

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

在其餘狀況不明確的狀況下,沒法判斷兩個進程是否僅須要這一個資源就能完成,若是須要其餘的資源,而資源被另一個進程所持有,就有可能發生死鎖。線程

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

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

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

3.實現原子加操做內存

鎖總線,資源

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

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

 信號量,至關於一個計數器,每當一個進程使用一個資源,信號量-1;進程釋放一個資源,信號量+1;當信號量爲0時,進程沒法使用該資源。ast

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

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

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)其他我真的不知道去哪查了。。。知道的能夠回覆我啊。

相關文章
相關標籤/搜索