我們總要向成功者學(xué)習(xí),下面是拿到百度offer的一名員工分享的題目,供有意應(yīng)聘百度相關(guān)職位的朋友參考。
一面(1 hour):
1. 面試官從簡歷里抽了一個較感興趣的項目,讓把項目簡單介紹了下,針對項目問了幾個技術(shù)問題
2. 介紹Java中垃圾回收機(jī)制,程序員平時需要關(guān)注這個嗎?為什么?請舉例說明。
3. 數(shù)據(jù)庫隔離級別介紹、舉例說明。
4. override和overload的區(qū)別。
5. 求二叉樹的最大距離(即相距最遠(yuǎn)的兩個葉子節(jié)點(diǎn)),寫代碼。
6. 兩個棧實現(xiàn)一個隊列,寫代碼。
7. 你覺得你的優(yōu)勢是什么?有什么技術(shù)薄弱點(diǎn)嗎?
8. 目前手上有offer嗎?
二面(40 minutes):
1. 詳細(xì)介紹研究生期間的小論文項目。
2. 求二叉樹的寬度,先簡介思路再寫代碼。
3. Hashmap、Hashtable和cocurrentHashMap的區(qū)別,要講出它們各自的實現(xiàn)原理才行,比如Hashmap的擴(kuò)容機(jī)制、cocurrentHashMap的桶分割原理、多線程安全性。
4. 進(jìn)程調(diào)度算法,有哪些算法比較難實現(xiàn)?
5. linux下如何修改進(jìn)程優(yōu)先級?(nice命令的使用)。
6. linux下性能監(jiān)控命令uptime介紹,平均負(fù)載的具體含義是什么?建議看server load概念。
7. linux下如何調(diào)試程序?說到gdb,具體如何調(diào)試?如何查看core文件中的堆棧信息等(bt指令)。
三面(1 hour and twenty minutes):
1. 介紹我研究生期間的論文,講的很詳細(xì),每個點(diǎn)具體采用的技術(shù)、實現(xiàn)方法等,花了較長時間。
2. 打印二叉樹兩個葉子節(jié)點(diǎn)間的路徑,寫代碼(汗,百度這么喜歡問二叉樹)。
3. 字符串中第一個只出現(xiàn)一次的字符,如何優(yōu)化算法使得遍歷次數(shù)更少?
4. socket編程相關(guān),如果服務(wù)器這邊調(diào)用write寫了100個字節(jié)的數(shù)據(jù),客戶端想要獲得這個數(shù)據(jù),是直接用read系統(tǒng)調(diào)用,參數(shù)也是100嗎?
5. 百度新聞緩存預(yù)算問題:一般為了追求時間性能,都需要緩存一些新聞數(shù)據(jù),你怎么計算所需預(yù)算?然后申請需要的主機(jī)……
6. 多線程的適用場景是什么?為啥要用多線程?
7. 問是否會go語言,……
8. 為啥對技術(shù)感興趣,一些相關(guān)問題討論。
9. 聊北京、談offer。
最后面試官說像計算機(jī)體系結(jié)構(gòu)、操作系統(tǒng)這樣的書一定要看國外的,國內(nèi)的有時候會誤導(dǎo)人。