一:
32位編譯器:32位系統下指針佔用4字節
char
:1個字節
char
*(即指針變量): 4個字節(32位的尋址空間是2^32, 即32個bit,也就是4個字節。同理64位編譯器)
short
int
: 2個字節
int
: 4個字節
unsigned
int
: 4個字節
float
: 4個字節
double
: 8個字節
long
: 4個字節
long
long
: 8個字節
unsigned
long
: 4個字節
64位編譯器:64位系統下指針佔用8字節
char
:1個字節
char
*(即指針變量): 8個字節
short
int
: 2個字節
int
: 4個字節
unsigned
int
: 4個字節
float
: 4個字節
double
: 8個字節
long
: 8個字節
long
long
: 8個字節
unsigned
long
: 8個字節
二:
在一個單CPU的處理機中,有P1,P3,P5三個做業,有兩個IO設備IO1,IO2,而且可以實現搶先式多任務並行工做的多道程序環境中,投入運行優先級由高到低P5,P1,P3三個做業,他們使用設備的前後順序和佔用設備的時間分別爲:P1:IO2(10ms) CPU(10ms) IO1(30ms)CPU(10ms)P3:IO1(30ms) CPU(10ms) IO2(30ms)CPU(10ms)P5:CPU(20ms) IO1(30ms) CPU(10ms) IO2(15ms)忽略其餘的時間損耗,3個做業投入到所有完成的狀況下。請問下列哪些選項爲IO2的設備利用率?
執行過程以下,注意是能夠搶佔的,因此只要先畫 p5 再畫p1最後畫p3就能夠了。字不太好看,你們見諒啊。
三:
result輸出的結果是什麼:
首先要明白變量初始化的順序是其聲明的順序,跟初始化列表中的順序無關。因此變量的初始化順序爲m_nFir(i++),m_nSec(i++),m_nThd(i++),&m_nFor(m_nThd);
i初始值爲1,因此通過初始化列表初始化之後m_nFir=1,m_nSec=2,m_nThd=3,m_nFor爲m_nThd的一個引用。
而且此時i的值爲4,構造函數中執行語句m_nThd=i後,m_nThd=4,m_nFor是它的一個引用,天然值也爲4。
輸出結果m_nFir+m_nSec+m_nThd+m_nFor=1+2+4+4=11
四:
空間複雜度:
空間複雜度(Space Complexity)是對一個算法在運行過程當中臨時佔用存儲空間大小的量度,記作S(n)=O(f(n))。
一個算法的空間複雜度只考慮在運行過程當中爲
局部變量
分配的存儲空間的大小,它包括爲參數表中
形參
變量分配的存儲空間和爲在
函數體
中定義的局部變量分配的存儲空間兩個部分。
對於移動平均算法,是計算某變量以前n個數值的算術平均,正確的說法是:
任何一個算法不一樣狀況下可能有多種解法,通常咱們以時間複雜度爲評判的話,就會用犧牲空間換時間。
這個算法最明顯的有兩種解法,
1.每次進來一個變量n,就遍歷前面n個數,而後求和,再取平均,這樣的話時間複雜度爲O(n),空間爲O(1);
2.以空間換時間:從前日後沒計算一次保留一次求和值到一個輔助空間,這樣計算下一個的時候直接取得前一個和值加上當前數,再取平均獲得當前平均,這樣的話時間複雜度爲O(1),空間爲O(n)
五:
某一速率爲100M的交換機有20個端口,其一個端口上連着一臺筆記本電腦,此電腦從迅雷上下載一部1G的電影須要的時間多是多久?
交換機爲獨佔帶寬,即
每一個端口數據經過率爲爲
最大100Mb/s。注意單位是Mb。所以
最短時間爲:
1GB/(100Mb/s)=1024MB/(12.5MB/s)=81.92s。
六:
在linux編程中,如下哪一個TCP的套接字選項與nagle算法的開啓和關閉有關?
當有一個TCP數據段不足MSS,好比要發送700Byte數據,MSS爲1460Byte的狀況。nagle算法會延遲這個數據段的發送,等待,直到有足夠的數據填充成一個完整數據段。也許有人會問,這有什麼影響呢?沒有太大的影響,整體上來講,這種措施能節省沒必要要的資源消耗。可是要發送的整體數據很小時,這種措施就是拖後腿了。好比,用戶請求一個網頁,大約十幾KB的數據,TCP先發送了八九個數據包,剩下幾百字節一直不發送,要等到另外一個RTT才發送,這時候前面發送數據的ACK已經返回了。這樣的用戶體驗是很很差的。 因此,如今不少服務器都選擇主動關閉nagle算法,由於帶寬夠大,資源消耗不是問題,速度反而是個大問題。
從上述描述中,禁用 nagle,實質就是不在延遲
TCP_NODELAY
七:
已知關係R(F,G,H,I,J)及其上的函數相關性集合,F=(F->G,J->F,HJ->I),該關係的候選關鍵字是:
由依賴關係能夠得出:J能夠推導出F,F推導出G,H和J聯合能夠推導出I,即利用H和J能夠推導出全部的字段
八:
若系統中有五臺打印機,有多個進程均須要使用兩臺,規定每一個進程一次僅容許申請一臺,則在不發生死鎖的狀況下至多容許__4____個進程參與競爭
哲學家就餐問題的副本
九:
在正方體上任取三個頂點連成三角形,則所得的三角形是直角非等腰三角形的機率爲?
共有8個頂點,總有C(8,3);
任取一頂點,過該頂點取其中一個面的對角線,僅有一條過該頂點而且垂直於該面的邊,每一個頂點共有3個面,故共有3個三角形,總數爲,8*3
以下圖A點
十:
客戶端C和服務器S之間創建一個TCP鏈接,該鏈接老是以1KB的最大段長髮送TCP段,客戶端C有足夠的數據要發送。當擁塞窗口爲16KB的時候發生超時,若是接下來的4個RTT往返時間內的TCP段的傳輸是成功的,那麼當第4個RTT時間內發送的全部TCP段都獲得了ACK時,擁塞窗口大小是:
擁塞避免和慢啓動
當擁塞發生時(超時或收到重複確認),慢啓動門限ssthresh被設置爲當前擁塞窗口cwnd大小(題目爲16)的一半,即8。同時cwnd重置爲1。新的數據被接收,則cwnd增長,規則爲ssthresh以前,
慢啓動,即cwnd指數增加;到達ssthresh以後,
擁塞避免,即cwnd加1。
十一:
TCP連接中主動斷開連接netstat觀察可能出現的狀態流轉是:
跳過FIN_WAIT_2,證實被動方也完成了數據傳輸任務,直接把ACK和FIN一塊兒發給了主動方,所以主動方從FIN_WAIT_1直接跳過FIN_WAIT_2進入TIME_WAIT
十二:
定義:linux
主鍵 -- 惟一標識一條記錄,不能有重複的,不容許爲空算法
外鍵 -- 表的外鍵是另外一表的主鍵 , 外鍵能夠有重複的 , 能夠是空值編程
索引 -- 該字段沒有重複值,但能夠有一個空值服務器
做用:函數
主鍵 -- 用來保證數據完整性spa
外鍵 -- 用來和其餘表創建聯繫用的3d
索引 -- 是提升查詢排序的速度 指針
個數:code
主鍵 -- 主鍵只能有一個orm
外鍵 -- 一個表能夠有多個外鍵
索引 -- 一個表能夠有多個惟一索引
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">