當前位置:學問君>人在職場>面試經驗>

百度北京總部面試的經驗分享

學問君 人氣:2.64W

職位類型:客戶端軟件開發

百度北京總部面試的經驗分享

面試地點:北京

招聘公司:百度

之前一直都很關注百度,也一直非常期待在百度工作,剛好最近百度來我們學校進行宣傳,抱着試試的心裏去了宣講會,沒想到最後真的能拿到百度的offer,真的是讓我覺得非常的幸運!

宣講會:

百度的宣講會來得非常早,也是我參加的第一個宣講會,所以記憶非常深刻。大活門外的廣告打得非常炫,一個很帥的人,不知是不是李彥宏,頭上畫了兩隻牛角,大意是個牛人,期望大家加入百度,在牛人的關注下成長。我顯然低估了百度在學生中的影響力,提前半小時到宣講會現場,發現擠爆了,沒辦法,只好站在走廊裏邊,後來保安建議同學們都坐地上,於是大家也不管地上髒不髒,不管是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編程上還行,於是我報的方向是客戶端軟件開發。面試地點安排在洛迦山國際酒店,百度的面試都是一對一地面試,百度的技術面試據說非常難,會問一些很難的問題,也會叫當場寫代碼。當時得到面試通知是又喜又擔憂,估計自己是凶多吉少。我被安排在四點半面試,而晚上六點是迅雷的二次筆試,當時都想放棄算了,有點覺得自己就是炮灰。後來權衡半天,還是打算去試試,見識一下也好啊。我提前了一個小時來到珞珈山酒店,在二樓,絕大多數房間都是開着的,面試官和麪試者一對一,有的房間在談話,大概說的.是項目,或者面試官問,面試者答;有的房間面試官在幹其他事,面試者趴在桌子上,應該是在寫程序。也有幾個面試者等在各自的房間外,費勁地聽着裏邊的談話內容,我利用先到的時間,迅速和其中幾個在我之前的面試者聊了聊,大概瞭解了面試的內容和形式,過了一會兒,那些先到的面試者都進入各自的房間面試去了,走廊就只剩下了我一個人,這是腦袋裏邊什麼東西都想不了,索性我就不想了,反正我覺得自己就是來玩的,於是我一個人就在二樓所有的面試房間外晃來晃去,看裏邊面試的情況。四點半的時候終於輪到我了。

面試我的是一個非常好的技術面試官,據介紹是百度客戶端業務部的主管,剛開始做了個自我介紹,然後就開始問一些項目的問題,圍繞項目問了很多很細的問題,包括Windows內核的一些東西,如多線程,進程通信,WM_COPYDATA原理,內存映射檔案等。我都一一予以作答,看上去他比較滿意。後來最終還是逃不過寫程序,他出了一道程序題讓我寫,題目比較簡單,我立即下筆,三分鐘後我寫出來了並且註上了完整的註釋,自認爲寫得很規則。面試官看了一下,沒有找出任何錯誤,饒有興趣地問了一個關於編程習慣的問題,他問我爲什麼喜歡把判斷一個字元指針是否終結的語句寫成if(0x00==*pStr),而不是if(0==*pStr),我說0看上去太單薄了,和數字0差不多,’’寫起來太麻煩,0x00寫起來感覺好,和字元在內存的存儲也符合。技術上邊的面試大致就是這些,遠沒有騰訊那麼難,面試官也麼有過於難爲我,估計是因爲我是機械專業的學生,非計算機科班專業的緣故。

估計過了一個多小時,談完技術,面試官說,你今天是最後一個,我們不妨多聊一會兒,你有什麼問題嗎。我就問了,百度客戶端產品發展的一些情況,應屆畢業生進入百度工作欠缺的一些東西。後來我又簡單地介紹了一下自己的情況,他後來問了一個問題,他說,百度的薪水相對其他企業來說是比較高的薪水了,根據你的具體情況,你對薪水有什麼要求嗎,我問他,百度的薪酬體系是麼樣的呢,他說,有幾級工資,剛進去是,被分配到一個等級上,以後每年有機會進行重新評定,我想了想說,如果單就薪水而言,那我給我自己定的目標是最高的兩個等級上,我期望憑自己的能力能夠拿到這個薪水,我相信我能辦到,另一方面,就我自身的情況,我及我的家庭現在都缺錢,但是我是農村小孩,我很容易知足,可能某些人開着小車,住着別墅還嫌不滿足,可是對於我及我的家庭而言,我們只要有一粒米吃,我們就會高興半天,總之,我們的基本需求很小,但是他並不妨礙我追求高的薪水。回答中我成功地避開了面試官的問題,面試官聽到我的回答還連聲說好,^_^。我大概面了1個小時40分鐘,才面完。整個過程相當完美,所有技術問題都完美地回答了,所有聊天都很愉快。走的時候,面試官非常的好,送了我一件百度hi的衣服,另外還送了我一堆娃娃,說是送給我女朋友,握手道別的時候,他說,希望能在百度大廈見到我。至此我的百度一面順利度過。由於多面了40分鐘,所以我也錯過了迅雷的二筆,迅雷求職止於此。

