不愧是騰訊天美,面的賊細(xì)!
今天分享一位同學(xué)的騰訊天美面經(jīng),對(duì)的就是那個(gè)王者榮耀部門的天美,問的問題很細(xì)節(jié),會(huì)追著基礎(chǔ)問題一直深問,直到你不會(huì),才會(huì)換話題,主要注重計(jì)算機(jī)基礎(chǔ),操作系統(tǒng)這方面了。
面試題
-
說一下你的認(rèn)識(shí)和傾向,對(duì)哪些感興趣,想從事什么
-
這個(gè)一來我就懵逼了,就說自己目前還是比較喜歡開發(fā),加上研究生期間基本也都是開發(fā),所以比較傾向于后臺(tái)開發(fā)方向。
-
說一下你學(xué)習(xí)了那些課程
-
編程語(yǔ)言,數(shù)據(jù)庫(kù),計(jì)網(wǎng)等 -
說一下操作系統(tǒng)中虛擬內(nèi)存的實(shí)現(xiàn)和為什么要使用虛擬內(nèi)存
-
實(shí)現(xiàn):操作系統(tǒng)給進(jìn)程提供虛擬內(nèi)存的地址,進(jìn)程要訪問的時(shí)候由操作系統(tǒng)將虛擬地址轉(zhuǎn)換成實(shí)際的物理地址讀取數(shù)據(jù),實(shí)現(xiàn)方法有頁(yè)式、段式、段頁(yè)式
-
好處:將有限的物理內(nèi)存映射成了無限的虛擬內(nèi)存,可以滿足更多進(jìn)程的需要;避免進(jìn)程直接操作物理內(nèi)存引發(fā)的安全問題
-
說一下進(jìn)程,線程,協(xié)程
-
進(jìn)程是系統(tǒng)分配資源的最小單位,線程作為進(jìn)程的子一級(jí),是分配cpu的最小單位,而協(xié)程算是用戶態(tài)的線程,切換時(shí)不需要進(jìn)入內(nèi)核態(tài)。
-
追問:你這里提到了線程的上下文切換,上下文指什么,怎么存儲(chǔ)?
-
上下文指線程當(dāng)前執(zhí)行到那一步以及一些運(yùn)算結(jié)果,線程有自己私有的虛擬機(jī)棧和程序計(jì)數(shù)器
-
再追問:線程運(yùn)行過程中申請(qǐng)到的東西在切換時(shí)是否全部要保存,比如線程中有個(gè)循環(huán),或者聲明了很多對(duì)象,這些是否都要保存,也存在線程私有區(qū)嗎
-
(這個(gè)有些懵了)都要存,有些會(huì)存在公用的堆中(然后面試官說跳過)
-
說一下同步和異步
-
同步是指需要等待響應(yīng)后繼續(xù)后面的操作,異步是不需要等待響應(yīng),可以直接繼續(xù)后面操作。這里我舉了個(gè)讀寫例子:A發(fā)出讀寫請(qǐng)求,同步的話他要等讀寫完成后才繼續(xù)后續(xù);異步的話發(fā)出請(qǐng)求后就可以繼續(xù),等到讀寫完成后通知A或者直接將內(nèi)容發(fā)給A
-
追問:那誰來通知A,或者誰來檢查讀寫完了沒
-
由操作系統(tǒng)或者是對(duì)應(yīng)的服務(wù)方
-
再追問:但是你A怎么確定是否讀完,就算B告訴讀取完了,A也需要回過頭來檢查一次。(這一套問題沒大懂)
-
再追問:epoll有了解嗎
-
了解過,說明不清楚....(然后面試官說跳過)
-
再再追問:****硬中斷、軟中斷有了解過嗎
-
我:硬中斷:中斷發(fā)生后立即處理中斷內(nèi)容,軟中斷:中斷發(fā)生后可以稍緩再處理(完蛋)
-
查到的軟硬中斷是觸發(fā)源不一樣,硬中斷是硬件觸發(fā),軟中斷是軟件模擬觸發(fā)
-
更新:軟硬中斷是根據(jù)中斷的實(shí)現(xiàn)機(jī)制來進(jìn)行區(qū)分,硬中斷指由CPU硬件實(shí)現(xiàn)的中斷(Intel CPU中中斷、異常、INT指令都是),軟中斷是指由軟件實(shí)現(xiàn)的,常見如linux系統(tǒng)中守護(hù)進(jìn)程來實(shí)現(xiàn)
-
軟中斷是為了解決中斷處理時(shí)間過長(zhǎng)和中斷丟失的問題。常見用來延遲處理硬中斷未完成的工作
-
說一下TCP和UDP的區(qū)別
-
TCP是有鏈接的可靠交付,UDP是無連接的盡最大努力交付
-
追問:說明下有無鏈接的體現(xiàn)
-
TCP在通信時(shí)需要通過三次招收建立鏈接,通信完成后需要通過四次揮手?jǐn)嚅_鏈接;而UDP是直接將報(bào)文發(fā)出
-
數(shù)據(jù)競(jìng)爭(zhēng)有了解過嗎
-
(沒有)猜的是多線程數(shù)據(jù)讀寫導(dǎo)致的問題,如多個(gè)線程執(zhí)行i++ -
棧幀是什么,如何計(jì)算長(zhǎng)度,匯編語(yǔ)言中sp寄存器、bp寄存器還記得嗎
-
像函數(shù)調(diào)用或遞歸的時(shí)候,會(huì)將原本的數(shù)據(jù)壓入棧中,就是一個(gè)棧幀。(感覺這個(gè)也說的很混亂,后面的長(zhǎng)度計(jì)算和寄存器都不知道了) -
說一下你了解的排序算法,穩(wěn)定性,什么時(shí)候選擇穩(wěn)定的排序
-
選擇、冒泡,歸并,基數(shù)排序,快排,穩(wěn)定性是指排序之后先前在前面的元素還是在前面,(開始謅)選擇穩(wěn)定的排序算法是元素的起始順序?qū)竺娴牟僮饔幸饬x,不能隨意打亂。 -
手撕,合并區(qū)間問題,輸入若干開始結(jié)束時(shí)間段,將有重疊的覆蓋在一起
-
先說思路,按開始時(shí)間對(duì)二元組們進(jìn)行排序,之后就遍歷合并 -
算法寫完了,但是本地ide卡輸入輸出了,調(diào)試過程中面試官指出了一個(gè)問題。然后這時(shí)已經(jīng)一個(gè)小時(shí)了,就沒繼續(xù)讓跑了 -
說一下你近期遇到的困難
-
30所項(xiàng)目問題,對(duì)方在驗(yàn)收后又提出了很多原本設(shè)計(jì)上沒有考慮的需求,最后經(jīng)過協(xié)商和其他系統(tǒng)合作勉強(qiáng)達(dá)到了要求 -
說一下你的未來2-3年的規(guī)劃****(我問具體指什么規(guī)劃,面試官說什么都行,工作,生活都行)
-
提升自己技術(shù),見識(shí)和學(xué)習(xí)更多主流和前言的技術(shù) -
生活上更加規(guī)律
反問
-
后臺(tái)開發(fā)負(fù)責(zé)內(nèi)容 -
技術(shù)棧 -
學(xué)習(xí)建議
面試總結(jié)
感覺
-
很久沒有面試了,上次面試還是電話面,感覺還是有些緊張,不能穩(wěn)定清晰的表述自己的內(nèi)容 -
問了很多基礎(chǔ)但又深入的問題,不少還是拿不準(zhǔn)
不足之處
-
感覺被面試官牽著走,老是被帶到說不清楚的問題然后尷尬收?qǐng)? -
未來規(guī)劃感覺經(jīng)常被問,但是也沒有什么好的回答
