職位類(lèi)型:職員(研發(fā)類(lèi))
面試地點(diǎn):南京
招聘公司:北京小米科技有限責(zé)任公司
今年的大部分時(shí)間我一直處在沒(méi)有工作的狀態(tài),一直晃蕩了好幾個(gè)月了,不過(guò)我有兩個(gè)很好的朋友在小米公司上班,這幾天正沒(méi)事和他們出來(lái)找個(gè)地方坐了坐。我是個(gè)嘴笨的人,一跟他們聊起要找工作就輪不到我說(shuō)話了。聽(tīng)他們說(shuō)他們和公司里的人熟可以指點(diǎn)我一下,我呢,猶豫了半天,考慮再三,決定去這個(gè)神奇的創(chuàng)業(yè)公司走一遭,其實(shí)我也一直覺(jué)得小米比較靠譜呢。
到了小米,宏源大廈的新辦公地點(diǎn)。新辦公室比較空,很多空位。前臺(tái)領(lǐng)我到一個(gè)會(huì)議室,然后請(qǐng)來(lái)了一面的面試官。
和面試官先隨便聊了一下背景,讓我寫(xiě)一個(gè)有序鏈表的歸并。在一面前,先被領(lǐng)著去參加了機(jī)試(果然還是逃不了),20分鐘一道題,類(lèi)似acm,把題目提交到oj上自動(dòng)判分。機(jī)試沒(méi)有太大難度,一道冒泡排序的題,十幾分鐘慢悠悠寫(xiě)完,但是坑爹的時(shí)候到了,提交后提示編譯錯(cuò)誤,看了錯(cuò)誤日志,iostream未找到?仔細(xì)檢查了代碼發(fā)現(xiàn)沒(méi)有問(wèn)題啊,然后問(wèn)旁邊的工作人員,這個(gè)不是寫(xiě)的cpp么,提交后為何顯示選擇的語(yǔ)言是c?面試官看了一眼:啊,只能用C。只能用C。。。那你把CPP作為選項(xiàng)干啥。。。后來(lái)跟工作人員協(xié)商,直接把代碼copy到記事本里,人工判分,然后出去等結(jié)果。幾分鐘后順利通過(guò)機(jī)試,準(zhǔn)備一面。
一進(jìn)面試那間屋子就嚇了我一跳,以前面試我這個(gè)職位的都是一對(duì)一,剛進(jìn)屋就看見(jiàn)全是人,我都不知道該坐哪了,我的左邊右邊分別是來(lái)面試的同學(xué),對(duì)面坐著我的面試官,幾個(gè)人幾乎是緊挨著。。這尼瑪太受干擾了啊,我記得我面試到一半的時(shí)候,旁邊的面試官對(duì)一個(gè)接受面試的同學(xué)說(shuō):我覺(jué)得你技術(shù)還是不到家,你可以回去了,這時(shí)候壓力山大啊,因?yàn)樽约簞倓偙灰坏李}卡住了==
下面說(shuō)說(shuō)一面都問(wèn)了些啥:
1.先讓自我介紹,老流程了,稍微介紹了下自己,以及做過(guò)的項(xiàng)目就過(guò)了,這個(gè)沒(méi)啥。
2.然后面試官拿起我的成績(jī)單,認(rèn)真看了會(huì),然后問(wèn):啊,你學(xué)過(guò)日語(yǔ)啊,來(lái)說(shuō)兩句日語(yǔ)聽(tīng)聽(tīng)==面試官你沒(méi)看到我的日語(yǔ)剛剛及格么,硬著頭皮說(shuō)了不超過(guò)五句話,實(shí)在是說(shuō)不出來(lái)了。。
3.哲學(xué)家就餐問(wèn)題,這個(gè)是操作系統(tǒng)里講到的東西,記得不太清楚,稍微給面試官說(shuō)了下算法
4.問(wèn)我在昆山的項(xiàng)目用的是什么數(shù)據(jù)庫(kù),為什么選擇那個(gè)數(shù)據(jù)庫(kù),然后讓我寫(xiě)了幾句sql語(yǔ)句,這個(gè)很輕松
5.計(jì)算機(jī)網(wǎng)絡(luò)的七層結(jié)構(gòu),并且從底到頂排序,自己只記得六層,忘記了會(huì)話層,不過(guò)順序倒是記對(duì)了
6.寫(xiě)了個(gè)排序。這個(gè)是最后一題,面試官說(shuō)你前面的表現(xiàn)并不足以說(shuō)服我讓你通過(guò),我再給你最后一個(gè)機(jī)會(huì),給你五分鐘,寫(xiě)一個(gè)排序,注意考慮容錯(cuò)問(wèn)題,這下子壓力來(lái)了,速度寫(xiě)完了代碼,然后給面試官看,面試官看了一眼就說(shuō),你這大括號(hào)沒(méi)有配對(duì)啊,我拿過(guò)來(lái)一看,果然少寫(xiě)了一個(gè)反括號(hào)。。。然后面試官又說(shuō),你這個(gè)if下為何不寫(xiě)大括號(hào)?我說(shuō)這個(gè)就一句語(yǔ)句,不需要寫(xiě)大括號(hào)啊,面試官皺了皺眉說(shuō):難道你們軟件工程沒(méi)有說(shuō)編碼規(guī)范的問(wèn)題么?我一下子被哽住了,說(shuō)不出話來(lái),氣氛一時(shí)很緊張。
他們面試時(shí)給我出了一份卷子大致內(nèi)容是下面這些:
一面
1.一個(gè)map中存有類(lèi)似如下的數(shù)據(jù):
key value
"a" "afasfwaeqwfwa(b)eqwgewgrqgq"
"b" "frgwegqgg(c)fqf(d)dqf"
"c" "fqfgrfwgrw"
"d" "gwrgwergqwg"
現(xiàn)在寫(xiě)一個(gè)函數(shù),將"b"的value中的“(c)”和“(d)”分別用"c”和"d"的value替換,然后將"a"的value中的“(b)”用"b"的value替換。注:上面的map只是一個(gè)例子而己,實(shí)際情況可能更復(fù)雜。
二面
1.給2個(gè)無(wú)序數(shù)組ab
對(duì)于任意一個(gè)b在a中找出與其最接近的值
使用二分或者三分二分需要判斷多種情況
2.給出一個(gè)二叉樹(shù)包含數(shù)據(jù)按照中序遍歷的順序找出第k個(gè)元素
解:⑴中序遍歷直接找出(遞歸非遞歸)可優(yōu)化
⑵使用二叉排序樹(shù)結(jié)點(diǎn)遍歷的順序進(jìn)行編號(hào)
⑶面試官提醒可以通過(guò)結(jié)點(diǎn)的數(shù)據(jù)域來(lái)做可以到O(logn)
3.討論了些c 的知識(shí)
禁止一個(gè)類(lèi)被繼承使用虛繼承跟友元可以完成
用c實(shí)現(xiàn)多態(tài)
三面
1.鏈表的各種經(jīng)典問(wèn)題判斷環(huán)相交結(jié)點(diǎn)等
2.const的各種用法
3.一個(gè)不規(guī)則多邊形判斷一個(gè)點(diǎn)是在多邊形內(nèi)還是外
4.操作系統(tǒng)線程狀態(tài)圖線程進(jìn)程區(qū)別虛擬內(nèi)存cpu調(diào)度cache替換算法等
5.計(jì)算機(jī)網(wǎng)絡(luò)OSITCP/IP三次握手四次握手問(wèn)的很細(xì)四次握手為什么是四次不是三次三次為什么不是兩次
這次面試大致給我的感覺(jué)挺靠譜,應(yīng)該沒(méi)什么大問(wèn)題,希望上面寫(xiě)的內(nèi)容,能給看官一些幫助。