电竞比分网-中国电竞赛事及体育赛事平台

分享

騰訊后臺(tái)開發(fā)面試總結(jié)!! (轉(zhuǎn)載)

 幸福的樂土 2012-08-03

前段時(shí)間專心面過騰訊,經(jīng)過了N輪的技術(shù)面,結(jié)果還是掛了,但沒掛在技術(shù)面,比較欣慰,回來之后寫一點(diǎn)總結(jié),以供有夢(mèng)想進(jìn)入騰訊做后臺(tái)服務(wù)器開發(fā)的同學(xué)參考,本文章為胡成精心總結(jié),胡成原創(chuàng),copy和轉(zhuǎn)載請(qǐng)通知。ps:()之內(nèi)的文字由作者點(diǎn)評(píng),非面試題文字。

linux和os:

netstat tcpdump ipcs ipcrm (如果這四個(gè)命令沒聽說過或者不能熟練使用,基本上可以回家,通過的概率較小 ^_^ ,這四個(gè)命令的熟練掌握程度基本上能體現(xiàn)面試者實(shí)際開發(fā)和調(diào)試程序的經(jīng)驗(yàn))

cpu 內(nèi)存 硬盤 等等與系統(tǒng)性能調(diào)試相關(guān)的命令必須熟練掌握,設(shè)置修改權(quán)限 tcp網(wǎng)絡(luò)狀態(tài)查看 各進(jìn)程狀態(tài) 抓包相關(guān)等相關(guān)命令 必須熟練掌握

awk sed需掌握

共享內(nèi)存的使用實(shí)現(xiàn)原理(必考必問,然后共享內(nèi)存段被映射進(jìn)進(jìn)程空間之后,存在于進(jìn)程空間的什么位置?共享內(nèi)存段最大限制是多少?)

c++進(jìn)程內(nèi)存空間分布(注意各部分的內(nèi)存地址誰(shuí)高誰(shuí)低,注意棧從高道低分配,堆從低到高分配)

ELF是什么?其大小與程序中全局變量的是否初始化有什么關(guān)系(注意.bss段)

使用過哪些進(jìn)程間通訊機(jī)制,并詳細(xì)說明(重點(diǎn))

makefile編寫,雖然比較基礎(chǔ),但是會(huì)被問到

gdb調(diào)試相關(guān)的經(jīng)驗(yàn),會(huì)被問到

如何定位內(nèi)存泄露?

動(dòng)態(tài)鏈接和靜態(tài)鏈接的區(qū)別

32位系統(tǒng)一個(gè)進(jìn)程最多多少堆內(nèi)存

多線程和多進(jìn)程的區(qū)別(重點(diǎn) 面試官最最關(guān)心的一個(gè)問題,必須從cpu調(diào)度,上下文切換,數(shù)據(jù)共享,多核cup利用率,資源占用,等等各方面回答,然后有一個(gè)問題必須會(huì)被問到:哪些東西是一個(gè)線程私有的?答案中必須包含寄存器,否則悲催)

寫一個(gè)c程序辨別系統(tǒng)是64位 or 32位

寫一個(gè)c程序辨別系統(tǒng)是大端or小端字節(jié)序

信號(hào):列出常見的信號(hào),信號(hào)怎么處理?

i++是否原子操作?并解釋為什么???????

說出你所知道的各類linux系統(tǒng)的各類同步機(jī)制(重點(diǎn)),什么是死鎖?如何避免死鎖(每個(gè)技術(shù)面試官必問)

列舉說明linux系統(tǒng)的各類異步機(jī)制

exit() _exit()的區(qū)別?

如何實(shí)現(xiàn)守護(hù)進(jìn)程?

linux的內(nèi)存管理機(jī)制是什么?

linux的任務(wù)調(diào)度機(jī)制是什么?

標(biāo)準(zhǔn)庫(kù)函數(shù)和系統(tǒng)調(diào)用的區(qū)別?

補(bǔ)充一個(gè)坑爹坑爹坑爹坑爹的問題:系統(tǒng)如何將一個(gè)信號(hào)通知到進(jìn)程?(這一題哥沒有答出來)