產品二面:

技術一面的過程非常完美,所以我覺得自己肯定可以進入二面,回來和求職羣裏的同學討論時才知道,很多同學,比如運維部的,一次性的就面了兩面,所以心裏不免犯嘀咕,怎麼回事。到了第二天,又有運維部的同學接到第三次面試通知,陸陸續續去面了,而我仍然處於等待狀態。到了第三天晚上,我實在受不了了,就打了個電話到珞珈山酒店,轉到面試的房間,那面試官一聽我的聲音就認出了我,他告訴我說各個部門不同,客戶端的同學可能在武漢只有一面,也有可能有兩面,但是到目前爲止,第一面還沒有面完,叫我耐心等待通知。此時我才意識到,原來百度還是叫了很多人去面試的,因爲百度的每次面試都是一個小時,所以時間拖得很長也在情理中。第三天的時候,我終於接到HRMM的電話,說讓我去參加第二次面試。在第一面的時候我有向面試官打聽二面的內容,他告訴我是考察系統知識,比如讓我設計百度hi,應該從哪些方面來考慮,所以我這幾天也從網上了解了一下百度的客戶端產品,並且主要從技術方面去猜想他是怎麼實現的,其實在二面中,才知道只有一丁點用。二面其實面的不是技術,而是對產品的領悟。

我被安排在上午十點鐘面試,面試地點爲A房間,九點十分的是後到達珞珈山酒店,碰到一個武大的女生和男生,一問才知道,剛好他們是一面面的A房間,二面的面試房間剛好是我一面的房間。於是我們相互交流了一下,我才知道二面的內容幾乎全部都是產品方面的問題,沒有技術問題。A房間的門關着,十點的時候,我按了一下門鈴,沒有人應,我猜想可能是裏邊還有人在面試,所以我繼續等待,等到十點十分的時候,那武大男生提醒我說還是直接敲門算了,因爲耽擱的時間是我自己的面試時間,幸好有他的提醒,我直接敲門,開門後面試官問我,你遲到了?我說不是的,我九點十分就到了,在門外等着,十點鐘按門鈴沒有反應,我以爲您在面試其他人,所以又等了十分鐘。坐下之後,面試正式開始。

剛開始就問我用過哪些網絡產品,我當時腦袋髮卡,只說出幾種,QQ,飛信,網絡遊戲,後來在他的引導之下,才又說出迅雷,BT,Foxmail等來,這一點表現不是很好。後來他又問我對百度的客戶端產品是否瞭解,我就說了百度hi,他接着問我對百度hi有什麼看法,我就坦然地說了,我只是在研一的時候用過一次,後來就從來沒有用過了,我說百度的產品只有搜尋大家都在用,其他的東西大家都不知道,我今天還和一個同學在談論百度,我那同學說百度怎麼就只有一個網頁也這麼牛,由此可見,百度的其他產品做得確實還很不夠,據我所知,你們期望以百度hi作爲一個平臺,來整合你們的產品,就像QQ客戶端整合了多數QQ的業務一樣,但是我個人覺得這樣效果非常不好,因爲百度hi的定位是即時通訊,而QQ在中國即時通訊領域在現在看來有不可逾越的霸主地位,當百度hi出來的時候,我就會考慮一下,我用百度hi有什麼好處嗎,沒有,因爲其他人都不用,我和誰聯繫呢。其實換個角度來說,百度不應該以即時通訊客戶端作爲切入點,而應該以自己的特色,搜尋作爲切入點,據我所知,百度的搜尋僅僅以IE形式呈現,雖然用戶可以自己設定一些搜尋喜好,但是那是基於cookie的,但是我本人不喜歡用cookie,我認爲那侵犯了我的隱私,所以我根本不能設定我的搜尋喜好,我認爲這是一個遺憾。

