騰訊、網易遊戲研發面試題彙總 —— 計算機系統篇(不定時更新)

題目來源:牛客網討論帖   答案主要來源:https://github.com/huihut/interview 、書籍、博客。

目錄

  1. C++  
  2. 數據結構與算法
  3. 計算機網絡
  4. 計算機系統  
  5. 計算機圖形學

四、計算機系統 

1.進程和線程

對於有線程系統:

  • 進程是資源分配的獨立單位
  • 線程是資源調度的獨立單位

對於無線程系統:

  • 進程是資源調度、分配的獨立單位

2.進程調度的方式

管道、信號量、新號、消息隊列、共享內存、套接字

3.進程幾種狀態,進程狀態,調度轉換等等。從阻塞態到就緒態需要依賴內核的什麼

4.線程同步的方法

鎖機制、信號量機制、信號機制、屏障

5.如何保證線程安全

6.介紹下死鎖,如何避免

原因

  • 系統資源不足
  • 資源分配不當
  • 進程運行推進順序不合適

產生條件

  • 互斥
  • 請求和保持
  • 不剝奪
  • 環路

預防

  • 打破互斥條件:改造獨佔性資源爲虛擬資源,大部分資源已無法改造。
  • 打破不可搶佔條件:當一進程佔有一獨佔性資源後又申請一獨佔性資源而無法滿足,則退出原佔有的資源。
  • 打破佔有且申請條件:採用資源預先分配策略,即進程運行前申請全部資源,滿足則運行,不然就等待,這樣就不會佔有且申請。
  • 打破循環等待條件:實現資源有序分配策略,對所有設備實現分類編號,所有進程只能採用按序號遞增的形式申請資源。
  • 有序資源分配法
  • 銀行家算法

7.互斥鎖原理和使用

8.多級cache

9.虛擬內存和LRU

10.程序在內存中的佈局

11.爲什麼要字節對齊

12.操作系統在運行一個程序背後會有哪些流程?

13.在程序中棧的作用,函數調用中棧過程

 



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章