c語(yǔ)言:

宏定義和展開(必須精通)

位操作(必須精通)

指針操作和計(jì)算(必須精通)

內(nèi)存分配(必須精通)

sizeof必考

各類庫(kù)函數(shù)必須非常熟練的實(shí)現(xiàn)

哪些庫(kù)函數(shù)屬于高危函數(shù),為什么?(strcpy等等)

c++:

一個(gè)String類的完整實(shí)現(xiàn)必須很快速寫出來(注意:賦值構(gòu)造,operator=是關(guān)鍵)

虛函數(shù)的作用和實(shí)現(xiàn)原理(必問必考,實(shí)現(xiàn)原理必須很熟)

sizeof一個(gè)類求大?。ㄗ⒁獬蓡T變量,函數(shù),虛函數(shù),繼承等等對(duì)大小的影響)

指針和引用的區(qū)別(一般都會(huì)問到)

多重類構(gòu)造和析構(gòu)的順序

stl各容器的實(shí)現(xiàn)原理(必考)

extern c 是干啥的,(必須將編譯器的函數(shù)名修飾的機(jī)制解答的很透徹)

volatile是干啥用的,(必須將cpu的寄存器緩存機(jī)制回答的很透徹)

static const等等的用法,(能說出越多越好)

數(shù)據(jù)結(jié)構(gòu)或者算法:

《離散數(shù)學(xué)》范圍內(nèi)的一切問題皆由可能被深入問到(這個(gè)最坑爹,最重要,最體現(xiàn)功底,最能加分,特別是各類樹結(jié)構(gòu)的實(shí)現(xiàn)和應(yīng)用)

各類排序:大根堆的實(shí)現(xiàn),快排(如何避免最糟糕的狀態(tài)?),bitmap的運(yùn)用等等

hash, 任何一個(gè)技術(shù)面試官必問(例如為什么一般hashtable的桶數(shù)會(huì)取一個(gè)素?cái)?shù)?如何有效避免hash結(jié)果值的碰撞)

網(wǎng)絡(luò)編程:

tcp與udp的區(qū)別(必問)

udp調(diào)用connect有什么作用?

tcp連接中時(shí)序圖,狀態(tài)圖,必須非常非常熟練

socket服務(wù)端的實(shí)現(xiàn),select和epoll的區(qū)別(必問)

epoll哪些觸發(fā)模式,有啥區(qū)別?(必須非常詳盡的解釋水平觸發(fā)和邊緣觸發(fā)的區(qū)別,以及邊緣觸發(fā)在編程中要做哪些更多的確認(rèn))

大規(guī)模連接上來,并發(fā)模型怎么設(shè)計(jì)

tcp結(jié)束連接怎么握手,time_wait狀態(tài)是什么,為什么會(huì)有time_wait狀態(tài)?哪一方會(huì)有time_wait狀態(tài),如何避免time_wait狀態(tài)占用資源(必須回答的詳細(xì))

tcp頭多少字節(jié)?哪些字段?(必問)

什么是滑動(dòng)窗口(必問)

connect會(huì)阻塞,怎么解決?(必考必問,提示:設(shè)置非阻塞,返回之后用select檢測(cè)狀態(tài))

如果select返回可讀,結(jié)果只讀到0字節(jié),什么情況?

keepalive 是什么東東?如何使用?

列舉你所知道的tcp選項(xiàng),并說明其作用。

socket什么情況下可讀?

db:
mysql,會(huì)考sql語(yǔ)言,服務(wù)器數(shù)據(jù)庫(kù)大規(guī)模數(shù)據(jù)怎么設(shè)計(jì),db各種性能指標(biāo)

最后:補(bǔ)充一個(gè)最最重要,最最坑爹,最最有難度的一個(gè)題目:一個(gè)每秒百萬級(jí)訪問量的互聯(lián)網(wǎng)服務(wù)器,每個(gè)訪問都有數(shù)據(jù)計(jì)算和I/O操作,如果讓你設(shè)計(jì),你怎么設(shè)計(jì)?

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多