百度實習面試總結——百度大搜,機器學習實習生

百度實習面試總結——百度大搜,機器學習實習生

簡歷是內推的,找到了川大的一位學姐,而後內推了簡歷。面試

過了幾天,HR的電話打過來協商面試時間。一開始說的是下午兩點,我想了想,好像有一節選修課,因而想調整再晚一點,因而調到了四點,不過這時間不仍是在上課嗎……數組

因而果斷上課上到一半,而後翹了出來,溜回寢室。在室友玩守望先鋒的背景音樂下,進行了一面(微笑臉機器學習

一面

其實這時候,我並不知道我面的是什麼崗位的……函數

一面和小米同樣,都是在一個代碼分享平臺上面寫,就是面試官看得見你寫的代碼,你也看得見面試官寫的是啥。學習

先讓我自我介紹,而後我blablabla。網站

而後進入正題:排序

第一題:給你n個數,要求找到全部的三元集<i,j,k>,知足a[i]+a[j]+a[k]=S,要求複雜度n^2字符串

我作這道題的時候,一開始給了一堆亂七八糟的方法。(FFT什麼的其實都想說出來,可是忍住了……hash

而後面試官提示了一下兩個數的狀況,發現好像能夠直接O(n)的Two pointers就行了。隨機數

而後我腦補了一下,因而給了個和two pointers毫無關係的n^2方法(暴力枚舉+hash)……

而後在面試官的提示下,作出了n^2的two pointers。

這時候感受好像要go die了……

第二題:給25匹馬,你有五個賽道,問你最少須要比賽多少場,才能獲得前三的馬。

我一開始沒啥想法,因而答了個上限,(25-3)/2=11場,由於每場比賽能夠淘汰兩隻馬。

而後面試官提示了一下楊氏矩陣,而後看我好像仍是不太懂的樣子,就給我講了正解:

你建一個5*5矩陣,每一行,從左到右,從大到小排序。第一列,從大到小排序。

那麼說構成我要求的這個矩陣,就須要6次比賽。

而後就能夠淘汰掉第四列和第五列,第四行和第五行。

第一排只會剩下3匹馬,第二排只會剩下2匹馬,第三排只會剩下1匹馬。

因爲第一行第一列的馬兒必須選,因此剩下五匹馬比賽選出前二就完了。

因此最少比賽七次。

這時候,感受本身已經go die了。

第三題:給你一堆二維點,讓你找到一個點,使得其餘點到這個點的距離和最小。

這道題我終於會了,因而在面試官說完以前 ,就完成了搶答。

這道題是某年的校賽初賽題,把X軸和Y軸分開以後,分別取中點就完了。

第四題:

問:如何檢測兩篇新聞是同樣的呀?

答:把新聞拿出來字符串匹配就行了嘛。

問:可是其中可能存在個別字符不同,其餘的都同樣的狀況怎麼辦呀?

答:那就把新聞拆分紅句子,摳下來,而後進行匹配吧。

問:有些句子,其實是表明着這個網站的特徵的句子,如何把這些句子分辯出來呢?

答:翻一下以前這個網站的新聞,機器學習一下,看看那些句子出現的頻次高。

問:哦,你會機器學習嗎?

答:瞭解過,我知道K近鄰。

問:解釋一下。

答:KNN就是把一些做爲樣本,而後拿如今要檢測的和那些樣本作距離,取距離最小的那幾個,而後裏面啥最多,那麼檢測的這個就是啥。我以前作過那個數字識別,就是用這個搞的。

問:你說的好像不太清楚,我忘了,我回去查一查。

GG。

而後一面就說,你準備一下,趕忙面對二面吧。

這時,我室友正在歡樂的在守望先鋒1600分魚塘掙扎中。

二面

開頭仍是讓我自我介紹,而後我把一面的自我介紹重複了一遍(x

而後進入正題:

第一題:

問:給你一個前綴,再給你一堆字符串,問你有多少個字符串包括這個前綴。

答:hash。

問:假設要求動態的屢次詢問是否存在這個前綴呢?

答:把全部的字符串拿去建字典樹,而後每次有前綴的時候,爬一爬就行了。

問:若是不是前綴呢,是問你是否存在這個子串呢?

答:hash?

問:這個好像不太行呀,你能夠有充分的預處理時間哦?

答:那就把全部的字符串摳出來,好比把abc變成abc,bc,c三個字符串,而後作字典樹?

問:好像能夠?

答:恩,好像能夠。

第二題:給你一個矩陣,從左導右是遞增的,從上到下是遞增的,讓你找到裏面是否存在一個k。

曾經曾某拿這道題考過我,而後我被他羞辱過,而後我就記住了這道題……

我誠實的答了我曾經作過這道題,而後證實了一下結論的正確性。

正解就是從右上角開始跑,若是k大於當前格子的數,就往下走,不然往左走,證實略。

第三題:

問:給你一個二叉樹,求從根開始的最長路徑。

答:好像dfs一下就行了?順便記錄一下路徑長度。

問:要求輸出路徑。

答:第二次再dfs一下,若是到葉子節點的時候,是最長的話,就輸出?

問:只用一次dfs。

答:好像不遍歷完整棵樹,是沒法肯定最長路的?我感受得兩次呀。

問:你能不能開個數組記錄一下路徑,而後更新呢?

答:好像能夠呀。

GG

第四題:

問:給你一個隨機數生成器,有p的機率輸出0,(1-p)的機率輸出1,p未知。要求用這個隨機生成器作成50%輸出0,50%輸出1的生成器。

答:我在紙上畫了畫,好像讓這個隨機數生成器一開始正常輸出,而後第二個週期1-rand()輸出,這樣就是一個平均的了。

問:你這個假設週期是1,那麼輸出了兩個數,若是我只取第一個數,那麼第一個數是不是50%機率輸出的呢?

答:好像從兩個數的角度來看,這兩個數輸出1的指望和輸出0的指望個數相同,我以爲好像是同樣的。若是隻看第一個數的話,他就不是。我感受這好像是個邏輯問題,我以爲我邏輯好像不太好……

問:我想讓你實現一個函數,而後這個函數的功能是50%機率輸出0和1,你再想想。

摳了一下腦殼,而後想了10min……

答:輸出四個數作,01和10的機率不同,01+10不等於11+00。00和11都是p(1-p),01是pp 10是(1-p)(1-p),而後00x11=01x10,根據這一,咱們能夠乘法找對稱關係。一共十六對,都能找到。

問:我懂了你的意思,你這樣太麻煩了,假設你能夠跳過一些東西呢?不必所有用。

答:那就11輸出1,00輸出0?01和10都跳過?

問:對。

而後面試官讓我準備三面了。

三面

讓我自我介紹一下,因而我又重複了一遍( x

你有什麼優勢?

blablabla

你有什麼缺點?

blablabla

你知道咱們幹什麼的嗎?

不知道。

你知道你要幹什麼嗎?

不知道。

那我給你講一下,咱們是幹blablabla……

而你會作blablablabla……

我以爲你這種一張白紙的競賽選手,仍是比較適合這裏的。

而後三面就結束了。

後續

而後我就以實習生的身份,混進百度之星出題組了。(x

我必定會好好出題的!你們記得去參加百度之星呀!

至於offer這邊,就杳無音訊了,我覺得我被拒絕了,可是!

過了十幾天,三面面試官打電話給我說了下百度如今HC不足的問題,你要來就只能四月以後來。

而我正好有校賽要去打,原本就打算最先也只能四月份以後過去。

因而達成共識。

因而愉快的就決定了四月份再去思考這件事兒去了。

因而我又開始在學校躺屍,過着給小朋友教書的快樂日子。

相關文章
相關標籤/搜索