1. 程式人生 > >百度2015校園招聘面試題回憶錄(成功拿到offer)

百度2015校園招聘面試題回憶錄(成功拿到offer)

引言

盼望著,盼望著……今年終於輪到我找工作了,還深深記得去年跟在師兄後面打各種醬油的經歷,當時覺得找工作好難啊,怎麼面一個敗一個,以後還能找到工作不?

不過當時的失敗也是理所當然的,那時候沒有做任何準備(連程序間有幾種通訊方式這樣老掉牙的題我都不知道),沒有任何找工作的經驗,甚至一個簡單的自我介紹都吞吞吐吐的。

經過一年時間的磨練,特別是近幾個月的強度知識吸收,感覺個人在能力和知識儲備方面有了質的提高,這大大提高了我的自信心,也讓我在這個秋季的求職生涯最終以較滿意收場。

截止目前為止,找工作總算告一段落。初次找工作,只投了前面的幾家公司(有百度、阿里、美團、搜狗、華為等),今年比較幸運,面的幾家公司都成功拿到offer,也算是初戰告捷。這些公司的招聘結束後我就沒再參加後面的一些大型網際網路公司了,比如奇虎360、網易、愛奇藝、金山等等,不像我的一些同學,手裡offer多的都拿不動了,也有滿意的了,可還是滿懷幹勁的參加後面的招聘,真心不知道他們的精力和耐力從何而來,可能是他們想成為傳說中的offer帝和麵霸吧。我個人無喜於那些稱謂,既然有了較滿意的offer就不想再耗費太多的精力去爭根本不會考慮的offer,也可能是自己的惰性所為……

OK,廢話到此為止,下面簡單回顧下自己在百度面試過程中的一些題目,給還在找工作或將來要找工作的同學一個淺薄的參考。

百度面試題

一面(1 hour):

1.面試官從簡歷裡抽了一個較感興趣的專案,讓把專案簡單介紹了下,針對專案問了幾個技術問題
2. 介紹Java中垃圾回收機制,程式設計師平時需要關注這個嗎?為什麼?請舉例說明。
3. 資料庫隔離級別介紹、舉例說明。
4. override和overload的區別。
5. 求二叉樹的最大距離(即相距最遠的兩個葉子節點),寫程式碼。
6. 兩個棧實現一個佇列,寫程式碼。
7. 你覺得你的優勢是什麼?有什麼技術薄弱點嗎?
8. 目前手上有offer嗎?

二面(40 minutes):

1.詳細介紹研究生期間的小論文專案。
2. 求二叉樹的寬度,先簡介思路再寫程式碼。
3. Hashmap、Hashtable和cocurrentHashMap的區別,要講出它們各自的實現原理才行,比如Hashmap的擴容機制、cocurrentHashMap的桶分割原理、多執行緒安全性。
4. 程序排程演算法,有哪些演算法比較難實現?
5. linux下如何修改程序優先順序?(nice命令的使用)。
6. linux下效能監控命令uptime介紹,平均負載的具體含義是什麼?建議看server load概念。
7. linux下如何除錯程式?說到gdb,具體如何除錯?如何檢視core檔案中的堆疊資訊等(bt指令)。

三面(1 hour and twenty minutes):

1.介紹我研究生期間的論文,講的很詳細,每個點具體採用的技術、實現方法等,花了較長時間。
2. 列印二叉樹兩個葉子節點間的路徑,寫程式碼(汗,百度這麼喜歡問二叉樹)。
3. 字串中第一個只出現一次的字元,如何優化演算法使得遍歷次數更少?
4. socket程式設計相關,如果伺服器這邊呼叫write寫了100個位元組的資料,客戶端想要獲得這個資料,是直接用read系統呼叫,引數也是100嗎?
5. 百度新聞快取預算問題:一般為了追求時間效能,都需要快取一些新聞資料,你怎麼計算所需預算?然後申請需要的主機……
6. 多執行緒的適用場景是什麼?為啥要用多執行緒?
7. 問是否會go語言,……
8. 為啥對技術感興趣,一些相關問題討論。
9. 聊北京、談offer。

最後面試官說像計算機體系結構、作業系統這樣的書一定要看國外的,國內的有時候會誤導人。

總結

三面都是技術面,總體下來沒有特別難的題目,從我的面試情況來看,百度這次非常看重面試者對二叉樹的掌握情況,還有所做的專案詳細介紹。後面我會繼續分享自己在面試過程中的一些個人經驗和技巧。