職位類型:數(shù)據(jù)工程師
面試地點:西安
招聘公司:美團(tuán)網(wǎng)
第一面:自我介紹和項目介紹:
由于我研究生階段是關(guān)于計算機系統(tǒng)結(jié)構(gòu)方面的研究,所以面試官也沒有什么深究的問題。然后是算法題目:
1.如何快速在無序的數(shù)組中找到第K大的數(shù)。
我提出了三種方案:
⑴建立K個元素的最小堆,然后順次掃描無序數(shù)組后面的元素,并與堆頂元素比較。時間復(fù)雜度還行。
⑵利用快排排好序,然后找到第K大的數(shù)。這種思路顯而易見。
⑶快排的變種,記錄標(biāo)志元素小的個數(shù),然后折半排序。貌似比較快。
2.如何找出字符串中的最大回文字串:
我的思路:
⑴建立兩個指針,一個指向字符串頭;一個指向字符串尾部;然后全掃描和排序;比如
“sdsds”
則從前到后:
S sd sds sdsds
從后到前:
S sd sds sdsd sdsds
然后按字母升序排序,統(tǒng)計字符串長度。顯然比較暴力!
⑵其實將原字符串反轉(zhuǎn),就是求兩個字符串最長公共字串。
大概思路就是建立二維數(shù)組,然后掃描記錄。
一面就結(jié)束了,然后二面。
二面還是技術(shù)面:
1.問我GPU的問題,之前了解一些,所以回答還尚可。
2.針對我專業(yè)是系統(tǒng)結(jié)構(gòu),讓我描述處理器從PC指令寄存器開始到訪存成功之間的過程。我描術(shù)了半天,原來是讓我描述虛擬地址和物理地址的轉(zhuǎn)化。
我寫說明地址轉(zhuǎn)化的數(shù)據(jù)結(jié)構(gòu),然后讓我設(shè)計快速轉(zhuǎn)換的體系結(jié)構(gòu)和算法。我說是索引表結(jié)構(gòu),然后問我設(shè)計幾級。我從工程學(xué)的角度回答了問題。
3.最后問我TCP和IP協(xié)議。
4.概率題目,關(guān)于獨立隨機變量XY的聯(lián)合密度函數(shù)求解。
輪回答還不錯,進(jìn)入第三輪面試。第三輪面試,面試官很和氣。給我水和食物,讓我放松狀態(tài)。
關(guān)于概率的題目,很開放的題目---“我當(dāng)上國家主席的概率”我的解決方案三種。幾天后得到offer邀請,北京薪酬是22W ;但是因為怕累,就拒了。