百度是否可以開發一個搜尋客戶端,爲每個用戶提供註冊,儲存用戶的搜尋設定,同時在此基礎上整合其他的產品,如百度hi,搜霸,百度硬盤等,這樣以一個全新的搜尋客戶端概念推出的產品,相信要比以即時通訊概念推出的產品要受歡迎得多。他接着問我,對哪些網絡產品覺得不滿意,有需要改進的地方,我說網頁迅雷介面反應速度太慢,有時候還出現網頁打不開的bug,騰訊QQ不但不自己開發登入器,反而將QQ的入口參數取消了導致當前流行的QQ登入器無法工作,我又向他闡述了自己有需求,在一個機器上登入多個QQ,自己也曾經開發過兩個版本的QQ登入器,這些登入器在2008版以前還能正常執行,但是2009版QQ取消入口參數後,我的登入器也無法工作了,騰訊的這種做法讓我覺得很不方便。他接着問,你覺得騰訊基於什麼考慮會禁止用戶在一個機子上登入多個QQ呢。我說可能是服務器負載不夠?他說不可能。我說那可能是爲了防止QQ賬號被非法利用,比如有的用戶可能在一個機器上的登入多個QQ來發送廣告資訊。他接着問,你認爲如何阻止用戶的這種行爲。

我其實對這個沒有經驗,只好隨便說說,從發消息的頻次,內容重複度,提示,舉報等角度來解決這個問題,後來他又叫我說的詳細一點,設計一個方案來解決這個問題。我就稀里嘩啦說了一大通。

第二面的過程中,我明顯感覺到這個面試官比第一面面試官要厲害得多,因爲我多次嘗試將他引向我熟悉的技術領域,但是他似乎沒有理睬我,仍然按照自己的問題在問,問的全是產品方面的問題。有時候會根據我的回答,進一步從裏邊抓出一兩個點接着問下去。面了大概四十分鐘,面試官說差不多了,問我有什麼問題。我就問了他爲什麼叫我們做技術的叫來面產品啊,他說是因爲在公司工作的時候,由於做技術的和做產品的再交流方面存在一些困難,感覺很吃力,因此才設計了這個面試環節,主要是看看做技術的的面試者對產品的領悟能力,也算作是比較重要的考察之一。

二面面試的時間剛好五十分鐘,加上被我浪費的十分鐘,一個小時。真是非常感謝武大那個同學,要不是他提醒,說不定面的時間會更短,所以,也提醒以後的同學,如果你的面試時間到了,你不能確定面試官是否在面試其他人的時候,你可以敲門試試,不然耽擱的時間是自己的損失。

電話終面:

百度十七號上午二面完畢,下午就接着面華爲去了,這中間經歷了很多筆和麪,先後拿到華爲offer,支付寶offer,ASMPT offer,騰訊offer,中電29所offer,成都飛機設計研究所offer,在做其他事情的同時,其實一直都很惦記着百度的資訊。二十三號的時候我收到一封莫名其妙的信件,說是將對我的面試進行綜合評定,一個月內給消息。有若同學分析說可能是一封委婉的拒信了,意思就是我別盯着百度了,適當的時候可以找找其他的。其實後來我才得知,有些部門的同學在23號就收到offer了,而我報的客戶端有同學在23號收到了拒信。我收到叫我等待的郵件,應該還是有戲的,所以我就一直等啊等,等到二十九號,陸續有同學有消息了,比如收到offer或被叫去北京面試了。三十一號,在我剛拒了騰訊簽約時,百度的消息終於姍姍來遲了,晚上六點接到電話,說客戶端把我的簡歷傳遞到質量管理部了,覺得我更適合做質量管理部的測試工具軟件開發,問我有沒有興趣,我說可以啊,反正我的項目還和軟件測試自動化有關,然後我們約定第二天早上九點半電話面試。

第二天早上九點半,非常準時的電話響了。按預定計劃進行,首先就是問了關於項目的問題,問得非常詳細,然後問了一下我的知識架構,特地問了一下我做助研的事情,因爲我助研的時候負責了《軟件工程與質量體系》的課程教學管理,他問了我一些關於軟件工程的基本知識,以及CMM五個等級的相關知識,問我關於課程有哪些內容,以及我對軟件質量管理的基本理解。因爲這個課是由我導師上的,所以感觸頗深,我覺得做軟件質量管理,做的是一種境界,一種思想,我就如實的向他講述了自己的一些理解和感觸,自我感覺非常不錯。最後,我問了一下爲什麼把我的簡歷傳遞到質量管理部,也問了一下質量管理部的工作情況,HR一一做了回答,我打聽了一下接下來的流程情況,HR說,接下來會有人力資源的一個討論會,會做出最後結論,如果被錄取,在幾天之內就會有消息,如果不被錄取,那麼會在兩週內收到拒信,因爲被錄取的人是很少的,所以結果快一些,被拒絕的人是很多的,所以會晚一些。