簡歷是內推的,找到了川大的一位學姐,而後內推了簡歷。面試
過了幾天,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不足的問題,你要來就只能四月以後來。
而我正好有校賽要去打,原本就打算最先也只能四月份以後過去。
因而達成共識。
因而愉快的就決定了四月份再去思考這件事兒去了。
因而我又開始在學校躺屍,過着給小朋友教書的快樂日子。