前言
在校兩年半,沒經(jīng)歷過面試的毒打,第一次面試給了騰訊,周二晚上學(xué)長幫推的簡歷周三下午就打電話來問周四晚上有沒有空面試。那天下午還在趕著數(shù)據(jù)庫的實(shí)驗(yàn)報告,腦子有點(diǎn)轉(zhuǎn)不過來就說了有空,然后仔細(xì)一看好像前兩天剛搶了節(jié)課,正好是周四晚上
orz,算了算了,翹了,周五再去蹭兩節(jié),面試重要。
emmmm。。。從來沒面過試,咋準(zhǔn)備呢?仔細(xì)想了想,面試官肯定會問簡歷上的那個項(xiàng)目,畢竟還是有些對口的,時間有點(diǎn)久遠(yuǎn),就叫了羅大佬來幫忙復(fù)盤一下。復(fù)盤項(xiàng)目的時候,又仔細(xì)想了想大概面試的時候會問些啥,羅大佬叫我去看看別人的面經(jīng)。好的,谷歌“算法工程師
AI
安全”,打開幾個頁面,emmmmmmmm。。。。第一個問題,不會。。第二個,不會。。第三個,還是不會。。。。羅大佬順便給我來了個模擬面試。。涼了啊,怎么感覺自己好像啥都沒學(xué)過一樣的。。。然后周三晚上,就先把自己之前寫的相關(guān)的博客全過了一遍,再把這學(xué)期上機(jī)器學(xué)習(xí)課寫的所有算法再過一遍,然后就是不斷的刷網(wǎng)上的面經(jīng),我也不知道周三晚上幾點(diǎn)睡的,周四早上8點(diǎn)半起來接著補(bǔ)。。除了吃飯和中間兩節(jié)課,基本都在補(bǔ)之前學(xué)過但沒注意到的或是忘了的知識點(diǎn)了。
然后就是周四晚上的面試。。。開始復(fù)盤
復(fù)盤
* 自我介紹(對,從周三晚上開始還一個很重要的事就是準(zhǔn)備自我介紹。。好難啊,面試官還順便問了問我學(xué)這方面多久了,差不多1年了)
*
介紹一下簡歷上的那個項(xiàng)目(我那個項(xiàng)目名稱是“基于流量特征聚類的C&C域名檢測方法研究”,便介紹面試官邊打斷問些細(xì)節(jié)什么的,其中問了下為什么用層次聚類,其它聚類方式用了沒,我回答說試過
k-means ,但 k 值的選取比較麻煩,然后面試官告訴我 k-means 的 k
可以大致估算出來的。。orz。。項(xiàng)目里面有塊涉及深度學(xué)習(xí),面試官好像比較感興趣,然而那塊不是我做的,我對深度學(xué)習(xí)不是很熟,然后后面幾次面試官想問深度學(xué)習(xí)方面的問題也都沒能問,還是自己太菜了,哭了,考完試就開始惡補(bǔ)深度學(xué)習(xí)
orz)
* SVM的目標(biāo)函數(shù)(愣了一下,就說原始目標(biāo)為 \(min \frac{1}{2} \frac{1}{||w||^2}\)
)那這里為什么是二分之一知道嗎(之前推公式的時候糾結(jié)過,當(dāng)時得出的結(jié)論是方便求導(dǎo),推公式的時候多思考思考還是有點(diǎn)用的)
* 介紹下決策樹(想了一會兒怎么說,組織語言有點(diǎn)難),熵的公式
*
集成模型中GBDT的原理(我當(dāng)時說是擬合殘差(因?yàn)榭春枚嗳硕歼@么說),但面試官說不太對,叫我回去好好再看看,我又補(bǔ)了句或者說是負(fù)梯度,就有點(diǎn)懵),還知道其它什么集成模型嗎(RF,隨機(jī)森林,又稍微介紹了下隨機(jī)森林)
*
如果出現(xiàn)過擬合了,該怎么辦(第一反應(yīng)就是加正則化,L1正則、L2正則,好了場面開始尷尬)那L1、L2正則都起了什么作用能說下嗎?(emmmm。。。。。起了什么作用。。什么作用。。gg。。。。emmmm,這個具體細(xì)節(jié)有些忘了。。)那行,接著說其它辦法吧(然后說了K-Fold
和 加數(shù)據(jù))
* (可能是因?yàn)檎f到了K-Fold吧)那說下你知道的模型集成 emsemble
的方法(說實(shí)話我一開始沒聽清問題,但聽到了集成,稍微了愣了下,在想剛剛不是問過了嗎,但又聽到了emsemble 就知道是問融合,然后就打了下知道的方法)
* 看你簡歷上寫了那么多比賽的獲獎,那挑個你熟悉的比賽講講吧(我想了想,就挑了 kaggle 上 IEEE
的那個比賽介紹了下,不過好像主要還是特征工程,就沒有面試官比較想關(guān)注的點(diǎn),于是后面作死說了對 V
那組特征的處理方法,先通過相關(guān)性篩選掉一部分,然后再用PCA)怎么通過相關(guān)性篩的,采用的是什么相關(guān)性(gg。。。我當(dāng)時用的是 pandas 里面的 corr
函數(shù),沒了解里面是啥相關(guān)性,感覺是線性相關(guān)性,但到底是啥。。說了句可能是協(xié)方差,感覺好像不太對。。。)稍微尬了會兒,那說說 PCA
吧(龜龜。。。上周上課老師才講過 PCA, 回來還沒怎么看。。有點(diǎn)忘了,也不知道咋組織語言。。。又 gg )
* (這里開始經(jīng)受暴擊)那看你簡歷上寫著熟悉 TensorFlow,那問問你計(jì)算圖的概念吧(我死了。。。想說自己熟悉的是TensorFlow
2.0,1.x 版本一直沒學(xué),只是能大致看懂,真正開始自己用 TensorFlow 開始寫代碼還是前段時間答辯回來裝了 2.0
GPU版本之后開始的。。??纪暝囇a(bǔ)起來)
* (暴擊x2)你這還寫了個熟悉shell,那我問你個簡單的吧,字符串分割要怎么做(我回去一定馬上改簡歷,以為自己用 shell
寫了個文件轉(zhuǎn)移的代碼就算熟悉了,真是沒經(jīng)過毒打。。然后場面又尷尬了)
11.那再問問你 python 里的 yield
這個關(guān)鍵詞吧(開始以為又要死了,突然想起來好像之前看哪個論文的代碼的時候看到過它,幸好當(dāng)時查了下,算是勉勉強(qiáng)強(qiáng)答上來了)
12.(暴擊x3)看你剛剛提到之前有做過 ACM, 那問你一道算法題吧(當(dāng)時想的是完了,成功給自己挖了個大坑,自從不打 ACM
以來,一年半沒怎么刷過題了,前不久的谷歌機(jī)器學(xué)習(xí)冬令營還因?yàn)楣P試題做的不太好給刷掉了
orz)兩個有序數(shù)組,合并,要求時間復(fù)雜度、空間復(fù)雜度盡可能地?。╡mmmm。。好像還好?跟一開始想象的不太一樣,這不就是歸并排序的最后一步嘛?不對不對,空間復(fù)雜度盡可能地小。。。。再建立一個數(shù)組時間復(fù)雜度已經(jīng)是很小了,但空間復(fù)雜度肯定還不滿足要求,咋做。。。咋做。。。orz。。算了,先回答個最簡單的吧,回答完之后確實(shí)是跟自己想的一樣,空間復(fù)雜度還不滿足,又想了幾分鐘,問了句,這個數(shù)組是不是變長的。。面試官說是的,想到變長也就差不多了)
13.再問問你以后的考慮是怎么樣的,如果選擇的話機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘會選哪塊(我當(dāng)時回答的是如果按目前興趣來看的話會選數(shù)據(jù)挖掘)但是我們這個崗位可能更偏研究一些(我當(dāng)時又補(bǔ)了補(bǔ),就是更偏向于落地,要讓做出來的研究能夠落地,做那種能有實(shí)際價值的,balabala
地又講了一些)那你后面要不要讀研(可能因?yàn)閯倓傊v的時候說到了有跟導(dǎo)師。。然而。。能保研肯定想讀地呀。。。然而沒法成績保研
我太菜了.jpg)你不是圖靈班的嘛,保研還有問題嗎?(暴擊x4,學(xué)校成績上只保 15 個人左右,然后圖靈班總共有31人。。。。)
14.那我的問題完了,你有什么想問我的嗎
我就先問了問面試官對我這次面試的評價,畢竟是第一次面試,還是想知道自己有哪些不足,然后后面回去補(bǔ)。主要就是深度學(xué)習(xí)掌握的程度不夠,考完試馬上就去補(bǔ)
orz。。。然后又問了問他們具體的研究方向,聽了之后感覺還是有點(diǎn)意思的,但是好像目前水平還不夠哇。。
小節(jié)
面完試之后看了看時間,接近一個小時,周三晚上羅大佬跟我說面試時間一般45分鐘到一個小時,我當(dāng)時人都傻了,想了想自己的知識儲備,似乎二三十分鐘就可以結(jié)束了呀,那場面豈不是一度尷尬???面完試自己感覺還好,起碼比自己預(yù)想的要好很多了,不知道面試官具體是啥感想。感覺面試官人很好,盡量避免了問會讓我自閉的問題,
說是一周之內(nèi)出通知,感覺自己能過得幾率不大。。后面繼續(xù)努力了,考完試(年后,最后一門機(jī)器學(xué)習(xí) 31
號,考完跨年,23333)后開始高頻率更新博客,順便改簡歷。。。。
熱門工具 換一換