筆者學歷背景本碩211非計算機專業,最後收穫一波NLP演演算法崗的offer。講道理,我有賭的成分。
當時剛開始複習秋招,在語雀裡建立了個知識庫用於記錄筆記,作為開章,總要給自己打打氣,但是當時不知道怎麼就寫下了下面這個題目,現在看看當時是把自己的路都堵死,準備背水一戰了吧。
之前實習組的老大有一句話說得好,「相逢即是緣」,好像一句話就把人的命運解釋得明明白白。很多時候努力了沒有得到好的結果,可能就是緣分不到,生活如此,找工作亦然。
希望本文能給「有緣人」一些幫助。
現在但凡面試都要準備一個經歷精簡而對口的簡歷、刷到耳熟藍翔的LeetCode題以及倒背如流的自我介紹。
這類準備的東西太多了,不是本文所側重的,可以去各路大佬的分享,這裡我就不做贅述了。
反正,像是一種是態度,劍指offer至少得來一遍吧,面試中常考的,大廠小廠都得考筆試,感覺可以代替面試的自我介紹環節。「同學你好,做道題吧」,就夠了。
return "可以繼續聊聊" if AC else "已放入人才庫"
首先是常用演演算法和模型理解層面。
算方法上,基本的排序演演算法時間空間複雜度、搜尋、資料結構、作業系統都會被考察。宇宙條特別注重這個,一開始初生牛犢啥也不怕,第一個面試直接就敢去面位元組提前批,結果被按在地上摩擦。現在還記得,當時面試官跟我說:「恕我直言,問了這麼多你就說對了一個,就這樣吧」,恨不得找個地縫鑽進去。
當時問得都是很基礎的計算機基礎知識,但是我這方面就是薄弱,都得補。現在想想,果然我這個小菜雞是在面試的碾壓中成長的啊。
模型方面,只要你簡歷上寫的模型,基本都會被問到,記得某廠面試官說:「害,時間還有,那就你簡歷上有啥我就都問一遍吧」。
基本BERT、GPT等預訓練模型,是NLP工程師都在用的,百分之一萬會考到,建議重新看原文和原始碼,李宏毅教授的視訊也看個幾遍,深入地理解下來,整個人都昇華了。常考的問法如下:
當然經典的深度學習模型也會考察一下:LSTM(接softmax、crf的區別,為什麼CRF好啊)、TextCNN啥的都得會吧,幾個loss函數、啟用函數你都熟悉了嗎?
這種模型理解的部落格一抓一大把,系統、細緻的複習就好。我把這部分和刷LeetCode題的過程統稱為「背誦默寫」。就是NLP面試的新八股,這些都很基礎,證明我們的態度到了。和麵試官交流的時候,有一個面試官跟我說,對校招生來看演演算法考察在他那可能只佔三成。可以說,把常用的演演算法都熟悉理解透徹了,你就穩了最簡單的「30分」。
第二,專案內容層面。
現在面試講究一個千人千面,沒有什麼固定的問題,只要你簡歷上寫的專案,面試官感興趣都會進行深入的考察,提前批面阿里的時候,圍繞我的兩篇會議水文嘮了一個小時,我都驚了,原來我做的東西這麼有意義啊。面試官會把我做的東西結合實際場景給出一道題,考察你是不是對這個方向有深入的思考,以及處理實際任務時候的能力。
我有一篇會議是做人名實體抽取的研究,面試官就問我,誒你這個人名抽取很有意思啊,我現在要把這個人名抽取加入到對話中,那我問你,我給模型輸入一句「我想聽一首劉德華」(有首歌叫《劉德華》),模型會給我把劉德華當人名抽取出來嗎?如果抽出來,是錯誤的對吧,如何避免這種問題的發生呢?
準備專案內容層面,是你對自己專案的全方位審視的過程,多問問自己如何落地,他的意義在哪?(就如面試官常問:你的Contribution是什麼?)如果有論文,這一部分會被著重提問。感覺和這樣的工程師在一起幹活是非常有趣的事情,可惜後來因為二面沒過涼涼。
第三,工程方面考察。
有個已經在職的朋友跟我說,他很反對「工程能力」這個詞,這個詞一般都出現在高管面中。「工程能力」聽起來很高大上,其實所謂的工程能力,就是幹活能力,你的工程能力越強, 企業培養你的培訓成本就越低,企業自然願意要一些。不過不要被這個能力忽悠了,我們是NLP工程師,鐵定核心能力還是NLP領域的知識,不然直接找研發工程師不就好了。
如果你有實操經驗,這裡會問問關於模型上線的一些問題,比如模型加速,高並行之類的。從宏觀上考察你對整個工程的認知。看,說起來就是這麼虛無縹緲,所以這裡不要慌,實習一趟全都瞭解了。
如果有實習經歷的話,工程應用層面應該問題不大。
不得不說,今年的疫情帶給我的影響還是很大的。一開始回家的兩個月還能學習一會,但是越往後越學不動了。尤其在五月份得知學校不開學,更是開始放肆,放飛自我,Steam成了除外賣外最大支出,連續兩個月打遊戲到天明雞叫,可能是把這幾年欠下的遊戲時長都補回來了。直到有一天在中午醒來,怔怔地躺著看著窗外的午後陽光,有點恍惚,我這是在幹嘛呢?不念了?遂放下游戲,立地準備複習。
在家gap八個半月,找工作從春招到提前批再到秋招,從信心滿滿到被按在地上摩擦,到刷LeetCode題複習重拾信心,再到和麵試官談笑風生,最後收到幾個offer,就像是一場夢。Offer來的時候我是很平靜的(直到知道薪資的時候開始花枝亂顫,淦,太丟人了,還是沒見過世面啊)。把這個過程記錄在這裡,讓多年以後的我能回過頭來好好「嘲笑嘲笑」現在這個拿個秋招offer就樂得夠嗆的自己。
過往一切,皆為序章。現在什麼行業都講究一個持續學習,不就是學習嗎?扶我起來,我還能學。
該準備畢業論文了,就寫這麼多。祝有緣人皆有善果。
附錄:常見名詞解釋
提前批:網際網路大廠搶大佬大戰提前打響,美其名曰提前批,有大量的實習和轉正機會。
OC: offer call。舉例:「小紅面阿里oc了」,就是說小紅收到了阿里的offer的意思。
HC:Headcount。舉例:「這個部門今年沒有HC了」,就是說這個部門只有實習崗,不能轉正入職。
AC : Accepted,筆試程式碼能測試通過。