腾讯后台开发面试总结,原创,吐血推荐!!
前段時(shí)間專心面過(guò)騰訊,經(jīng)過(guò)了N輪的技術(shù)面,結(jié)果還是掛了,但沒(méi)掛在技術(shù)面,比較欣慰,回來(lái)之后寫一點(diǎn)總結(jié),以供有夢(mèng)想進(jìn)入騰訊做后臺(tái)服務(wù)器開(kāi)發(fā)的同學(xué)參考,本文章為胡成精心總結(jié),胡成原創(chuàng),copy和轉(zhuǎn)載請(qǐng)通知。ps:()之內(nèi)的文字由作者點(diǎn)評(píng),非面試題文字。
linux和os:
netstat tcpdump ipcs ipcrm (如果這四個(gè)命令沒(méi)聽(tīng)說(shuō)過(guò)或者不能熟練使用,基本上可以回家,通過(guò)的概率較小 ^_^ ,這四個(gè)命令的熟練掌握程度基本上能體現(xiàn)面試者實(shí)際開(kāi)發(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)原理(必考必問(wèn),然后共享內(nèi)存段被映射進(jìn)進(jìn)程空間之后,存在于進(jìn)程空間的什么位置?共享內(nèi)存段最大限制是多少?)
c++進(jìn)程內(nèi)存空間分布(注意各部分的內(nèi)存地址誰(shuí)高誰(shuí)低,注意棧從高道低分配,堆從低到高分配)
ELF是什么?其大小與程序中全局變量的是否初始化有什么關(guān)系(注意.bss段)
使用過(guò)哪些進(jìn)程間通訊機(jī)制,并詳細(xì)說(shuō)明(重點(diǎn))
makefile編寫,雖然比較基礎(chǔ),但是會(huì)被問(wèn)到
gdb調(diào)試相關(guān)的經(jīng)驗(yàn),會(huì)被問(wèn)到
如何定位內(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è)問(wèn)題,必須從cpu調(diào)度,上下文切換,數(shù)據(jù)共享,多核cup利用率,資源占用,等等各方面回答,然后有一個(gè)問(wèn)題必須會(huì)被問(wèn)到:哪些東西是一個(gè)線程私有的?答案中必須包含寄存器,否則悲催)
寫一個(gè)c程序辨別系統(tǒng)是64位 or 32位
寫一個(gè)c程序辨別系統(tǒng)是大端or小端字節(jié)序
信號(hào):列出常見(jiàn)的信號(hào),信號(hào)怎么處理?
i++是否原子操作?并解釋為什么???????
說(shuō)出你所知道的各類linux系統(tǒng)的各類同步機(jī)制(重點(diǎn)),什么是死鎖?如何避免死鎖(每個(gè)技術(shù)面試官必問(wèn))
列舉說(shuō)明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è)坑爹坑爹坑爹坑爹的問(wèn)題:系統(tǒng)如何將一個(gè)信號(hào)通知到進(jìn)程?(這一題哥沒(méi)有答出來(lái))
c語(yǔ)言:
宏定義和展開(kāi)(必須精通)
位操作(必須精通)
指針操作和計(jì)算(必須精通)
內(nèi)存分配(必須精通)
sizeof必考
各類庫(kù)函數(shù)必須非常熟練的實(shí)現(xiàn)
哪些庫(kù)函數(shù)屬于高危函數(shù),為什么?(strcpy等等)
c++:
一個(gè)String類的完整實(shí)現(xiàn)必須很快速寫出來(lái)(注意:賦值構(gòu)造,operator=是關(guān)鍵)
虛函數(shù)的作用和實(shí)現(xiàn)原理(必問(wèn)必考,實(shí)現(xiàn)原理必須很熟)
sizeof一個(gè)類求大小(注意成員變量,函數(shù),虛函數(shù),繼承等等對(duì)大小的影響)
指針和引用的區(qū)別(一般都會(huì)問(wèn)到)
多重類構(gòu)造和析構(gòu)的順序
stl各容器的實(shí)現(xiàn)原理(必考)
extern c 是干啥的,(必須將編譯器的函數(shù)名修飾的機(jī)制解答的很透徹)
volatile是干啥用的,(必須將cpu的寄存器緩存機(jī)制回答的很透徹)
static const等等的用法,(能說(shuō)出越多越好)
數(shù)據(jù)結(jié)構(gòu)或者算法:
《離散數(shù)學(xué)》范圍內(nèi)的一切問(wèn)題皆由可能被深入問(wèn)到(這個(gè)最坑爹,最重要,最體現(xiàn)功底,最能加分,特別是各類樹結(jié)構(gòu)的實(shí)現(xiàn)和應(yīng)用)
各類排序:大根堆的實(shí)現(xiàn),快排(如何避免最糟糕的狀態(tài)?),bitmap的運(yùn)用等等
hash, 任何一個(gè)技術(shù)面試官必問(wèn)(例如為什么一般hashtable的桶數(shù)會(huì)取一個(gè)素?cái)?shù)?如何有效避免hash結(jié)果值的碰撞)
網(wǎng)絡(luò)編程:
tcp與udp的區(qū)別(必問(wèn))
udp調(diào)用connect有什么作用?
tcp連接中時(shí)序圖,狀態(tài)圖,必須非常非常熟練
socket服務(wù)端的實(shí)現(xiàn),select和epoll的區(qū)別(必問(wèn))
epoll哪些觸發(fā)模式,有啥區(qū)別?(必須非常詳盡的解釋水平觸發(fā)和邊緣觸發(fā)的區(qū)別,以及邊緣觸發(fā)在編程中要做哪些更多的確認(rèn))
大規(guī)模連接上來(lái),并發(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é)?哪些字段?(必問(wèn))
什么是滑動(dòng)窗口(必問(wèn))
connect會(huì)阻塞,怎么解決?(必考必問(wèn),提示:設(shè)置非阻塞,返回之后用select檢測(cè)狀態(tài))
如果select返回可讀,結(jié)果只讀到0字節(jié),什么情況?
網(wǎng)絡(luò)編程:
tcp與udp的區(qū)別(必問(wèn))
udp調(diào)用connect有什么作用?
tcp連接中時(shí)序圖,狀態(tài)圖,必須非常非常熟練
socket服務(wù)端的實(shí)現(xiàn),select和epoll的區(qū)別(必問(wèn))
epoll哪些觸發(fā)模式,有啥區(qū)別?(必須非常詳盡的解釋水平觸發(fā)和邊緣觸發(fā)的區(qū)別,以及邊緣觸發(fā)在編程中要做哪些更多的確認(rèn))
大規(guī)模連接上來(lái),并發(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é)?哪些字段?(必問(wèn))
什么是滑動(dòng)窗口(必問(wèn))
connect會(huì)阻塞,怎么解決?(必考必問(wèn),提示:設(shè)置非阻塞,返回之后用select檢測(cè)狀態(tài))
如果select返回可讀,結(jié)果只讀到0字節(jié),什么情況?
keepalive 是什么東東?如何使用?
列舉你所知道的tcp選項(xiàng),并說(shuō)明其作用。
socket什么情況下可讀?
db:
mysql,會(huì)考sql語(yǔ)言,服務(wù)器數(shù)據(jù)庫(kù)大規(guī)模數(shù)據(jù)怎么設(shè)計(jì),db各種性能指標(biāo)
最后:補(bǔ)充一個(gè)最最重要,最最坑爹,最最有難度的一個(gè)題目:一個(gè)每秒百萬(wàn)級(jí)訪問(wèn)量的互聯(lián)網(wǎng)服務(wù)器,每個(gè)訪問(wèn)都有數(shù)據(jù)計(jì)算和I/O操作,如果讓你設(shè)計(jì),你怎么設(shè)計(jì)?
轉(zhuǎn)載于:https://www.cnblogs.com/gakusei/p/4471272.html
總結(jié)
以上是生活随笔為你收集整理的腾讯后台开发面试总结,原创,吐血推荐!!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 20个简约风格网站设计作品欣赏
- 下一篇: Winodws live writer