原文鏈接:
一面面試官是個小年輕,非常Nice。
先是自我介紹,之后就是出題
1、有序雙鏈表去重,很簡單。
2、TCP、UDP、網(wǎng)絡(luò)編程socket,問一些QQ傳送是什么協(xié)議,答得一般,最后說不太了解
3、多線程、進程線程區(qū)別,多線程編程注意哪些問題、線程間通信、進程間通信、答得也一般。
4、shell編程、腳本語言,當時嘴賤說了解一點,其實基本不會shell,一個文件每行放站點跟IP地址,所有站點不重復(fù),要求輸出IP地址以及出現(xiàn)次數(shù)。當場跪。
5、A與B是朋友,B與C是朋友,則A與C也是朋友,一個很大的文件,每行放兩個人名字,要求輸入兩個人名字,能夠快速判斷是不是朋友關(guān)系。
立馬想到的一種是set(string),把一個朋友圈里面所有人當作一個set,共有M個圈子,時間復(fù)雜度是O(M),問有沒有更好的。
當時想到了位圖,所有名字進行映射,然后用一個大矩陣存儲,輸入兩個名字找對應(yīng)位置,時間復(fù)雜度O(1),空間復(fù)雜度比較高 O(n^2)。問還有沒有更好的。沒想出來
6、概率題。隨機電子密碼正看倒看都是數(shù)字的概率。正看倒看是同一個數(shù)的概率,比較簡單。
然后問看法,之后直接把2面叫上來面
2面面試官看起來不怎么nice,整個人冷冰冰的,愛理不理。
繼續(xù)自我介紹。花了挺長時間討論項目,實驗室的項目都非常的水,也沒得說,有做過一個界面的項目,聊的比較多。
問:做得項目跟我們的需求不符,你怎么看。(臉很臭)
只能笑笑說是導(dǎo)師分配,但是平時喜歡看一些算法、數(shù)據(jù)結(jié)構(gòu)的書籍,興趣在此
問:除了。。。這些項目,還做過什么(繼續(xù)臭臉)
剛好幾天前做過一個新聞網(wǎng)站,收集百度、騰訊、搜狐、網(wǎng)易的熱點新聞的、用的是python。
說了這個項目之后,明顯面試官稍稍熱情了,啪啪啪問了一堆。啪啪啪答了一堆
問:這個項目還有想要什么改進
靈機一動:搜索(面的是搜索崗)
啪啪啪問了一堆,啪啪啪答了一點。
問:為什么要做這個項目
啪啪啪。。想進軍互聯(lián)網(wǎng),但是沒做過web開發(fā),因此想學(xué),剛好會python,so啪啪啪
OK,進入正題,終于開始問問題了,這個時候才感覺面試官臉不那么臭。
1、判斷鏈表有無環(huán)
2、一個人報1-100的數(shù)字,中間漏報一個,另外一個人每次只能記一個數(shù),怎么實現(xiàn) 。。啪啪啪
3、問語法。指針引用區(qū)別 ?。。啪啪啪
4、有指向空的指針么,有指向空的引用么。答有立馬又問既然引用必須初始化,怎么會有
啪啪啪啪。。返回局部對象的引用。。。面試官嗯了一聲不說話了
5、對大數(shù)據(jù)、hadoop、mapreduce了解么 答了解
6、說一下mapreduce原理 啪啪啪
7、mapreduce所處理數(shù)據(jù)特點 啪啪啪
8、mapreduce能聚類么?答應(yīng)該能
9、聚類時要注意什么? 啪啪啪。。特征值的分散。。
10、reduce怎么把同一個鍵映射到筒里面。。啪啪啪排序
然后面試官開始講mapreduce的原理,啪啪講了一堆,講完之后,好,我們來做一道題。。。
11、兩個文件A里面放的是不重復(fù)的10億個數(shù)字,B一樣。求A-B,A+B,A交B
想加、value=2是相交,value=1,2是A+B,A-B呢,想了一會
啪啪啪。。。A里面將value都設(shè)為3。。。value=4是相交。value=3是A-B。
問:不讓你修改value。。
啪啪啪沒想出來
提示:可以多次輸入
啪啪啪,那就跟之前一樣了 OK過
12、求第2大的數(shù)
立馬知道要問什么了,因此不著急慢慢來,冒泡先
果然。一次遍歷呢? ?啪啪啪
果然 第K個。
不著急慢慢來,先來個數(shù)組順序保存K個,因此復(fù)雜度O(n*k)
k=n就是n^2了,優(yōu)化一下
數(shù)組變堆,O(nlogk)
繼續(xù)優(yōu)化。。。。。
啪啪啪有點焉了
繼續(xù)。。。
胡扯。。。啪啪啪
繼續(xù)。。。
胡扯。。。啪啪啪
提示:不要想數(shù)組鏈表什么的,往樹上想
能想到的只有堆了,不滿意。
OK結(jié)束。有什么問題
最后一道這個? ?回去看看B+樹。我搓~~~
OK,下去看看3面有沒有空。先坐會
5分鐘后,3面沒空,我送你下去
下樓時候very nice,沖我笑笑,揮揮手,這還是一個人么?
整個面試將近3個小時