經(jīng)常參加面試的同學(xué)肯定有過這種感覺,即使面試過程非常順暢,即使你本身是一個面霸,甚至god like,也經(jīng)常有失手的時候。所以很多同學(xué)把面試歸結(jié)為一門“玄學(xué)”。那么算法工程師的面試真的是一門玄學(xué)嗎?有什么方法能讓你在玄之又玄的面試中逆天改命嗎?我來嘗試給大家一個解答。
一個前提
首先這里有一個前提,敢稱面試為玄學(xué)的人必然是一個技能面積廣闊的人。你室友面了五家公司,有一家沒有給offer,那可能是玄學(xué)導(dǎo)致的,你面了五家公司,一家都沒給offer,那是你的實(shí)力太弱,請回家繼續(xù)苦練本事,擴(kuò)大你的技能雷達(dá)圖。
三個原因
在你實(shí)力足夠的前提下,通常是三個方面的原因?qū)е履銦o法得到offer,這里面有主觀的原因,也有客觀的原因,甚至有不可抵抗力的因素,看看大家能不能找到屬于你的那一條。
玄學(xué)之一:你可能不是面試官想一起工作的人。
站在面試官的角度,我經(jīng)常把面試官給candidate通過的根本原因歸結(jié)為一句話“找到了一個技術(shù)合格且愿意一起工作的人”。
所以面試通過要滿足兩個基本要求,一是“技術(shù)合格”,二是“愿意一起工作”二者缺一不可。所以在你技能合格的前提下,面試官愿不愿意與你一起工作就成了一個關(guān)鍵且略主觀的問題。
但這看似草菅人命的標(biāo)準(zhǔn)其實(shí)是有背后的深刻邏輯的。往俗了說叫做看看candidate投不投緣,往大了說叫做符不符合公司文化,往實(shí)在了說,是要check你是不是能夠順利的與同事交流協(xié)作,得出合理的技術(shù)解決方案。
再進(jìn)一步說,從工作和學(xué)習(xí)的區(qū)別的角度看,工作中知識的重要性其實(shí)是逐漸在降低的,軟素質(zhì)的要求逐漸在升高,你很有實(shí)力,但你傳播實(shí)力的能力同樣重要,就像Facebook總在強(qiáng)調(diào)的impact,Hulu在晉升senior時要考察的跨組合作,其實(shí)都在考察你的溝通能力。如果你在面試中連你未來的同事都聊不來,那你如何去跟別的組的同事協(xié)調(diào)呢?你甚至?xí)鏾ffice跟別的城市甚至別的國家的團(tuán)隊(duì)溝通,你又怎么能在復(fù)雜情況下一起解決問題?所以跟你的面試官聊得來是第一步。
為了驗(yàn)證你未來會不會是一個合適的同事,面試官通常會用拋出一些開放性的問題與你討論,這個問題可能來自一些業(yè)界通用的問題,比如請你設(shè)計(jì)一個“千人千面”的電商主頁商品類別排序模型;也許會來自一些生活中的算法,比如請你設(shè)計(jì)一個微信隨機(jī)搶紅包時生成紅包金額的算法或機(jī)制;還有可能就來自面試官的工作實(shí)踐,比如我在構(gòu)建CTR模型的時候,遇到了嚴(yán)重的數(shù)據(jù)bias的問題,有沒有什么辦法解決。
這類題的特點(diǎn)很明顯,非常開放和發(fā)散,開放到題目本身并不清楚。正是因?yàn)椴磺宄悦嬖嚬傧胍男Ч钦埬闳ブ鲃犹釂栴},我們一起去設(shè)計(jì)一個模型或系統(tǒng)來解決這個問題。在這樣的前提下,有下面兩類candidate可能會被我無情的拒掉:
1.面試過于被動,被面試官生硬的推著走。比如針對“微信搶紅包”這個問題,有的面試者就一句話,“每次用一個隨機(jī)數(shù)生成器生成一個紅包金額不就行了”。如果是這樣的話,你作為工程師的嚴(yán)謹(jǐn)性就蕩然無存了。面試官為了讓你繼續(xù)下去,還要向你提問,比如你考慮過沒有紅包金額的總體分布問題?等等。而面試官期待的是這個問題被你推動著走下去。比如在問題不太清楚的前提下你應(yīng)該反問面試官,每個紅包的金額有沒有上限和下限?需不需要考慮計(jì)算效率問題?我能否在紅包產(chǎn)生時就預(yù)算好所有紅包的金額等等。
2.思路受限,沒有嚴(yán)謹(jǐn)性、開放性和創(chuàng)新性。在實(shí)際的工程問題中,解決一個問題不可能只有一個solution,解決一個問題的solution也不可能是一句話能說清楚的。比如我想跟你討論一下如何設(shè)計(jì)一個電商主頁商品類別排序模型。看到這個問題,很多人會直接說我想用DNN建一個CTR prediction模型來排序。這當(dāng)然可以,但最好請你拋出這個解決方案的時候嚴(yán)謹(jǐn)?shù)叵到y(tǒng)地想一想這個問題,順著工程實(shí)現(xiàn)的思路去跟面試官討論下去,比如
都能得到哪些數(shù)據(jù)和feature;
數(shù)據(jù)量有多大,數(shù)據(jù)延遲有多大;
objective如何制定;
結(jié)合具體業(yè)務(wù),我能不能把商品類別當(dāng)作一個item來對待,或者把類別內(nèi)部的商品當(dāng)作一個item來對待;
我能否使用learning to rank /ctr prediction/多分類模型來解決這個問題;
采用什么模型架構(gòu)更適合這個問題。等等。。。在實(shí)際面試中,你可能無法想的這么細(xì),但請?bào)w會這個意思,作為算法工程師,你應(yīng)該足夠嚴(yán)謹(jǐn)、開放、活躍、創(chuàng)新。
玄學(xué)之二:你的技能樹無法精確滿足當(dāng)前position的要求
這個問題在社招的情況下尤為突出。很多資深的工程師說感覺面試表現(xiàn)不錯,算法題最優(yōu)解,設(shè)計(jì)題聊半天,面試官全程微笑,就是不發(fā)offer。。這樣的情況絕大可能就是你的經(jīng)驗(yàn)不能精確符合職位要求。
大家要注意“精確”二字。在有些情況下公司對面試者的工作經(jīng)驗(yàn)的要求是精確到系統(tǒng)模塊級別的。同樣是計(jì)算廣告算法工程師,我們團(tuán)隊(duì)可能就想招一個做yield optimization或者“預(yù)算控制”算法的,你說你搞CTR搞得風(fēng)生水起,發(fā)了無數(shù)篇頂會,但你沒搞過這個方向,不能即插即用,那只能對不起,作為同行為你點(diǎn)個贊,但offer沒有。
前段時間還跟facebook一位前同事聊天,說他們就想招一個搞大規(guī)模并行機(jī)器學(xué)習(xí)平臺的人。那你說你是做ranking的,你用tensorflow或者mxnet用的飛起,但沒實(shí)現(xiàn)或者修改過源碼,沒自己搭建過parameter server,那也只能對不起,點(diǎn)贊奉上,offer沒有。
針對這類問題有沒有解決之道?其實(shí)是有幾點(diǎn)大家可以注意的,在找工作之前還是要盡可能的多讀幾遍JD,找到那些跟一般JD有區(qū)別的,或者JD上明確寫的“最好有XXX經(jīng)驗(yàn)”,看與自己的經(jīng)驗(yàn)是否匹配;有條件的candidate可以多跟獵頭或者對方hr溝通一下,甚至能夠找到內(nèi)推渠道的同學(xué)可以找團(tuán)隊(duì)的成員了解一下內(nèi)幕消息,都是很有必要的。
玄學(xué)之三:不可抵抗力
上篇文章作者說到參加過十幾場面試,但還是有兩個公司沒有給offer,一個是eBay美國總部,一個是百度某算法部門。eBay掛掉的原因是當(dāng)時英語實(shí)在太差了,設(shè)計(jì)題和開放題答得很差,沒有跟面試官更有效的互動;百度的原因就是不可抵抗力,大約記得是15年底的時候,已經(jīng)拿到口頭offer了,但突然因?yàn)槟呈录玝aidu的校招和社招offer都暫時停止了,這就屬于不可抵抗力因素了。雖然后來跟baidu又有聯(lián)系,但錯過了那個時間節(jié)點(diǎn),也就不考慮了。
可能不可抵抗力的因素在北京這個“寒冷”的冬天會更多一些,有沒有解決之法?也是有的,大家沒事多去北京西郊臥佛寺拜一拜可能會逆天改命。
-
算法工程師
+關(guān)注
關(guān)注
2文章
30瀏覽量
6081
發(fā)布評論請先 登錄
相關(guān)推薦
評論