個人經歷
- 博主之前是一個acm銅牌辣雞,拿過幾次銅首極其遺憾,于是決定去讀個研究生找個地方再戰,博主是那種又菜癮又大的人,所以大四(2018年)沒有秋招還在那打比賽(還打過一個鐵),比賽打完春招發現演算法崗沒有碩士基本沒戲于是只能去找個學校混日子,后來我一通申請去了某個你們想象不到的地方混碩士學歷,期間春招還找過一個月作業,在這邊特別感謝招銀網路發給我人生中第一份offer,雖然沒去,但是以后會多捧招商銀行的場,
- 原本打算碩士再去做做acm,起碼過把癮,但是那個你們想象不到的地方居然有嚴格的年齡限制,博主超齡一個月遺憾退役,
- 碩士選了nlp方向,混碩士的日子比較簡單,我由于之前刷了很多題,雖然腦力不是很行,但是碼力比較行,所以過得不是很辛苦,期間運氣好還拿了兩個AI比賽的第一名(賺了很多錢,AI比賽真的給好多錢),還幫老師做了一個專案所以簡歷上也不是空空的,想來找作業應該不至于被hr刷太狠了,
筆試
演算法工程師的筆試現在很多帶廠基本就是全部演算法題,由于之前本科競賽天天刷題所以做這些都還好,有一些帶廠喜歡來一些八股,這些東西都是背幾成拿幾分,我背了差不多半個月就能應付筆試了,
面試
- 首先面試的是位元組跳動的演算法組,當時據說我的簡歷不夠格,但是是因為筆試成績比較好才給我的機會,因為第一次面試也不知道面什么,所以準備的時候看了很多本不是我研究方向的nlp的內容,希望可以多扯一些,
- 當時是1面2面連著來的(據說是HR以為我比較強,然而并不是),1面的面試內容和nlp相關性非常小,都是一些機器學習的數學基礎,我印象比較深刻的問題是怎么解決鞍點,標準答案是用momentum類的優化器,我這些都沒背過沒答出來后來就沒過,現在想想確實是挺菜的,這些東西背個兩天基本也就知道了,當時優化器這塊都沒準備過,一個合格的nlp演算法工程師確實應該知道這些基本的數學基礎,當時掛掉就決定好好看一下這些,
- 2面問了我的一個得了第一的競賽做了什么東西,那個競賽涉及到IR和NLP兩個方面,但是面試官看起來對IR并沒有什么接觸,所以很多時間都是我在想辦法解釋這個東西是啥,BM25怎么整,RM3是什么原理,Lucene該怎么用這些東西,
- 最后結果是他們覺得我搞機器學習不太行,但是應該能做開發希望我轉開發,很感謝他們肯給機會但是我覺得我應該還行就沒轉,數學基礎我補上應該就好了,
- 之后投了平安保險的實習,
- 1面的面試都比較和nlp相關,背了一下lstm的公式,背了一下attention的原理,大概講了一下pytorch寫個模型要怎么搞pipeline,好像還有一些比較八股的為什么RNN會梯度消失啊,LSTM可以解決梯度消失這些問題,學校上課實作過rnn這些東西,所以這個并不是很難,輕松過掉了,最后寫了兩個演算法題,寫的也很快,
- 2面寫了兩個非常基礎的演算法題,聊了一些簡單的NLP基礎的問題,最后是啟發式的問題,我答得非常尷尬,當時面試官問我像他們平安保險這樣的保險公司能夠用nlp技術做什么,我說我們應該要做生成式的智能客服和智能推銷機器人,不能一直著眼于做模板問答,這種簡單技術一定會被淘汰,結果面試官告訴我他們做的機器人是讓客戶一個個自己去選問題點下一步的那種最簡單的模板問答,我頓時尬住了,其實回頭想也有道理吧,先做這樣的機器人才有產出,先做nlp技術也沒有達到智能的地步,沒有足夠的投入確實不應該追求太復雜的東西,
- 面試官人都很好,最后我是過了,不過hr要求4500塊在北京實習半年,我覺得虧大發就沒去,
- 又是位元組跳動,第一次掛掉后受acm隊友的PUA轉投了他隔壁組的研發(據說也能做nlp),這次一共三面,由于有了上次的教訓我惡補一些數學,我這回沒有在基礎上被問住了,
- 一面面試官很像一個我的同學,看到他我一直想笑但是好在忍住了,一面面試官人很好,有時候我講錯了他會幫我補充正確,然后有的問題他聽得出我會就不用我非常麻煩的講完,具體問的都是一些NLP的基礎問題,還有一題桶排序,我應該都答對了,
- 二面面試官非常重的廣東普通發,程序和一面差不多,最后花了一點時間寫個八皇后,我剛開始腦癱了沒想起來,最后好在在面試結束前把題寫對了,
- 三面面試官應該是個部門大leader,問的問題都比較high level,還問了一些對linux的基本運用,最后給了我兩個最簡單的演算法題,而且我二選一就可以,結果我居然在最簡單的問題上腦子卡主了,不過好在最后是過了,我因為卡了一個簡單演算法題懊悔了半天,
- 后面等到了阿里巴巴,
- 一面是電話面試,那時候好像是7點半,我正在帶女朋友打王者榮耀,當時接到電話問了我一些個人資訊的問題,我還以為是hr,就一邊打游戲一邊回復他(夸一下華為手機,可以一邊打游戲一邊回電話),答了一些基本資訊之后他突然開始問我的專案,我當時一懵還覺得阿里的hr真的牛批還會技術問題,我游戲打了15分鐘快結束了不想坑隊友,就一邊慢慢悠悠的講專案一邊打游戲,突然他開始問我里面的細節,我才發現這好像是技術面試不是hr,我后面雙線操作了一小會回答了幾個細節的問題,這個破游戲終于結束了,問完專案他開始問我一些基礎的問題,c++的基礎我背了一點點八股,卻把虛函式怎么定義忘了卡了好久,不過面試官人很好放過我了,后面還有一些啟發式的問題,面試的程序中感覺的出他是一個對演算法也有熱情的人,講原理他語速會加快,而且我了解的他都知道(之前從沒有這種感覺),最后他給了我一個最簡單的演算法題topk,我由于太過膨脹沒有準備過演算法題記憶混亂,一直說這個玩意是單調佇列,其實這個東西叫優先佇列,而且我還暫時性失憶忘記這個東西怎么寫了,扯了了一個n根號n的分塊演算法和一個桶排序的方法,最后勉強過關了,不過感覺他應該也是第一次電話面試吧,我第一次在電話中被要求推導SVM,我答了一半頂不住了要求換題了,
- 二面是正式視頻面試,hr和技術一起來的,面試官沒有再問我什么基礎的問題,和我聊了一下我做的兩個競賽還有專案,第一次不用做題不用背書還不是很習慣,hr小姐姐人也很好,問了一些簡單的hr問題就過了,我記得有個問題是問最想做到什么,我回答說以后我希望我媽用淘寶我告訴她這個東西是我做的,我會覺得我牛逼壞了,
- 三面是交叉面試,由于視頻出了問題就電話面了,交叉面試只有30min,我講完我剛寫好碩士論文,面試官就叫我聊聊碩士論文寫了啥,我就把我我那個看起來和shit一樣的meta-learning結合nlp的東西講了一遍,交流程序類似論文答辯,我記得我做的最大的努力就是用語言表達我這個東西是啥,交叉面試應該就是為了檢查我是不是個nt,我那天不是個nt所以后來就過了,
- 后面等到了美團
- 美團是少有的沒有內推簡歷就過了的,估計是我那兩個競賽的緣故,美團面試官當天生病了,所以問題好像減了難度可以早點結束,他問了一些nlp的簡單基礎,演算法題是快排和LIS,都很簡單,不過后來說要去北京作業就決定不繼續聊下去了,
- 之后是小米
- 小米的面試體驗極差,我覺得我脾氣算是非常好的人,但是差點忍不住直接掛斷,小米面試官連線之后我聽著噪聲非常大,基本聽不清說什么,我檢查了我的設備,發現沒有問題,面試官說他剛面完一個,沒說有問題,應該是我的問題,我再檢查了一次,我覺得就是他的問題,但是沒辦法,他說是我的問題只能是我的問題,我只能忍耐一下,面試開始沒有什么有價值的問題,聽完我的介紹對我的專案和比賽看起來也沒什么興趣,提問開始之后先問了機器學習的問題,記憶中應該也是一些沒什么意義的八股,后面開始問一些c++的基礎,應該是小米的題庫里面的八股,非常八股,有的我知道答案也懶得算,后面還做兩個個演算法題,第一題在一個有序的陣列中尋找出現次數超過一半的那個數,我有基于概率的logn的做法,他說答案不能保證100%對,然后我寫了一個o(n)的暴力,第二題題面是很大的stream里面隨機出n個數,我覺得這個問題就等價于等概率生成n個數,所以需要知道一共有多少數,面試官一直糾結說我不知道要做什么,問我知不知道stream是什么,要是有一個100G的資料你怎么讀到記憶體里面,我說這個題就等價于生成n個數當做下標,把這些數取出來,他說讀不進記憶體,我覺得你一個個讀也沒事啊別存就行了,他說你這就是抬杠,我無語了,那天他的噪聲特別大嗡嗡嗡忍了半個小時我終于不想干了,就道了個歉說我真的沒有get到這題是啥意思抱歉,講道理小米的面試明顯就是面試官手上有個題庫,在題庫里面抽一些八股來背,我覺得沒什么意思,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/204194.html
標籤:其他
上一篇:上手評測感受rtx3070和rtx3080對比-rtx3070和rtx3080選哪個
下一篇:用c語言實作三子棋,它來了!!
