百度記

思而思學(xué)網(wǎng)

剛放暑假時,就發(fā)現(xiàn)暑假好短,快七月下旬才開始放假,而BOSS的一句話也讓暑假到處旅游的夢想破滅,于是整個暑期基本上都在實驗室呆著,前期是在改 ANDROID程序,由于保密的原因,這事不能說太細,后來在幫一個單位寫標(biāo)書,主要是一個視頻網(wǎng)站和一個在線商城,由于之前沒有寫標(biāo)書的經(jīng)驗,所以寫出 來可能不怎么專業(yè),他們后來再找公司修改了一下,我看了修改后的標(biāo)書,發(fā)現(xiàn)雖然內(nèi)容差不太多,但是公司改出來的文筆要好很多,并且他們在原基礎(chǔ)上進行了細 化,對一些細節(jié)部分還給出了圖示,這個是我需要學(xué)習(xí)的,編程雖然重要,但是文筆也很重要,技多不壓身嗎。

在七月未的時候,收到百度給我發(fā) 的郵件,說讓我有興趣的話可以把簡歷發(fā)給他們,他們會在校招之前安排一次面試,由于是在校招之前的,所以不管結(jié)果如何都不會影響我的校招流程。想了想我下 學(xué)期也要找工作,這是一次比較好的實戰(zhàn)機會,就給他們發(fā)簡歷了。但是一直沒有收到回信,正當(dāng)我以為被他們“放鴿子”的時候,就在8月28號下午5點左右, 百度給我打電話說安排我明天面試,想想29號也沒什么事情,就答應(yīng)了,然后她說面試信息會在隨后通過郵件發(fā)給我,收到郵件后,發(fā)現(xiàn)面試時候是下午2點,這 個時間還可以,部門是推薦與個性化部,這個部門就一點都不了解了,于是請教了一些人,終于對這個部門有了一個比較清楚的理解。

由于時間比較緊張,也沒有什么時間準(zhǔn)備,就在上午看了一些基本數(shù)據(jù)結(jié)構(gòu)之后就出發(fā)了。到達百度的時候離面試還經(jīng)半小時,就坐在大廳里好好的休息了一會兒。到快面試的時候去前臺叫她幫我叫人來面試,等了一會兒,就來人帶我去面試了。

一面上來就是問我對哪門語言的最熟悉,我說現(xiàn)在應(yīng)該是JAVA ,最近一直在用,然后他說他們部門只用C++和python,我說我對C++了解還可以,但是對python就不太熟悉了。他聽說后也來了興致,于是就問了許多C++相關(guān)的問題,包話C、C++的區(qū)別,C、C++內(nèi)存分配的差異,C++多態(tài)的實現(xiàn)方法,C++虛函數(shù)與純虛函數(shù)的實現(xiàn)方法,C++抽象類相關(guān)的問題等,雖然很久沒用C++寫程序了,但是兩個月前左右看了一些C++的知識,所以這些問題還是答出來了。在這之后就開始是現(xiàn)實應(yīng)用了:一個問題是在搜索MP3的時候是根據(jù)歌曲的權(quán)值排序的,但是會發(fā)現(xiàn)有這樣排序后有很多歌手的歌在一起,影響了用戶體驗,用什么辦法把這些排序后的歌曲變成沒到兩個歌手的歌在一起的情況下并且盡量保證是按權(quán)限有序的?這個問題上來就想了一個簡單的算法,然后他讓我分析算法復(fù)雜度,我一分析,擦,是O(n^2)的,然后問我有沒有什么更好的方法,我又想了一會,然后他說去給我打杯水,面試官還是挺nice的,等他回來后,我又想了會,終于想出一個O(nlogn)的算法,他說還有優(yōu)化的地方嗎?想了半天沒想出來,于是他就把他們使用的一個O(n) 的方法告訴我了,我一想,還真是,他們的方法很不錯。再聊了一些小問題,再就是一個大的開放性問題了,如果讓你組織一個團隊,這個團隊是向看小說的網(wǎng)友推 薦小說更新的,你會怎么做,你會需要哪些人,這些人分別是做什么,這個開放性問題中最重要的就是,你怎么保證向用戶推薦的小說更新是他感興趣的?你所有的 數(shù)據(jù)就是用戶瀏覽記錄。然后我答了大約用5個方向來判斷用戶對某小說是否感興趣,百度面試這種題的策略是讓你想,你想一個,如果他不了解的他就會深入問你,想完一個后再問你:還有嗎?然后答一個后還會問你:還有嗎?想不出來了就只好跟他說:沒有了,暫時想到的就這些。一面到這就差不多結(jié)束了,時間大約是80分鐘左右,然后他說讓我先坐著,他馬上去叫人來進行第二面。

第二面的哥們是個大胡子,他上來就沒問題語言相關(guān)的問題,估計一二面面試官之前互相交流過,包括哪些問題己經(jīng)問過了。第一個問題就是給m個關(guān)系,每個關(guān)系2個數(shù),表示這兩個數(shù)是一個團體里的,然后問給定2個數(shù),詢問這兩個數(shù)是不是一個團體的,這是一個很簡單的并查集的應(yīng)用,秒殺之,然后他要我現(xiàn)場寫出來,我就現(xiàn)場寫給他看了,還是不太習(xí)慣在紙上寫代碼,不過這個代碼還是比較簡單的。第二個問題也是m個關(guān)系,每個關(guān)系兩個字母,如A,B,表示A小于B,然后給定2個字母,問這兩個字母是大于關(guān)系,小于關(guān)系還是未知,當(dāng)然不存在沖突的關(guān)系,也挺簡單的,有向無環(huán)圖而己。除些之外就是一些小問題了,最后問的也是一個開放性的問題,我們現(xiàn)在知道A與B的關(guān)系,就是微博的關(guān)系,數(shù)據(jù)只有a 是否follow了b,a轉(zhuǎn)發(fā)了b和a評論b,問怎么樣最大概率的找出a沒有follow的,但是a在現(xiàn)實生活中能接觸到的人,這個問題比較開放了,面試官對于對于細節(jié)要求很高,扯了半天,二面就結(jié)束了。然后他叫我先在這坐著,他馬上去叫第三面的面試官過來。第二面大約是一個小時左右。

然后第三面估計是他們的一個頭頭,他上來看了一下表,就說面試會控制在一個小時以 內(nèi),也沒有技術(shù)相關(guān)的問題,就是聊聊天,感覺完全沒準(zhǔn)備。很多問題太突然,沒有準(zhǔn)備,但由于不是技術(shù)問題,所以也不存在能不能答上來的事情,聊完后,他將 我送到樓下,說讓我回去等消息。出來后看了一下表,三面是四十分鐘。

雖然連續(xù)三個小時的面試感覺很累,但是這次面試對我?guī)椭是挺大的,畢竟走完了整場面試,知道了整個面試的流程。二是對于開放性的問題一定要多想,答錯了沒有關(guān)系,你需要向面試官展示的就是你思考的方式,你想問題的方法能給面試官一個比較好的印象。三面給我?guī)椭畲,我會在下次面試之前想一些這方面的問題再來自己解答,這樣就不會在回答的時候顯得比較蒼促,這樣對于給面試官一個思路清晰的印象,畢竟臨時蒼促的想法與成熟的想法是有差距的。這就是整個面試的過程,希望對找工作的同學(xué)們有幫助。

熱門推薦

最新文章