歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 百度2013校園招聘研發面經

百度2013校園招聘研發面經

日期:2017/2/28 15:29:02   编辑:Linux教程

三面之後一直在等,終於今天晚上等到了北京研發的offer,順便把真實的面試情況記錄在這裡。

百度筆試:

百度研發的筆試不好做,三道基礎題,三道算法題,一道大題是SQL。自我感覺不太好,最後得分是56,進面試是可以的。基礎題裡HTTP是網絡的哪一層也寫錯了,第一題關於哈希算法的實現方式也感覺答錯了

一面:

剛開始沒有狀態,面試官因為我是本科的緣故,就讓我講排序,思維也亂,叫我寫快排,一下就寫了一頁紙,是一個很標准的quicksort的java類,毫無懸念。然後一題海量數據的題,我卻因為ip要多少位表示給弄蒙了,前兩次我都說32位,面試官看我底氣不足,要我再好好想想,自己去玩了會電腦,之後我算出一次40,給跪了,最後還是堅定當然是32位,面試官來了一句,一個ip地址有多少位表示很困難嗎,我無奈的,還好面試官也挺好,沒有表現不耐煩或者放棄我,我還是理清思路,大數據還是分治,各份處理後歸並或者最大堆排序,我是直接提出了最後用mapreduce做一次map和reduce,面試官可能沒想到我會這麼答,一直點著頭,於是對我印象開始好轉。問我為什麼選擇北京,聊我簡歷。之後又出了分布式文件系統存儲文件的時候要幾分冗余,我秒答三份,參照HDFS的存法,面試官看上去也還沒准備好,題目也是他臨時想的可能,所以要我說三份的好處壞處,這個追問其實很無力。之後又是一題分布式題,關於集群提供服務的負載均衡和對應一個ip的客戶端盡量同一個做應答。我們探討了比較多的存儲記錄的問題,我一直堅持用zookeeper,監控呀什麼的,聊了比較久,面試官一邊在完善自己出題的條件和目的,我也是隨著他不怎麼健全的問題一步步答清楚,至於每次需要之前的slave繼續給提供過的客戶提供服務,我最後說用一致性哈希來做,貌似是可行的,不知道面試官怎麼覺得,反正他點頭著也沒有質問我什麼。之後的聊天越來越輕松,呈現出主動要我詢問百度情況的意思,我問了好幾個問題,比較輕松的結束了一面。感覺是可以過的。

二面:

收到二面還是很開心的。早到了看到面試官在看我的試卷,我也看到我得了56分。還是先聊我的簡歷,問我進實驗室,為什麼不讀研的問題,一面也問過我。做題的話是給了兩個表,要做merge,要我定義合理的數據結構,合成一張新的表,像是join。我第一個念頭是mapreduce可以解決,並說了下,他說我們不考慮大數據,我只是想你寫個簡單程序,其實我也知道他的意思,我就是想表現下我的反應,於是我就用hashmap來做了這件事情,寫了十幾分鐘代碼應該是有的,最後給他講解了下,他表示贊同,快快過了第一題。第二題,來個算法的,求最長子數組最大和,只要這個max值就可以,這題見過,max正數的情況我寫了個例子馬上回憶起來並和面試官解釋了,面試官問如果是負數呢,我一想的確這種方法只適合max非負,集中精神想了三分鐘,想出了負數解決方案,在給面試官闡述的過程中完善了思路,面試官說能整合在一起嗎,我就邊說邊把思路理的更清楚了,ok。接下去面試官不斷從頭至尾看我簡歷,不斷找些問題,比如要我說說搜索引擎這個事當時怎麼做的,java語言什麼的。後來問你用的hashmap這個東西什麼什麼的,我就說hashmap和hashtable區別,前者線程不安全,代價比較小,還問我那用的時候要注意什麼呢,我回答注意resize,可以事先設定個size初始化是最好的,避免自動resize不必要開銷。二面感覺比一面順利,沒出什麼岔子,最後問到面試官是鳳巢的,順便多問了些java工程師可以干的事,最近360黑百度廣告什麼的事。那時覺得三面可以是穩的。

三面:

終於到經理面,面試官看上去稍微成熟些,沒有想象中那樣,不過嚴肅多了。看我簡歷,我主動告知自己的求職意願,還是Hadoop相關,最好是基礎架構方面,或者基於上面的應用,總之要能玩hadoop,還有雲計算。面試前我准備很多東西,都沒有機會講,原因是講到搜索引擎後,面試官來了興趣,我感覺不對勁。問我為什麼用lucene,lucene的索引怎麼做的。我沒有溫習lucene文件裡的索引機制,只能邊扯api邊回憶,因為時間太久了,面試官提醒我他需要我講述索引怎麼建,query過來我怎麼處理接收的。最後他直接說,你實現一個建索引過程,盡量細致一些,查A空格B這樣的請求,我當時就感到果然問的比較細,不好搞。正排轉倒排,有些細節部分忘了,勉強把過程寫了出來,然後開始講查詢詞進來後返回top10怎麼處理,他要問兩個關鍵字呢,我說假設用戶更側重A,從A的每個top10裡的文件到B的top10裡去找,用加權計算權值,但是這樣的做法是有不少問題的,他指出了幾個問題,我改進,還是沒有解決本質問題,他要我寫下整個過程,我寫了偽代碼,我告訴自己要冷靜,把思路講清楚,不要慌的。面試官看我的方法改進的已經差不多了,說出了比較本質的問題,我聽的80%理解,點頭道對,沒有多說,面試官還是比較耐心補充了下他的意見。我感覺這題答得懸,不順利。之後他問的是綜合性的問題,比如為什麼想去北京,為什麼喜歡hadoop,mapreduce做過多少實踐,你講一個你已經實現的目標或者你正在為那個目標努力實現的事,你都買什麼技術性的書看,最近看的書講講最深刻的內容,為什麼喜歡下棋,我順帶講了四國軍旗的合作配合,他看我講的很開心,說你怎麼講hadoop的時候沒那麼開心呢,我說之前在講正排轉倒排,索引的事,沒有講hadoop,囧,我暗想我多想和你談談hadoop和雲計算的啊。總之我想加一些我准備好的內容給他聽也很難。最後他說我這沒什麼問題了,你有什麼要問的嗎,我第一反應是這句話來的比我想象的早了一些,我有些不安,這是被拒的節奏。我問了本科研究生的區別問題,他思考良久,“入職前有區別,入職後無區別”並說入職你本科生比研究生薪水低些,之後做的事一樣的,我還表達了我的特長方向對公司的對口問題和就業現況,想表達百度對我的重要性。關於對我的評價,他說他也是請來把關,具體是那邊需要的部門給不給你offer。臨走時面試官還起身送我到門口,告訴我電梯方位,感覺最後比較客氣,不一定妙。總結是三面比之前懸。

Copyright © Linux教程網 All Rights Reserved