好獵頭網-中高級人才獵頭網站!服務熱線:400-1801-668 好獵頭   |   登錄 注冊

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

      添加時間:2017-11-27 00:00:00
      瀏覽次數: 0

      職位類型:客戶端軟件開發
      面試地點:北京
      招聘公司:百度

      之前一直都很關注百度,也一直非常期待在百度工作,剛好最近百度來我們學校進行宣傳,抱著試試的心里去了宣講會,沒想到最后真的能拿到百度的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差不多,’\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說,接下來會有人力資源的一個討論會,會做出最后結論,如果被錄取,在幾天之內就會有消息,如果不被錄取,那么會在兩周內收到拒信,因為被錄取的人是很少的,所以結果快一些,被拒絕的人是很多的,所以會晚一些。

      遲到的百度offer
      2號晚上快十點左右,我的QQ郵箱冒出提示,標題為“百度校園招聘錄用通知書”,我知道我從九月二十四號持續一個多月的百度求職路程畫上句號了。雖然被調配了職位,但是幸運的時候仍然是軟件研發崗位,不至于太離譜吧。