面試拾遺 1

2021-05-25 02:03:02 字數 1058 閱讀 9880

本文用來把我面試時遇到的沒有弄明白的問題記錄下來。

一、資料庫的normalization與denormalization

normalization的目的之一是減少冗餘的過程,之二是方便資料庫查詢語言的使用。

什麼叫做方便資料庫查詢語言的使用呢?

也就是消除update, insertion及deletion時出現的異常。

第一正規化(1nf):

1所有的鍵的屬性(列)都已定義;

2沒有任何重複組(repeating groups),換句話說每行和每列的交匯處可以而且只

能包含乙個值,而不能包含一組值;

3所有的屬性(列)都依賴於主鍵。

第二正規化(2nf):

1該表是第一正規化的表;

2該錶不包含部分依賴。

第三正規化(3nf):

1該錶為第二正規化;

2該錶不包含傳遞依賴。

bc正規化

1該錶為第三正規化;

2設關係模式r∈1nf,如果對於r的每個函式依賴x→y,若y不屬於x,則x必含

有候選碼,那麼r∈bcnf。

3每個非平凡函式依賴的左邊必須包含鍵碼。

二、堆和棧的差別

乙個由c/c++編譯的程式占用的記憶體分為以下幾個部分 

1棧區(stack) 

由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。其操作方式類似於

資料結構中的棧。 棧給予程式設計師的的自由度小,但是快捷。

2堆區(heap) 

一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由os** 。注意它與

資料結構中的堆是兩回事,分配方式倒是類似於鍊錶。堆給予程式設計師的的自由度大

,但是較慢。

3全域性區(靜態區)(static)

全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區

域, 未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域,程式結束後

由系統釋放。

4文字常量區

常量字串就是放在這裡的,程式結束後由系統釋放。

5程式**區

存放函式體的二進位制**。 

PUPPET生產拾遺 1

目前產線伺服器數量大約高峰在1.6 1.8w臺vm bm,平時在1.2w左右,批量同步的時候會發生非常嚴重的驚群效應,有時候一台主機可能6小時都不會成功同步一次,可以做一些調整避免類似情況。版本 之前產線使用的是puppet3,相比之前puppet2來說效能已經提高了50 但在使用過puppet4之...

asp知識拾遺

最近做的乙個小 碰到了許多問題,能解決的都解決了,還有的沒辦法就找了替代的解決辦法.下面收集一下 1 在選擇了一系列的checkbox後的提交表單提交後,會獲取到name1,逗號,空格,name2,逗號,空格,結果,系統需要獲取這些值,我用了以下 實現.uname request.form user...

Linux同步拾遺

一般情況下,執行緒在主題函式退出的時候會自動終止,但同時也可以因為接收到另乙個執行緒發來的終止請求而強制終止。執行緒取消的方法是向目標執行緒發cancel訊號,但如何處理cancel訊號則由目標執行緒自己決定,或者忽略,或者立即終止,或者繼續執行到cancelation point 取消點 由不同c...