招聘心得

前言
  首先聲明,樓主絕非技術大佬,但是作爲剛剛結束秋招的“過來人”,深知求職的不易,尤其是在當下“互聯網寒冬”的大環境下,找到一份自己滿意的工作絕非易事。因此,在這裏整理自己求職過程中的一些心得體會,希望能讓學弟學妹們在求職的過程中少踩幾個坑,早日拿到自己心儀公司的offer。
  樓主是武大本科,北大碩士,在CV這個領域是半路出家,真真正正接觸這個行業的時間,滿打滿算只有一年,其中包括深睿醫療4個月的實習經歷以及華爲2012實驗室2個月的暑期實習經歷,所接觸的主要是cv相關的一些商業項目,項目週期相對較短,深度也是相對較淺,且無任何比賽經驗、英文論文,因此樓主的簡歷背景在今年龐大的就業大軍裏最多隻能算作中等水平。不過,通過自己的努力,還是拿到了包括科大訊飛、猿輔導、雲從科技等在內的7個offer,雖然不比BAT大佬,但也基本符合預期。
  言歸正傳,樓主的秋招從7月中旬開始,前後持續了2個半月, 投遞簡歷60份左右,大約有35家公司給了面試機會,每個公司的面試通常包括2-4輪,保守估計,面試總場數在80場左右,因此算是有一定的面試經驗。在這裏樓主談一下自己對於面試技巧以及公司選人標準的一點粗淺的理解,歡迎大家討論!

面試關注點
  這麼多場的面試面下來,樓主以爲,公司考察的點無非包括這麼幾個:

1.項目經歷
  項目/實習/比賽經歷通常是互聯網公司尤其是算法崗最關注的點,現在早已經不是2年前靠手推SVM就可以進BAT的就業形勢,當前互聯網大環境不好,各大公司算法崗hc不足,甚至普遍出現了飽和的現象,因此,現在公司挑人不僅僅會要求你基礎牢固,也會非常看重你的實踐經驗,經歷匹配在簡歷初篩的這一步就會作爲重要的篩選條件,更誇張的是,有的公司會在實際業務的層面上要求經歷匹配。比如,我是做醫療影像的,曾經有一家公司以他們是做新媒體圖像檢索的拒過我簡歷;我是做目標檢測的,有一家公司以他們主要在做語義分割爲理由拒掉了我。所以說,積累相關的項目經驗是重中之重。在這個基礎上,公司非常看重項目的深度以及候選人思維的開闊程度,面試過程中,面試官可能會針對一兩個細節不斷追問,一方面確定項目是否由候選人自己完成,另一方面考察候選人對自己的項目理解程度如何。另外,面試官可能會問項目的一些可能的改進方向,來考察候選人的論文閱讀量、實際解決問題的能力以及是否對這個問題有深層面的思考。

2.coding
  除了項目經歷以外,代碼能力是算法崗面試的另一個必考點。面試官通常會現場出1-3個代碼題,讓候選人在白紙上手寫代碼,俗稱“手撕代碼”。這一點非常重要,算法研發涉及到大量算法的實現以及工程化開發等工作,因此基本的代碼能力是算法崗考察的重中之重。比如常見的動態規劃、DFS、BFS、排序算法、雙指針算法等,都是面試常考的點。樓主曾經遇到的一些題目包括K最大、堆排序、最長連續子序列、二叉樹層次遍歷、二叉樹的非遞歸遍歷、鏈表反轉等。在這裏還要糾正部分同學的一個誤區,那就是認爲只要代碼實現出來了就萬事大吉了,錯!面試官會追問你算法的時間複雜度、空間複雜度、有沒有優化的空間等問題,來重點考察候選人對於算法基礎的理解,所以那些想着靠“暴力求解”和背答案的同學可能要老老實實補一下自己的算法基礎了。

3.深度學習、機器學習基礎
  部分公司喜歡問一些基礎知識,比如深度學習裏面的BN層、dropout層、解決過擬合的方法、L1和L2正則化的區別、ROI pooling和ROI Align的區別、經典的RCNN系列和Yolo系列等,再比如機器學習的SVM、LR、CRF、集成學習經典算法等,都是常問的知識點,樓主以爲,這些都屬於背誦題的範疇,只要肯花時間去學,用心理解用心記憶,這些都是沒有問題的,切忌覺得這個工作裏不用就不去看!樓主用的書是《百面計算機視覺》這本書,但是這本書可能涉及版權問題,所以這裏不做過多解釋······

