百度筆試題

2021-04-12 22:38:59 字數 3348 閱讀 6851

一、選擇題:15分 共10題

1.    已知乙個線性表(38,25,74,63,52,48),採用的雜湊函式為hash($key)=$key mod 7,將元素雜湊到表長為7的雜湊表中儲存。請選擇後面兩種衝突解決方法分別應用在該雜湊表上進行等概率成功查詢的平均查詢長度,拉鍊法   ,線性探測法    .

a. 1.0            b. 1.5           c. 1.7           d. 2.0          e. 2.3        

f. 7/6            g. 4/3           h. 3/2

2.    需要將os緩衝區的資料重新整理到硬碟,可以呼叫的函式有(多選):

a.fflush()     b. fsync()       c. sync()        d.writev()

3.    下面哪個shell語句不能列印出使用者主目錄的路徑?

a. echo 「$home」              b. echo ~       

c. echo `$home`              d. echo $home

4.    最壞情況下,合併兩個大小為n的已排序陣列所需要的比較次數 

a.2n              b.2n-1            c.2n+1             d.2n-2

5.    乙個b類網的子網掩碼是255.255.240.0,這個子網能擁有的最大主機數是:

a. 240           b. 255            c.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

7.    記憶體的速度遠遠高於磁碟速度,所以為了解決這個矛盾,可以採用:

a 並行技術       b 虛存技術         c 緩衝技術        d 通道技術

8.    以下**列印的結果是(假設執行在i386系列計算機上):

struct 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

9.    同一程序下的執行緒可以共享以下

a. stack            b. data section

c. register set        d. thread id

10.    以下哪種操作最適合先進行排序處理? 

a 找最大、最小值                b 計算算術平均值 

c 找中間值                      d 找出現次數最多的值

二、簡答題:20分,共2題

請解釋以下各欄位基本含義: host、user-agent、accept-charset、connection、referer、cookie

2.    (14分)函式a將字串str1轉成小寫,並列印出轉化前後的字串。另外,改錯時不能改變函式的介面和主要思路。改錯時,請指出行號。

1 #include

2 #include

3 4

5 char*   str1   = "abdfljlero我們都是saf";

6 7 char*  tolower(char s)

8 15     }

16     return s;

17 }

18 19 int a()

20

三、程式設計題:30分 共1題

注意:要求提供完整**,如果可以編譯執行酌情加分。

1.    兩個已排序的整型陣列,求交集,最快演算法

輸入:兩個已排序的整型陣列(int a[m], b[n])

輸出:兩個陣列的交集

一、選擇題

1.bd

2.abc

3.a4.b

5.c6.b

7.cd

8.c9.b

10.c

二、簡答題

1.host:請求報頭域主要用於指定被請求資源的internet主機和埠號

user-agent:請求報頭域允許客戶端將它的作業系統、瀏覽器和其它屬性告訴伺服器

accept-charset:請求報頭域用於指定客戶端接受的字符集

connection:普通報頭域允許傳送指定連線的選項

referer:訪問**鏈結

cookie:在客戶的計算機上的以小文字檔案儲存資訊

2.5:由於str1指向的是常量,不允許修改,所以在此要修改為char str1="abdfljlero我們都是saf";

9:size_t i=strlen(s);

12:改為if (s[i]>='a' && s[i]<='z')

else if(a[i] < b[j])

else }

i++;

} }

int main(void)

;int b=;

getintersection(a,5,b,4);

return 0;

}四、設計題

設計思路:

利用雜湊表,正規表示式

流程說明:

1.首先讀取模板檔案(t)中的需要替換的變數,用正規表示式去匹配出現的需替換的變數。將它們儲存到list(lstneed)中。

2.定義乙個varfile的結構體陣列(設名稱為vf),讀取變數檔案,把變數檔名與該檔案下的變數對應關係儲存到該陣列中。

3.遍歷上述陣列(vf),針對lstneed中的元素,設計合適的雜湊函式,進行替換,然後寫入檔案。

偽碼:open(t);

add 需替換的變數 to lstneed

for i=1:n

open (i.v)

add i.v & 變數名和變數值 to vf

end for

遍歷vf

design hash function and then replace.

優化思路:

不必一次把所有的內容讀入記憶體,可以採用快取機制,分批讀入,然後分批寫入檔案。 

百度筆試題

一 選擇題 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的記憶體...

百度筆試題

1 完成函式 size t foo unsigned int a1,size t al1,unsigned int a2,size t al2 其中a1和a2都為無符號陣列,al1和al2為陣列的長度,陣列的長度為偶數。無符號陣列由一對數字區間組成。如下例 a1 為 0,1,3,6,10,20 a2...

百度筆試題

現在有一組共計n個固定的集合 n為萬量級 每個集合有個從0開始遞增的集合id,每個 集合包含1 m個 term m為o 100的量級 希望設計乙個程式,能夠持續對外服務,輸入是乙個term陣列,輸 出其中任意乙個集 合id 如果該term陣列包含該集合的所有term 如果找不到,輸出 1。要求 1 ...