措手不及,內(nèi)推面試就開(kāi)始了,那就開(kāi)始吧,心里想著還沒(méi)準(zhǔn)備好呢,其實(shí)我知道,永遠(yuǎn)也沒(méi)有準(zhǔn)備好的時(shí)候,順其自然就是最好。
電話(huà)一面
項(xiàng)目:項(xiàng)目背景,我的工作,難點(diǎn);
計(jì)算機(jī)網(wǎng)絡(luò):Ping,Traceroute的底層實(shí)現(xiàn)方式,TTL;TCP的三次握手,四次揮手,TIME-WAIT為什么是2MSL;
操作系統(tǒng):Chrome是多進(jìn)程還是多線(xiàn)程;多進(jìn)程和多線(xiàn)程的區(qū)別,多線(xiàn)程中哪些資源是共享的,哪些是獨(dú)有的;寫(xiě)過(guò)多進(jìn)程程序嗎,談?wù)勔c(diǎn);內(nèi)存管理,Linux的5個(gè)段:BSS段,數(shù)據(jù)段,代碼段,堆,棧;
C++:虛函數(shù)的實(shí)現(xiàn)機(jī)制;deque的實(shí)現(xiàn)機(jī)制,索引管理方式;map的實(shí)現(xiàn)機(jī)制;
算法:一組數(shù),其中有一個(gè)只出現(xiàn)一次,剩下的都出現(xiàn)兩次,找出這個(gè)數(shù);一組數(shù),其中有兩個(gè)只出現(xiàn)一次,剩下的都出現(xiàn)兩次,找出這兩個(gè)數(shù);一組數(shù),其中有一個(gè)只出現(xiàn)一次,剩下的都出現(xiàn)K次,找出這個(gè)數(shù);快速排序的空間復(fù)雜度O(log n);
騰訊體育現(xiàn)場(chǎng)一面
基本功:給了一頁(yè)多代碼,讀懂并分析講解給面試官聽(tīng),涉及地址分配,lock等;
C++:char * pc = "test"; 如果把warning等級(jí)開(kāi)到最高會(huì)報(bào)什么警告;
Python:寫(xiě)一段簡(jiǎn)單的Python閉包代碼;
Linux:解釋一下KISS;
數(shù)據(jù)庫(kù):Redis用在什么場(chǎng)景,用什么數(shù)據(jù)類(lèi)型;
算法:實(shí)現(xiàn)一個(gè)函數(shù),求斐波那契數(shù)的偏移量(e.g. 1,1,2,3,5,8... 輸入1返回0,輸入2返回2,輸入5返回4,輸入6返回-1);
騰訊地圖LBS現(xiàn)場(chǎng)一面
做了一個(gè)小時(shí)試卷:1,一堆三維空間的點(diǎn),找出距離小于d的點(diǎn)對(duì);2,角度是在[0,360)之間的實(shí)數(shù),需要轉(zhuǎn)換為離得最近的45的整數(shù)倍的整形角度,如果離的一樣近,取角度高的那個(gè),模擬題,比較簡(jiǎn)單;3,地圖APP反應(yīng)的路況(暢通,擁擠等信息)與實(shí)際不一致的原因有哪些;
面試官面試:數(shù)據(jù)庫(kù)問(wèn)了MySQL的引擎;然后又是一道算法,從起點(diǎn)到終點(diǎn)有多條路徑,用路段表示,如ABCD,ABEFGH等,求這些路徑中的分叉點(diǎn)和交匯點(diǎn),這個(gè)題目其實(shí)很簡(jiǎn)單,維護(hù)兩個(gè)map,一個(gè)用來(lái)記錄某路段的前驅(qū)路段,一個(gè)用來(lái)記錄某路段的后繼路段,如果前驅(qū)有多個(gè),則說(shuō)明此路段為交匯路段,如果后繼有多個(gè),則說(shuō)明此路段為分叉路段。