一、選擇題:15 分 共 10 題
1. 在排序方法中,關鍵碼比較次數與記錄地初始排列無關的是:
a.shell 排序 b. 歸併排序 c. 直接插入排序 d. 選擇排序
2. 以下多執行緒對 int 型變數x的操作,哪幾個需要進行同步:
a. x=y;b. x++;c. ++x; d. x=1;
3. **
void func()
中,變數 val 的記憶體位址位於:
a.已初始化資料段 b.未初始化資料段 c.堆 d.棧
4. 同一程序下的執行緒可以共享以下:
a. stackb. data section c. register set d. thread id
5. tcp 和 ip 分別對應了 osi 中的哪幾層?
b. data link layer
c. presentation layer
d. physical layer
e. transport layer
f. session layer
g.network layer
6. short a[100],sizeof(a) 返回?
a. 2 b. 4 c. 100d. 200 e. 400
7. 以下哪種不是基於元件的開發技術_____。
a. xpcomb. xp c. com d. corba
8. 以下**列印的結果是(假設執行在 i386 系列計算機上):
字串2struct st_t
;st_t st[16];
char *p = (char *)( st[2].errstr + 32 );
printf( "%d", ( p - (char *)(st) ) );
a. 32 b. 114 c. 120 d. 1112
選擇 c,因為st[2]的起始位址比st[0]的起始位址高80位,
st[2].errstr的起始位址比st[2]的起始位址高8位
再加上32位就等於 120.
9. stl 中的哪種結構是連續形式的儲存:
a. map b. set c. listd.vector
10. 乙個棧的入棧序列是 a,b,c,d,e,則棧的不可能的輸出序列是:
a. edcba b. decbac. dceab d. abcde
二、簡答題:20 分,共 2 題
1. (5 分)重複多次 fclose 乙個開啟過一次的 file *fp 指標會有什麼結果,並請解釋。
導致 fp 所指的檔案被多次釋放, 導致不可預期的後果.
5. 乙個b類網的子網掩碼是255.255.240.0,這個子網能擁有的最大主機數是:
a. 240 b. 255c.4094 d. 65534
6. 以下**執行後,val的值是___:
unsigned long val = 0;
char a = 0x48;
char b = 0x52;
val = b << 8 | a;
a 20992 b 21064 c 72 d 0
選擇 b,b 的十進位制為 82,二進位制為 101,0010
b 左移 8 位為 101,0010,0000,0000
a 的十進位制為 72, 二進位制為 100,1000
b<<8 | a 為 21064
7. 記憶體的速度遠遠高於磁碟速度,所以為了解決這個矛盾,可以採用:
a 並行技術 b 虛存技術c緩衝技術 d 通道技術
9. 同一程序下的執行緒可以共享以下
a. stackb.data section
c. register set d. thread id
10. 以下哪種操作最適合先進行排序處理?
a找最大、最小值 b 計算算術平均值
c 找中間值 d 找出現次數最多的值
二、簡答題:20 分,共 2 題
1. (5 分)重複多次 fclose 乙個開啟過一次的 file *fp 指標會有什麼結果,並請解釋。
考察點:導致檔案描述符結構中指標指向的記憶體被重複釋放,進而導致一些不可預期的異常。
2. (15 分)下面一段**,想在呼叫 f2(1) 時列印 err1,呼叫 f2(2) 時列印 err4,但是**中有一些問題,請做盡可能少的修改使之正確。
1 static int f1( const char *errstr, unsigned int flag ) ;
45 if( flag & 0x10000 )
6 copy = 1;
7 index = ( flag & 0x300000 ) >> 20;
89 if( copy ) else
16 errstr = __err + index;
17 }
1819 void f2( int c )
30 }
三、程式設計題:30 分 共 1 題
1. 求符合指定規則的數。
給定函式 d(n) = n + n 的各位之和,n 為正整數,如 d(78) = 78+7+8=93。 這樣這個函式可以看成乙個生成器,如 93 可以看成由 78 生成。
定義數 a:數 a 找不到乙個數 b 可以由 d(b)=a,即 a 不能由其他數生成。現在要寫程式,找出 1 至 10000 裡的所有符合數 a 定義的數。
輸出:13…
四、設計題:35 分 共 1 題
注意:請盡可能詳細描述你的資料結構、系統架構、設計思路等。建議多寫一些偽**或者流程說明。
1. 假設乙個 *** 搜尋引擎收錄了 2^24 首歌曲,並記錄了可收聽這些歌曲的 2^30 條 url,但每首歌的 url 不超過 2^10 個。系統會定期檢查這些 url,如果乙個 url 不可用則不出現在搜尋結果中。現在歌曲名和 url 分別通過整型的 song_id 和 url_id 唯一確定。對該系統有如下需求:
1) 通過 song_id 搜尋一首歌的 url_id,給出 url_id 計數和列表
2) 給定乙個 song_id,為其新增乙個新的 url_id
3) 新增乙個新的 song_id
4) 給定乙個 url_id,將其置為不可用
限制條件:記憶體占用不超過 1g,單個檔案大小不超過 2g,乙個目錄下的檔案數不超過 128 個。
為獲得最佳效能,請說明設計的資料結構、搜尋演算法,以及資源消耗。如果系統資料量擴大,該如何多機分布處理?
2014百度筆試題
演算法題 給出乙個資料 a a 0,a 1,a 2,a n 其中n 可變 列印出該數值元素的所有組合。注 此題要求輸出的是所有的組合,並非所有排列。思路 陣列中的每乙個數對應乙個標誌位,將標誌位陣列中的每個元素看成是乙個只能為0或1的元素,將這個標誌位陣列從1迴圈到2 n 1,每次迭代加1,迭代過程...
2014百度筆試題
師兄給的筆試機會,一共7道題 一.基礎知識題 1.動態鏈結庫和靜態鏈結庫的優缺點 2.輪詢排程和搶占式排程的區別 3.資料庫中常用鎖和應用場景 二.演算法和程式設計題 4.乙個正整數n,求乙個不小於n的不重複數,不重複數是指相鄰兩位不同,如1101是重複數,而1091不是重複數 5.求乙個字串的最長...
2014百度校招筆試題
二 演算法與程式設計題 本題共45分 1.使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 15分 演算法實現 實現字串翻轉 char reverse str char str char begin char ...