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