騰訊實習生招聘筆試題目以及答案

才智咖 人氣:1.58W

· 32 位機上根據下面的程式碼,問哪些說法是正確的?

騰訊實習生招聘筆試題目以及答案

1. signed char a = 0xe0;

2. unsigned int b = a;

3. unsigned char c = a;

A. a>0 && c>0 為真 B. a == c 為真 C. b 的十六進位制表示是:0xffffffe0 D. 上面都不對

· 下面哪些選項能編譯通過?

1. int i;

2. char a[10;

3. string f();

4. string g(string &str);

A. if(!!i){f();} B. g(f()); C. a=a+1; D. g("abc");

· int a[10]; 問下面哪些不可以表示 a[1] 的地址?

A. a+sizeof(int) B. &a[0]+1 C. (int*)&a+1 D. (int*)((char*)&a+sizeof(int))

·

· 問下面的資料都存放在哪些儲存區?

1. int main()

2. {

3. char *p = "hello,world";

4. return 0;

5. }

A. ... B. ... C. 棧和常量區 D. 棧和堆

分析:"hello,world" 是常量,趕腳應該就是 C 吧,應該大家感覺都一樣。這裡不涉及什麼堆的事。

· 假設在一個 32 位 little endian 的機器上執行下面的程式,結果是多少?

1. #include

2. int main()

3. {

4. long long a = 1, b = 2, c = 3;

5. printf("%d %d %dn", a, b, c);

6. return 0;

7. }

A. ... B. ... C. ... D. ...

分析:貌似問題沒有想的那麼簡單。如果說執行結果,很簡單,有人是 1 0 2;有人是 1 2 3。涉及到 little/big endian 和引數入棧的問題。

· 下面哪些函式呼叫必須進入核心才能完成?

A. fopen B. exit C. memcpy D. strlen

·

分析:有些無能為力。A 是要開啟檔案的,貌似涉及很多核心操作;exit 是退出程序,結束程序,應該也要深入核心。memcpy ,me 一直猶豫使用者區的資料拷貝要不要通過核心。strlen me 感覺關係不大。

·

· 記憶體管理中的 LRU 方法是用來管理神馬的?

A. 虛擬記憶體的分配 B. 虛擬記憶體的釋放 C. 實體記憶體的分配 D. 實體記憶體的釋放

·

分析:貌似是用來管理物理塊的,後面的填空題正好有說,O__O"…

·

· 關於DMA 的說法,哪些是錯誤的?

A. DMA,Direct Memory Acess 直接儲存器訪問,使得不同速度的硬體裝置可以直接通訊,不通過 CPU 干預;

B. DMA 訪問的時候需要從 CPU 那裡奪得匯流排控制權,然後...

C. DMA 速度快;

D. DMA 不需要中斷控制,...

·

· 死鎖發生的必要條件?

A. 互斥條件 B. 請求和保持 C. 不可剝奪 D. 迴圈等待

·

分析:ABCD 就是死鎖的四個必要條件,作業系統書上貌似說的很明確。

·

· 有兩個執行緒,最初 n=0,一個執行緒執行 n++; n++; 另一個執行 n+=2; 問,最後可能的 n 值?

A. 1 B. 2 C. 3 D. 4

·

分 析:D 順序執行以下,就可以。B 的話,讓後面一個執行到+2,但不要寫結果,然後前一個執行完,然後寫結果,為 2。C 3 的話,也好分析。A 不可能!腫麼可能呢?腫麼可能結果只為 1 呢?兩個執行緒都會 +2,+1 何從談起?先 +1,然後讓後面的加法錯了,然後結果寫進去?前一個 ++n 都沒執行的話,後一個又腫麼會執行呢?總之不可能是 1 !不可能!O__O"…(堅決不相信它可以。)

·

· 下面哪些說法正確?

A. 陣列和連結串列都可以隨機訪問

B. 陣列的插入和刪除可以 O(1)

C. 雜湊表麼法範圍檢查

D. ...

·

分 析:總之 ABD 給人的感覺是顯而易見的錯丫,有木有,所以排除法還是能用的!至於 hash 結構,確實也不可以範圍檢查,因為 key 對映為 value,根據的是 hash 函式,而這個函式一般不滿足原來的單調性,實際上就不應該滿足!因為 hash 函式的設計是要 value 的對映儘可能滴隨機、均勻!

·

· 基於比較的排序的時間複雜度下限是多少?

A. O(n) B. O(n^2) C. O(nlogn) D. ...

·

分析:貌似是資料結構上面的一個結論,基於比較的排序的.時間複雜度不能比 O(nlogn) 低,而快速排序平均複雜度就是 O(nlogn),而且常量係數更低一些。

·

· 下面圖的拓撲排序可能是?

A...

·

分析:對於知道拓撲排序的,應該很容易作答(me 有時候在懷疑自己理解的是否正確?!)。

·

· 求 n 個數中的最大值和最小值,最少的比較次數是?

A. 4n/3 B. 2n-2 C. n-1 D. 3n/2

·

分 析:雖然 me 不知道很高深的演算法,但是 me 想丫,如果是 2 1 3 4 5 6 這樣的序列,u 認為最少是多少次呢?me 感覺是 n-1 。但是,題目也許是另外一個意思,也就是對於普通的序列,求最大值和最小值,能將比較次數降到多少?(me 貌似見到過一些方法,但是忘了,O__O"…)

·

· 一棵二元樹的先序遍歷是 f b a c d e g h,中序遍歷是 a b d c e f g h,問後序遍歷是神馬?

A. ... B. ... C. ... D. ...

·

分析:構建二元樹,然後看看後序遍歷是神馬?a d e c b h g f,O__O"…,突然感覺一不小心 g f 和 f g 就寫反了,me 應該沒有吧?!

·

· 網絡卡、交換機、路由器和 UDP 分別工作網路的哪些層?

A. ...

B. ...

C. ...

D. ....

·

分析:只根據 UDP 在傳輸層,me 就選出答案了:物理層、資料鏈路層、網路層和傳輸層。

·

· 子網掩碼 可以將網路 x.x.x.x 分成多少個子網?

A. ... B. ... C. 8 D. 32

·

分 析:224 = 128+64+32 = 1110 0000 B,me 一看,後面 5 個 0 ,就是 2^5 = 32 吧?shit !子網數?不是主機數丫,有沒有,O__O"…,主機數貌似還得 -2 丫,有沒有,當時 me 還奇怪來著,O__O"… x.x.x.x 貌似是個 C 類地址?這樣的話,應該是 2 ^ 3 = 8 !

·

· TCP協議棧的定時器有哪些?

A. ... B. ... C. ... D. ...

·

分析:不會的路過。

·

· 高內聚和低耦合,下面哪個耦合度最高?

A. 通過函式引數傳遞...