一面
- 虛擬地址空間和物理內存。
- 哈希衝突的解決方案(開散列,閉散列,多階哈希),一致性哈希,都是簡單的
回答了下,沒有深入了問。 - 編譯過程。
二面 - 主要問項目,他選了我第一個項目,HTTP 文件共享服務器。
- 輸入域名後發生了什麼?
- 多線程安全問題,線程池,鎖(都是簡單的回答了下)。
- 斷點續傳。
- 這個項目在一臺主機上跑是沒有問題的,那如果是多臺主機,就會有問題,怎麼
解決(域名解析的問題)? - 然後簡單講了下用 epoll 提高效率 ,並沒有深入了問。
- HTTP 協議。
三面(壓力面) - 啥都問,說你會的,然後把我懟的不行
- 主要是鎖的問題(基本沒答出來)。
- 線程安全的問題。
- 項目(網絡的問題)。
- 100G 文件,多 ip 進行排序。
- 問了能不能實習,學校的課程。
- HTTPS 的實現,我給他簡單的講了下,他不滿意。
- 文件系統(軟鏈接,硬鏈接)。
四面 - malloc 的原理(簡單的講了下,他不滿意)。
- 然後問 malloc 申請內存的時候,怎麼加鎖的。
- 二叉樹的層序遍歷。
- 有哪些優點,看過什麼書?
- 線程和進程的區別。
- 有沒有聽過 select 和 epoll,都沒有深入了問。
- 操作系統和網絡都問了點。
- 大小端的問題。
- 紅黑樹。
五面 - 介紹自己。
- 做了啥項目?
- shell 的原理,和 exec 等。
- fork。
- 堆。
總結
只問簡歷上寫的,沒寫的不問,比如數據庫,一個都沒問。
基本沒問 C++,重點問了操作系統(線程),網絡(項目包含在內)。
注:這個大家參考,千萬不要覺得難,或者簡單,因爲你根本不知道別人答得程
度,有可能很深,有可能簡單,畢竟麪筋裏是不可能寫清楚的。