4.數學及智力題
  有些公司喜歡用智力題來考察候選人的思維敏捷度,比如經典的海盜分錢幣問題、拋硬幣的概率計算問題、隨機採樣問題,處理這些問題主要是靠臨場發揮,不過也需要一些預備知識比如概率論與數理統計、博弈論的基本思想等等,再就是通過多面試多刷題來積累相關的經驗。

5.計算機基礎知識
  這一項屬於加分項,我知道對於很多非科班出身的同學來說,要把這個學會的成本很高,因爲我就是其中之一。但是,在競爭異常恐怖的今天,有的時候加分項就是淘汰池與備胎池的區別,或者是備胎池和offer池的區別,因此,編譯原理、操作系統、數據庫、SQL語言等一些計算機基礎知識,大家有時間的話還是要去學習的。

6.實際場景題和科研進展的follow程度
  許多公司喜歡把自己業務裏遇到的場景拿出來跟候選人討論,來考察候選人思路是否清晰、對算法的運用是否得當以及實際考慮問題是否全面、解決方案是否可行等等,這一部分沒有竅門,只能靠多讀論文多做項目來積累。樓主在面試中,還被問到過最新論文的問題,談一談自己對今年新發表的一些論文的看法,這個同樣沒有竅門,需要去追蹤一些最新的科研進展,直接去讀論文或者看技術大V的博客都可以。

7.一些open的問題
  這個通常是在主管面或者hr面裏面,面試官會問關於職業規劃、自身的優缺點、自己最得意的項目、自己喜歡做的方向、自己對於行業的理解與認識、是否能來實習等等,關於這些問題,建議同學們提前想好怎麼回答,公司普遍喜歡對自己的規劃清晰明確、肯吃苦、符合公司的文化、表述問題條理清晰有理有據的同學,大家可以根據公司的性質、崗位的要求等等這些,結合自身的實際情況事先想好一些可行的答案。

給學弟學妹們的幾點建議
  針對上面提出的面試重點關注的一些點,以及我求職的一些體會,我想給學弟學妹們幾條建議,希望能帶來一點幫助。

1.明確方向,及早規劃
  求職過程中,樓主有一些同學不明確自己想做的崗位,把算法、開發、產品、運營等等各種崗位都投一下,私以爲這樣非常不利於自己的求職,因爲現在的就業形勢非常嚴峻,樓主全身心地準備其中一個都時常覺得力不從心,更何況同時試水多個職位呢。因此,建議學弟學妹們儘早地想好自己以後想做什麼,可以多去看一些博客或者學校的一些就業推送,早點思考自己喜歡的職業和方向,明確了之後,就可以深入地去了解這個行業所需要的一些技術能力,然後根據自身的實際情況做好規劃,循序漸進地提高自己。這樣就不至於像無頭蒼蠅一樣到處亂轉,並且這個學習提高的過程也會給自己帶來很多信心和成就感。

2.提早準備,積累相關的經驗
  “紙上得來終覺淺,絕知此事要躬行”,在實戰中提高是必不可少的一步。據我所知,研一的一年基本都是在上課,不會參與太多實驗室的工作。因此,建議有條件的同學們提早出來實習,不要擔心自己能力不足做不了(樓主找第一份實習的時候連歸併排序都不會)!!!實習可以循序漸進,先找一些小規模的公司,然後逐步提升,但是一定要找技術氛圍濃厚、能切實學到東西的公司,千萬不要去做重複性工作(比如標標籤、畫圖這種)。如果導師不允許實習,那麼可以利用自己的空閒時間參加一些比賽(比如天池、Kaggle、AI challenger等),並且越早越好。

