百度校園招聘完整面試經歷

才智咖 人氣:1.21W

宣講會:

百度校園招聘完整面試經歷

百度的宣講會來得非常早,也是我參加的第一個宣講會,所以記憶非常深刻。大活門外的廣告打得非常炫,一個很帥的人,不知是不是李彥巨集,頭上畫了兩隻牛角,大意是個牛人,期望大家加入百度,在牛人的關注下成長。我顯然低估了百度在學生中的影響力,提前半小時到宣講會現場,發現擠爆了,沒辦法,只好站在走廊裡邊,後來保安建議同學們都坐地上,於是大家也不管地上髒不髒,不管是GG還是MM都坐下了。由此可見找工作還是很辛苦的,確實,在這以後的日子中大家為了心目中的企業一直在奔波,無論是精神還是體力上都處於一種極限狀態。

宣講會之前半個小時一直在放李彥巨集參加那啥詠樂會的節目,百度的老總就是長得帥啊,據說是中國的知名企業的老總中最帥的一個了。果然是才藝皆全,聽他的創業經歷,看他跳舞,講述百度名稱的來歷並吟詩,真是享受啊。百度的宣傳片做得也很有氣勢,百度大廈的漂亮也給我留下了深刻印象。宣講會正式開始後的內容和其他公司差不多,都是百度公司的介紹,企業文化,內部工作環境,員工發展等等。其中還有一個剛剛入職的華工MM參與了這次宣講,很PP很活潑的一MM。總之百度的宣講會持續時間比較長,人數也非常的多,百度給我的感覺非常好,非常遙不可及。

筆試:

原先百度網投的時候,我用網易的郵箱註冊,老是收不到啟用資訊,後來換了個QQ郵箱,註冊居然成功了。眾所周知,在找工作中用QQ郵箱可能會讓企業覺得此人太幼稚,印象不好,所以我非常擔心,想重新註冊一個賬號,但是一個身份證只能註冊一個賬號,所以只能作罷,非常擔心我的簡歷被刷掉了。後來發現這個擔心沒有必要,因為百度基本也是海筆的政策,而且筆試通知和筆試過程是交給智聯招聘的人來做的,整個過程人比較多,也比較混亂,百度和QQ一樣,也支援霸王筆,這點同樣要贊。百度招聘系統上的狀態和實際狀態不一定完全吻合,比如我的簡歷狀態一直處於“處理中”狀態,而有的人有“筆試”、“面試通過”或“面試未通過”狀態。筆試時間安排在十月十多號,和宣講時間差不多相隔一個月,這個是百度的策略,先在全國各地宣講,接下來全國各地筆試和麵試,最後全國彙總,通知結果。筆試是晚上進行的,和支付寶一樣,也是全部挨著坐,但是試卷一樣,百度不擔心你抄別人的試卷,因為你抄不了,2個小時,6道大題,試卷頭特地說明解決問題是一門權衡的藝術,如果有可能,盡情發揮,在做試卷前,通篇閱讀題目,選擇最拿手的題目就行了。百度的六道題目大致如下:

1. 關於深度優先、廣度優先遍歷演算法及非遞迴實現的特點

這道題我索性將深度優先和廣度優先便利演算法都寫出來,然後簡單說明了一下其非遞迴實現的特點,就是需要一個堆疊或佇列,輔助空間較大等。

2. 一道程式改錯題,可能存在錯誤,也可能存在安全隱患。

這道題一般對C/C++熟悉的同學都會做,就是一些關於指標的指標傳遞,也有一些陣列越界的問題,不難。

3. 一臺計算機有1KB記憶體和1MHZ的處理器,能在該機上執行且確定性終止的所有程式中,最長的執行時間是多少,要求寫出推理過程,可作出任意假設。

我假設該機是但使用者單任務作業系統,實地址模式,執行的程式就是在不斷不重複地更改記憶體狀態,程式結束的終止狀態為記憶體的某一確切狀態,定義為終止態。於是推理過程如下:

1KB的記憶體共有狀態:2^(1024*8) 種

1MHZ的處理器每一秒鐘可以更改記憶體狀態的次數為: 10^6 次

因此,如果一個應用程式,從某個狀態出發,遍歷了所有的中間狀態,最終到大終止態後結束,經歷的這段時間即為程式執行的最長時間。為:

(2^(1024*8)-1)/10^6 秒

4. 關於編譯依賴的問題,大意是一個專案中存在諸多元件,某些元件的編譯需要以另外一些元件的編譯為前提,問怎樣找出一個合理順序,使得所有元件能夠順利編譯。

該題其實是拓補排序問題,詳見清華大學出版的嚴蔚敏編著的《資料結構》一書。我以一個確切的例子,繪出了一些圖形和資料結構,然後以文字形式表述了演算法。

5. 程式設計題。要求在一個字串中找出最長的數字串,如“fafdahruqa12343fa43faf56454354fas”,你需要找出“56454354”即可。

該題很簡單,可以直接寫出可以執行的程式碼。

6. 關於URL的系統設計問題,一個URL分為站點和路徑兩部分,除此之外還需要維護一些定長的屬性和不定長的屬性,定長屬性如URL被發現的時間,不定長屬性如URL的描述文字。要求設計一個系統,可以儲存和維護100億條URL及其屬性,支援新增,更新和刪除URL,能判定一個站點是否在系統中,如果在,需要給出資訊,一個站點可能有多個路徑,如果給出一個站點,支援給出站點下所有的路徑。

該題我採用的雜湊雜湊的方法,以站點為關鍵字進行雜湊,設計了一個資料結構表達一個站點、定長屬性、非定長屬性,設計一個路徑連結串列儲存所有的路徑。然後對各個要求的功能演算法進行了一下簡單的說明。

百度筆試的題目較多,體量較大,不要求全部做完,一般說來能寫出思路來,並且思路正確就OK了,關鍵是要想好怎樣表達。筆試完畢後,我感覺比較好,覺得應該是可以進入第一次面試的。

技術一面:

在筆試後的第二天,我收到了百度的面試通知,因為我演算法方面不是很在行,不過在Windows程式設計上還行,於是我報的方向是客戶端軟體開發。面試地點安排在洛迦山國際酒店,百度的面試都是一對一地面試,百度的技術面試據說非常難,會問一些很難的問題,也會叫當場寫程式碼。當時得到面試通知是又喜又擔憂,估計自己是凶多吉少。我被安排在四點半面試,而晚上六點是迅雷的二次筆試,當時都想放棄算了,有點覺得自己就是炮灰。後來權衡半天,還是打算去試試,見識一下也好啊。我提前了一個小時來到珞珈山酒店,在二樓,絕大多數房間都是開著的,面試官和麵試者一對一,有的房間在談話,大概說的是專案,或者面試官問,面試者答;有的房間面試官在幹其他事,面試者趴在桌子上,應該是在寫程式。也有幾個面試者等在各自的房間外,費勁地聽著裡邊的談話內容,我利用先到的時間,迅速和其中幾個在我之前的面試者聊了聊,大概瞭解了面試的內容和形式,過了一會兒,那些先到的面試者都進入各自的房間面試去了,走廊就只剩下了我一個人,這是腦袋裡邊什麼東西都想不了,索性我就不想了,反正我覺得自己就是來玩的,於是我一個人就在二樓所有的.面試房間外晃來晃去,看裡邊面試的情況。四點半的時候終於輪到我了。