今天分享一位同學的騰訊天美面經,對的就是那個王者榮耀部門的天美,問的問題很細節,會追著基礎問題一直深問,直到你不會,才會換話題,主要注重計算機基礎,操作系統這方面了。Tf628資訊網——每日最新資訊28at.com
- 說一下操作系統中虛擬內存的實現和為什么要使用虛擬內存
Tf628資訊網——每日最新資訊28at.com
實現:操作系統給進程提供虛擬內存的地址,進程要訪問的時候由操作系統將虛擬地址轉換成實際的物理地址讀取數據,實現方法有頁式、段式、段頁式Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
好處:將有限的物理內存映射成了無限的虛擬內存,可以滿足更多進程的需要;避免進程直接操作物理內存引發的安全問題Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
說一下進程,線程,協程Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
進程是系統分配資源的最小單位,線程作為進程的子一級,是分配cpu的最小單位,而協程算是用戶態的線程,切換時不需要進入內核態。Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
追問:你這里提到了線程的上下文切換,上下文指什么,怎么存儲?Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
上下文指線程當前執行到那一步以及一些運算結果,線程有自己私有的虛擬機棧和程序計數器Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
再追問:線程運行過程中申請到的東西在切換時是否全部要保存,比如線程中有個循環,或者聲明了很多對象,這些是否都要保存,也存在線程私有區嗎Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
(這個有些懵了)都要存,有些會存在公用的堆中(然后面試官說跳過)Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
說一下同步和異步Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
同步是指需要等待響應后繼續后面的操作,異步是不需要等待響應,可以直接繼續后面操作。這里我舉了個讀寫例子:A發出讀寫請求,同步的話他要等讀寫完成后才繼續后續;異步的話發出請求后就可以繼續,等到讀寫完成后通知A或者直接將內容發給ATf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
追問:那誰來通知A,或者誰來檢查讀寫完了沒Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
由操作系統或者是對應的服務方Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
再追問:但是你A怎么確定是否讀完,就算B告訴讀取完了,A也需要回過頭來檢查一次。(這一套問題沒大懂)Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
再追問:epoll有了解嗎Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
了解過,說明不清楚....(然后面試官說跳過)Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
再再追問:****硬中斷、軟中斷有了解過嗎Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
我:硬中斷:中斷發生后立即處理中斷內容,軟中斷:中斷發生后可以稍緩再處理(完蛋)Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
查到的軟硬中斷是觸發源不一樣,硬中斷是硬件觸發,軟中斷是軟件模擬觸發Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
更新:軟硬中斷是根據中斷的實現機制來進行區分,硬中斷指由CPU硬件實現的中斷(Intel CPU中中斷、異常、INT指令都是),軟中斷是指由軟件實現的,常見如linux系統中守護進程來實現Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
軟中斷是為了解決中斷處理時間過長和中斷丟失的問題。常見用來延遲處理硬中斷未完成的工作Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
說一下TCP和UDP的區別Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
TCP是有鏈接的可靠交付,UDP是無連接的盡最大努力交付Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
追問:說明下有無鏈接的體現Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
TCP在通信時需要通過三次招收建立鏈接,通信完成后需要通過四次揮手斷開鏈接;而UDP是直接將報文發出Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
數據競爭有了解過嗎Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
(沒有)猜的是多線程數據讀寫導致的問題,如多個線程執行i++Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
棧幀是什么,如何計算長度,匯編語言中sp寄存器、bp寄存器還記得嗎Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
像函數調用或遞歸的時候,會將原本的數據壓入棧中,就是一個棧幀。(感覺這個也說的很混亂,后面的長度計算和寄存器都不知道了)Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
說一下你了解的排序算法,穩定性,什么時候選擇穩定的排序Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
選擇、冒泡,歸并,基數排序,快排,穩定性是指排序之后先前在前面的元素還是在前面,(開始謅)選擇穩定的排序算法是元素的起始順序對后面的操作有意義,不能隨意打亂。Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
手撕,合并區間問題,輸入若干開始結束時間段,將有重疊的覆蓋在一起Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
先說思路,按開始時間對二元組們進行排序,之后就遍歷合并Tf628資訊網——每日最新資訊28at.com
算法寫完了,但是本地ide卡輸入輸出了,調試過程中面試官指出了一個問題。然后這時已經一個小時了,就沒繼續讓跑了Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
說一下你近期遇到的困難Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
30所項目問題,對方在驗收后又提出了很多原本設計上沒有考慮的需求,最后經過協商和其他系統合作勉強達到了要求Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
說一下你的未來2-3年的規劃****(我問具體指什么規劃,面試官說什么都行,工作,生活都行)Tf628資訊網——每日最新資訊28at.com
Tf628資訊網——每日最新資訊28at.com
提升自己技術,見識和學習更多主流和前言的技術Tf628資訊網——每日最新資訊28at.com
生活上更加規律Tf628資訊網——每日最新資訊28at.com