3.夯實相關的基礎知識
  之前也有提過,算法崗的面試會涉及深度學習、機器學習的大量基礎知識,大家可以選擇一些網課和書籍來學習,在這裏樓主推薦《機器學習》西瓜書、李航老師的《統計學習方法》、《百面機器學習》、李飛飛老師的CS231n課程,歡迎各位補充!基礎的掌握務求深入細緻,千萬不要浮於表面只瞭解基本概念,要深入地思考一些技術細節。舉個簡單的例子,BN的原理大家應該都知道,但是如果我問你BN有幾個可學習參數,BN的參數是什麼維度的,BN有什麼劣勢,BN抑制過擬合的原理是什麼,這些大家都能回答地上來嗎?此外,建議大家在學習基礎知識的過程中注意聯繫和總結,比如,還是以BN爲例,BN存在一定的劣勢,那麼其他的什麼歸一化方式能彌補它的劣勢呢,這些歸一化方式相互之間有什麼優缺點、又是適用於什麼具體場景呢?而這些聯繫,通常也是面試官提問的思路線索。

4.堅持刷題
  coding寫不出來面試必掛!這個規律目前屢試不爽,除非你是有頂會的大牛,否則coding一定要寫出來,不然自己的面試分數會非常低!樓主常用的刷題平臺是牛客網和leetcode,題目量非常大,如果大家時間不足,建議首先把劍指offer以及leetcode的前150題吃透,然後根據自己的情況,按照類別做一些強化訓練。刷題的功夫在平時,切忌面試前拿個一兩個星期隨便刷個十幾二十道題。刷題的過程中,注意總結題型,並且,一定要去找最優的解法!!!不要滿足於把題目ac了就可以了,一定要去搜索相關的最優解法、思考時間複雜度、考慮常見的邊界問題、總結常用的解題思路!!!

5.提前想好項目怎麼講
  這是面試的一個技巧,面試的時間有限,怎麼才能在有限的時間內展現自己的優勢所在、讓面試官認可你呢。樓主以爲講項目的思路是關鍵所在。通常,面試官想聽的是這個項目的需求、解決方案、創新之處、成果等,也就是說,這個項目是要做什麼,你做了哪些工作,哪些是比較創新的,遇到了哪些技術難點,想了什麼辦法來解決,最後取得了什麼效果。樓主在面試過程中,通常會按照背景+需求+分條陳述技術關鍵點+自己的工作+效果的思路來講,這樣起碼能做到讓面試官理解你在做什麼。另外,這個過程中要注意突出自己的工作,還要想好怎麼回答自己爲什麼要這麼做,其他的方法嘗試過沒有,有沒有對比過,爲什麼這個方法可以而其他的方法不行等等。現在的算法崗,調包俠的競爭力是比較差的,面試官想看到的是候選人獨立思考、改進實驗、解決問題的能力。

6.心態一定要穩住
  樓主從7月底開始找工作,一個月之後纔拿到第一個offer,並且瞭解到朋友當中有至今拿不到滿意offer的同學。在這裏想告訴學弟學妹們一句,求職是場漫長而又艱苦的戰鬥,心態一定要穩住!!!最開始的多少連掛,或者多少次簡歷被拒,這都是正常的過程。千萬不要糾結於自己爲什麼會掛,更不要去想別人拿了好offer,或者有爲什麼別人有offer我沒有這樣的想法。求職有的時候需要一點點運氣,簡歷被拒可能不是因爲你能力差,而是因爲公司hc不足、或者人家想要做軟件的你一個做算法的去報等等;面試通不過也可能不是因爲你不行,而是因爲恰好有比你更行的,或者就是別人面試發揮更好。樓主曾經有一次面試所有問題都回答上來,依舊沒有通過,後來瞭解到,就是因爲崗位的hc較少,別人更加優秀。因此,心態千萬要穩住!!!所有人到最後都拿的到offer,千萬不要掛了一兩次面試就自暴自棄,從長遠來看,準備面試的過程對於以後的工作乃至自己整個的人生都是有很重要的意義的。

結語
  “一分耕耘,一分收穫”,只要沉下心來準備,總是能學到很多東西的。樓主在這裏祝所有的學弟學妹能夠早日拿到自己心儀的offer!
  第一次寫博客,歡迎各位批評指正!
————————————————
版權聲明:本文爲CSDN博主「Lovewxy_不再回憶」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_37627840/article/details/101536344

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章