- 相關(guān)推薦
騰訊實習生招聘筆試題目以及答案
· 32 位機上根據(jù)下面的代碼,問哪些說法是正確的?
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))
·
· 問下面的數(shù)據(jù)都存放在哪些存儲區(qū)?
1. int main()
2. {
3. char *p = "hello,world";
4. return 0;
5. }
A. ... B. ... C. 棧和常量區(qū) D. 棧和堆
分析:"hello,world" 是常量,趕腳應(yīng)該就是 C 吧,應(yīng)該大家感覺都一樣。這里不涉及什么堆的事。
· 假設(shè)在一個 32 位 little endian 的機器上運行下面的程序,結(jié)果是多少?
1. #include
2. int main()
3. {
4. long long a = 1, b = 2, c = 3;
5. printf("%d %d %d\n", a, b, c);
6. return 0;
7. }
A. ... B. ... C. ... D. ...
分析:貌似問題沒有想的那么簡單。如果說運行結(jié)果,很簡單,有人是 1 0 2;有人是 1 2 3。涉及到 little/big endian 和參數(shù)入棧的問題。
· 下面哪些函數(shù)調(diào)用必須進入內(nèi)核才能完成?
A. fopen B. exit C. memcpy D. strlen
·
分析:有些無能為力。A 是要打開文件的,貌似涉及很多內(nèi)核操作;exit 是退出進程,結(jié)束進程,應(yīng)該也要深入內(nèi)核。memcpy ,me 一直猶豫用戶區(qū)的數(shù)據(jù)拷貝要不要通過內(nèi)核。strlen me 感覺關(guān)系不大。
·
· 內(nèi)存管理中的 LRU 方法是用來管理神馬的?
A. 虛擬內(nèi)存的分配 B. 虛擬內(nèi)存的釋放 C. 物理內(nèi)存的分配 D. 物理內(nèi)存的釋放
·
分析:貌似是用來管理物理塊的,后面的填空題正好有說,O__O"…
·
· 關(guān)于DMA 的說法,哪些是錯誤的?
A. DMA,Direct Memory Acess 直接存儲器訪問,使得不同速度的硬件設(shè)備可以直接通信,不通過 CPU 干預(yù);
B. DMA 訪問的時候需要從 CPU 那里奪得總線控制權(quán),然后...
C. DMA 速度快;
D. DMA 不需要中斷控制,...
·
· 死鎖發(fā)生的必要條件?
A. 互斥條件 B. 請求和保持 C. 不可剝奪 D. 循環(huán)等待
·
分析:ABCD 就是死鎖的四個必要條件,操作系統(tǒng)書上貌似說的很明確。
·
· 有兩個線程,最初 n=0,一個線程執(zhí)行 n++; n++; 另一個執(zhí)行 n+=2; 問,最后可能的 n 值?
A. 1 B. 2 C. 3 D. 4
·
分 析:D 順序執(zhí)行以下,就可以。B 的話,讓后面一個執(zhí)行到+2,但不要寫結(jié)果,然后前一個執(zhí)行完,然后寫結(jié)果,為 2。C 3 的話,也好分析。A 不可能!腫么可能呢?腫么可能結(jié)果只為 1 呢?兩個線程都會 +2,+1 何從談起?先 +1,然后讓后面的加法錯了,然后結(jié)果寫進去?前一個 ++n 都沒執(zhí)行的話,后一個又腫么會執(zhí)行呢?總之不可能是 1 !不可能!O__O"…(堅決不相信它可以。)
·
· 下面哪些說法正確?
A. 數(shù)組和鏈表都可以隨機訪問
B. 數(shù)組的插入和刪除可以 O(1)
C. 哈希表么法范圍檢查
D. ...
·
分 析:總之 ABD 給人的感覺是顯而易見的錯丫,有木有,所以排除法還是能用的!至于 hash 結(jié)構(gòu),確實也不可以范圍檢查,因為 key 映射為 value,根據(jù)的是 hash 函數(shù),而這個函數(shù)一般不滿足原來的單調(diào)性,實際上就不應(yīng)該滿足!因為 hash 函數(shù)的設(shè)計是要 value 的映射盡可能滴隨機、均勻!
·
· 基于比較的排序的時間復(fù)雜度下限是多少?
A. O(n) B. O(n^2) C. O(nlogn) D. ...
·
分析:貌似是數(shù)據(jù)結(jié)構(gòu)上面的一個結(jié)論,基于比較的排序的時間復(fù)雜度不能比 O(nlogn) 低,而快速排序平均復(fù)雜度就是 O(nlogn),而且常量系數(shù)更低一些。
·
· 下面圖的拓撲排序可能是?
A...
·
分析:對于知道拓撲排序的,應(yīng)該很容易作答(me 有時候在懷疑自己理解的是否正確?!)。
·
· 求 n 個數(shù)中的最大值和最小值,最少的比較次數(shù)是?
A. 4n/3 B. 2n-2 C. n-1 D. 3n/2
·
分 析:雖然 me 不知道很高深的算法,但是 me 想丫,如果是 2 1 3 4 5 6 這樣的序列,u 認為最少是多少次呢?me 感覺是 n-1 。但是,題目也許是另外一個意思,也就是對于普通的序列,求最大值和最小值,能將比較次數(shù)降到多少?(me 貌似見到過一些方法,但是忘了,O__O"…)
·
· 一棵二叉樹的先序遍歷是 f b a c d e g h,中序遍歷是 a b d c e f g h,問后序遍歷是神馬?
A. ... B. ... C. ... D. ...
·
分析:構(gòu)建二叉樹,然后看看后序遍歷是神馬?a d e c b h g f,O__O"…,突然感覺一不小心 g f 和 f g 就寫反了,me 應(yīng)該沒有吧?!
·
· 網(wǎng)卡、交換機、路由器和 UDP 分別工作網(wǎng)絡(luò)的哪些層?
A. ...
B. ...
C. ...
D. ....
·
分析:只根據(jù) UDP 在傳輸層,me 就選出答案了:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層。
·
· 子網(wǎng)掩碼 25..255.255.224 可以將網(wǎng)絡(luò) x.x.x.x 分成多少個子網(wǎng)?
A. ... B. ... C. 8 D. 32
·
分 析:224 = 128+64+32 = 1110 0000 B,me 一看,后面 5 個 0 ,就是 2^5 = 32 吧?shit !子網(wǎng)數(shù)?不是主機數(shù)丫,有沒有,O__O"…,主機數(shù)貌似還得 -2 丫,有沒有,當時 me 還奇怪來著,O__O"… x.x.x.x 貌似是個 C 類地址?這樣的話,應(yīng)該是 2 ^ 3 = 8 !
·
· TCP協(xié)議棧的定時器有哪些?
A. ... B. ... C. ... D. ...
·
分析:不會的路過。
·
· 高內(nèi)聚和低耦合,下面哪個耦合度最高?
A. 通過函數(shù)參數(shù)傳遞...
B. 一個函數(shù)修改另外一個函數(shù)中的數(shù)據(jù);
C. 通過全局變量...
D. 通過指示器...
·
分析:哭丫,me 錯了。這是軟件工程上的玩意,me 一直認為 C 比 B 耦合度高呢,O__O"…。耦合度由低到高:A --> D --> C -->B
·
· 關(guān)于訪問 http://ilovers-drupal.stor.sinaapp.com/public/field/image/000631.jpg ,下面哪些是后臺絕對不會執(zhí)行的?
A. 本地查查 DNS,是否有 sinaapp.com 的 ip;
B. 通過 cn. 查找 ip;
C. 通過 com. 查找 ip;
D. 瀏覽器發(fā)送 http get 請求;
D. 服務(wù)器回送 xxx.jpg;
·
分析:蒙也是蒙 B,O__O"…
·
· 在一個 big endian 的 32 位的計算機上,b 的結(jié)果是?(該處 1 個空)
1. unsigned int a = 0x1234;
2. char b = *((char*)&a);
分析:想不到又一個 big/little endian 的問題。這個結(jié)果,me 還比較確定寫,就是 0。uint 是 4 個字節(jié),0x1234 的完整表示是 0x 00 00 12 34,因為是 big endian,所以,所以 &(取地址) 的話,如果當字節(jié)看的話,取到了最左邊 00 字節(jié)的地址,一定要轉(zhuǎn)換成 char 看的話,值就是 0 。
· 一個有 800 個結(jié)點的完全二叉樹,問有多少個葉子結(jié)點?(該處 1 個空)
分析:雖然 me 忘記是神馬公式計算了,只感覺和 n/2 有關(guān)系。然后隨便畫了幾個試試,就可以找出來 (n+1)/2 的規(guī)律來,所以 答案是: 400。
·
· 下面 get 是求一個二維數(shù)組元素的函數(shù),請補全。( 1 個空)
1. #include
2. #include
3. #define M 3
4. #define N 4
5.
6. int get(int *a, int i, int j)
7. {
8. int v;
9. if(a == NULL || i<0 || i>=M || j<0 || j>=N) exit(1); //
10.
11. v = *(a+i*N+j); // 這里有一個空
12. return v;
13. }
14. int main()
15. {
16. int a[M[N = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
17. int v;
18.
19. v = get(a, 2, 1);
20. printf("a[2][1] == %d\n", v );
21. return 0;
22. }
分析:差點寫錯了,還好迷途知返了,O__O"…
· 補全插入排序:(有 2 個空)
1. int insert_sort(int *p, int count)
2. {
3. int i, j, tmp;
4. if(p == NULL || count < 0) return 0; //
5. for(i=1; i
6. tmp = p[i];
7. j = i-1;
8. while(j>=0 && p[j]>tmp){ // 此處判斷條件一個空
9. p[j+1]= p[j];
10. --j;
11. }
12. p[j+1] = tmp; // 此處一個空
13. }
14. return 1;
15. }
16. int main()
17. {
18. int i, a[10] ={3, 2, 1, 7, 8, 10, 4, 5, 6, 9};
19. insert_sort(a, 10);
20. for(i=0; i<10; i++)
21. printf("%d ", a[i]);
22. printf("\n");
23. return 0;
24. }
分析:me 感覺 me 的代碼還是比較工整的,u 腫么看,...
· 使用 FIFO 管理頁面請求,如果分配的物理塊 M = 3 或是 4,請求順序如下:4 3 2 1 4 3 5 4 5 3 1 2 5 1 5 1 5 5 4,問兩種情況下頁面失效的次數(shù)各是多少?( 2 個空)
分析:7 和 7,這是 me 的結(jié)果(貌似錯了?O__O"…)。現(xiàn)在是確信,自己錯了,答案是 10 和 11,me 沒有加上來就沒有命中的 3/4 次,雖然沒有頁面替換,但是確實屬于頁面失效的情況。每空 4 分,兩個 8 分,me 還有神馬好說的呢,O__O"…(大哭ing...)。
·
下面給出計算結(jié)果,如果沒有命中,就打一個 x,然后寫上頁面的值,~~~~(>_<)~~~~
· M = 3 (從上往下,從左往右看):10 次x4 x1 x5 x4x3 x4 x1x2 x3 x2M = 4 (從上往下,從左往右看):11 次x4 x5 x1x3 x4 x5x2 x3 x4x1 x2
· 一個網(wǎng)絡(luò)圖,問 Q 路由器到某個網(wǎng)絡(luò)要進行跳轉(zhuǎn)的下一個 ip 是多少?(有 1 個空)
分析:me 一下子就猶豫了,貌似趕腳也不是正確答案,就不多說了。
·
· 軟件可靠性評估的兩個指標是神馬?( 2 個空)
分析:不會的路過。
·
· 選做 1:qq 用戶有 30 億,每日的登陸、登出的記錄條數(shù)有 100 億之多,讓設(shè)計程序統(tǒng)計每天登陸人數(shù);設(shè)計程序剔除因為掉線而重復(fù)登陸的情況;設(shè)計程序求出在線人數(shù)最高的時刻。
· 選做 2:問 qq 的加好友功能可能存在的安全漏洞有哪些?
【騰訊實習生招聘筆試題目以及答案】相關(guān)文章:
2016騰訊筆試題目及答案08-19
護士招聘筆試題目及答案09-22
騰訊產(chǎn)品及游戲策劃筆試題目09-22
深創(chuàng)投實習生招聘筆試題目08-10
java筆試題目及答案07-27
外貿(mào)筆試題目及答案07-17
報社筆試題目及答案09-19
文秘筆試題目及答案08-16
編導筆試題目及答案08-16