關於春招 & 秋招面試的一些經驗
2019 年第 24 篇,總 48 篇文章
本文大約 5000 字,閱讀大約需要 15 分鐘
週末了,就不寫技術了,來聊聊關於春招/秋招面試的事情,剛好最近也是逐漸開始春招找實習或者找工作的時候了,我就介紹一些當初準備春招實習和秋招工作面試的一些經驗吧,主要是演算法工程師崗位的經驗,但其實除了在面試的知識準備部分有所區別,對所有技術崗位都是適用的。
1. 面試的準備
個人認為,面試是否成功,主要就是靠 硬實力+運氣 ,前者是基礎,後者則是可遇不可求,即便你努力去轉發錦鯉或者楊超越妹妹,也不一定會受到幸運女神的眷顧,所以首先還是牢牢把握可控的因素--自身實力!
而實力部分主要是對知識的準備,包括以下幾項:
-
實戰經驗,包括實習經歷、專案、比賽、科研論文等;
-
演算法,機器學習、深度學習的演算法知識,更具體方向的計算機視覺、自然語言處理、語音識別、推薦系統、廣告點選率等知識;
-
資料結構(連結串列、樹、圖等)+演算法(貪心、動態規劃、分治、排序查詢、回溯等)
-
程式語言
-
計算機基礎,包括作業系統、Linux、計算機網路、資料庫等
不過,如果是春招找實習,那麼可能很多人是缺乏實戰經驗的,即沒有實習經歷和比賽經驗,對於研二的同學,也會遇到科研專案和尋找的崗位不匹配,沒錯,這裡 實戰經驗的大前提是與尋找的崗位匹配 !不匹配的專案等實戰經驗千萬不要寫在簡歷上,它對你的面試並沒有太大幫助,甚至可能有反作用。
實戰經驗的重要性在於可以將面試官會提問的問題固定在某個領域,比如如果是影象方面的專案,面試官一般也是提問影象方面的問題,而不會突然問語音或者推薦系統的問題(除非你還有這樣的專案或者投這方面的崗位,否則概率極低)。
所以 有實戰經驗,面試官就會根據你做過的專案/實習經歷等來開始問題以及拓展到對應的演算法知識 ,比如你做的是影象分類的問題,用的是 CNN 網路模型,那麼除了問你在專案中的工作以及成果,還會繼續問下 CNN 的一些知識點,比如 BatchNorm 這個非常常見的問題(我當時面試時候,經常遇到這個問題),然後也有可能會一些分類方面最新最前沿的一些技術或者網路模型。
因此,對於自己的專案,需要非常熟悉,並且最好提前進行演練,即對專案的介紹,這裡建議可以給自己的同學介紹專案,保證表達比較順暢,不會有過多的停頓,而且將重點內容都完整表達出來!
而如果沒有這部分知識,面試難度就會自動提升至少一個檔次了,面試官就只能提問演算法、資料結構、程式語言部分的問題,這時候你得祈禱面試官問的剛好是你複習過的,掌握了的知識點,畢竟這幾個方面其實包含了很多知識,要想完全複習好這幾個方面的知識,並不容易,除非提前幾年就開始有計劃的系統性的學習和複習。
除了對於知識的準備,還需要準備一份 大約 1 分鐘左右的自我介紹 ,簡單介紹自己的基本資訊,求職崗位,自己的優勢點或者掌握的知識和技能,以及為什麼投遞這個崗位和選擇面試的公司。
然後呢,還需要準備 幾個提問面試官的問題 ,這是因為通常面試結束時候,有的面試官會給你提問問題的機會,這時候最好是要問1-2個問題,而不是說沒有其他問題,一般可以諮詢下面試官的部門(瞭解自己被哪個部門面試,也是可能實習的部門)、部門的業務內容,比較有風險的就是詢問自己這輪面試的表現了(特別是明顯知道表現不好的情況)
此外,這裡推薦幾個有關面試的 Github 專案:
1.第一個也是最近非常多公眾號推薦的一份面試總結 Github--2018/2019/校招/春招/秋招/演算法/機器學習(Machine Learning)/深度學習(Deep Learning)/自然語言處理(NLP)/C/C++/Python/面試筆記
https://github.com/imhuay/Algorithm_Interview_Notes-Chinese
2.之前推薦過的一個深度學習 500 問教程: [資源分享] Github上八千Star的深度學習500問教程
https://github.com/scutan90/DeepLearning-500-questions
2. 實習很重要
春招實習是非常重要的,無論如何都務必好好準備春招實習,並且爭取拿到實習 offer,這有幾點好處:
-
首先自然是有了非常重要的實戰經驗,而且在秋招中有了一定的優勢;
-
第二,通過實習轉正獲取工作 offer 的難度要小於秋招找工作,這也是個人親身經歷了,實際上很多公司的校招名額都會預先留給實習轉正的同學;
-
第三,實習轉正,並最終選擇這個 offer,那麼也有利於工作後的無縫接入,快速進入狀態,這也得益於實習的經歷(一般都是2-3個月實習時間),對公司、部門、自己的工作都比較熟悉了。
所以,即便被 10 家、20 家、50 家公司拒絕了,也不要放棄,實習經歷真的非常重要!
3. 簡歷的準備
對於技術崗位,簡歷其實不需要太過花哨,簡潔明瞭即可。我有以下幾點經驗:
1.首先簡歷一般需要包含以下的資訊:
-
基本資訊,姓名、學校、性別、手機和郵箱、 求職崗位 (這個很重要)、 個人部落格 or Github (加分項)、教育背景(一般從本科開始寫)
-
實戰經歷,包括實習、專案、比賽、科研論文,最好至少包含兩個,並且與崗位匹配,然後主要寫專案背景、自己的工作以及工作成果,不需要太過詳細;
-
技術/能力,對應於演算法、資料結構、程式語言這些, 注意,不要用精通 !一般是用 熟悉 來介紹對技術的掌握程度,如果只是瞭解也不需要寫,此外,這部分也適當詳細寫,比如對於機器學習演算法,可以寫熟悉邏輯迴歸、支援向量機演算法,這樣方面引導面試官提問這些演算法知識,而不是籠統的寫熟悉機器學習演算法!
-
成績和獲獎情況,這部分如果是對於網際網路公司,一般可以不怎麼寫,但對於國企還是必須寫的;
2.簡歷最好是 儲存為 pdf 格式 ,而不是直接傳送 word,這是考慮到 word 不同版本會導致格式出錯問題;
3. 簡歷名字一般以“姓名+學校+求職崗位”命名 ,並且傳送郵件時候,主題也應該以這樣的格式來寫;
其中第三點就是為了保證能通過簡歷篩選,當然這一關對學歷是有要求的,通常 985/211 學校會容易通過,非 985/211 的學校同學可能這一關會遇到很大的難度,但一定不能放棄,原因自然是第二點說的實習很重要,特別是如果你的學校已經不佔據優勢了,如果還沒有實習經驗,那麼秋招尋找工作就難上加難了。
4. 邊面試邊總結
對於技術崗位來說,需要準備的東西真的非常多,從程式語言,到資料結構,再到演算法,計算機網路、Linux、作業系統,每一項如果要深入瞭解,都有很多問題可以問的,所以完全準備好再投遞簡歷,基本是不可能的,或者說時間不等人,完全準備好可能就錯過實習面試的時間點,通常都是先開始面試,然後查漏補缺,以戰養戰!
但這也是有一些技巧和策略的:
-
首先要通過 投遞一些中小公司 來熟悉和積累面試經驗,而不是一開始就挑戰 BAT,特別是你心儀的公司;
-
儘早進行內推,抓住內推的機會,即便是心儀公司,也不能推遲太久,比如現在開始的春招實習,3 月份應該就開始很多公司的內推了,一般到 3 月底就結束內推,開始進入正式的校招階段,內推很多時候都可以直接進入面試,而不需要筆試(很多公司的筆試都非常難,比如網易),而且大部分公司在內推面試失敗情況下,還可以參加正式校招筆試和麵試,少量公司才可能因為內推失敗而無法進行校招面試,所以即便是為了先熟悉面試過程,也不能將投遞大公司內推簡歷的時間推遲太久,最好三月中旬就要開始進行內推;
-
即便筆試沒過,還可以嘗試霸面 ,也就是去面試現場投遞簡歷,坐等被面試官看上你的簡歷,多數公司都允許霸面,當然概率一般不高,但記住即便是 1% 的概率也需要去嘗試,還是這句話,實習很重要!
5. 關於面試
通常面試有三種形式,電話、視訊和現場面試,難度依次增加,不過實習時候通常會以電話和視訊面試為主,主要也是很多公司實習一般只會在特定的幾個城市設定現場面試的機會,一般就是公司總部所在的城市,當然其實也就是幾個大城市,北京、上海、深圳、廣州、杭州,杭州還是得益於阿里和網易兩家大公司。
為什麼現場面試難度會是最大的呢?
第一,是因為手寫演算法,比如手寫一個快速排序演算法(非常容易問到的排序演算法);
第二,直接面對面試官,如果心理素質或者經驗比較缺乏,容易因為沒有答出某個問題而影響後續的發揮,特別是遇上很有氣場的面試官,完全看不出表情變化、一臉冷漠的面試官,壓力更加大了。
視訊面試難度次之,一般視訊面試階段會要求在指定的線上網站編寫演算法,而電話面試一般只需要給出解題的思路,所以難度上,現場 > 視訊 > 電話。
面試的輪次也是看不同公司來決定的,有的就三輪面試,兩輪技術面+Hr 面,但有的可能會有 5,6,7 輪技術面試,面試官的級別越來越高,不過,這種情況不多見,一般是評級比較高,也有的是因為面試兩三輪後,面試官覺得你更適合其他部門部門,幫你調到另外一個部門,繼續面試,也可能是被當前部門淘汰,其他部門又撈起你的簡歷進行面試。
通常,第一輪面試會問 比較基礎且全面的內容 ,包括專案、演算法、資料結構、程式語言,時間一般也是控制在半小時到一個小時之間,剛剛說到的實戰經驗的重要性在於,如果這個階段,你對自己的專案非常熟悉,準備充分,很有可能在專案這部分就佔據面試時間的 80%-90%,面試官在問完專案後,可能直接結束第一輪面試,或者簡單提問幾個資料結構等問題;
第二輪開始,就會比較深入, 重點考察解決問題的能力以及你的潛力 ,對於專案的詢問就會涉及到你如何解決遇到的問題和困難,如何改進優化,甚至會給出其他的場景,讓你提出解決的方案;
對於 Hr 面,一般就不會涉及到技術問題,主要是考察其他方面問題,比如溝通交流能力、興趣愛好、家庭背景以及薪酬福利等問題,並且 Hr 面也不代表你就一定可以拿到 offer 了,所以還是需要重視,好好做好準備。
6. offer 的選擇
最後一條,其實是儘可能多拿幾個 offer,提供選擇的空間,這裡主要有幾個考慮的角度:
-
大公司還是小公司:兩者的優勢各有不同,在大公司工作也可以說是螺絲釘,專門負責某個方向或者領域的業務,而小公司一般就需要負責很多東西,甚至一個人負責一個專案,對能力的要求很高,特別是需要全棧型別的,但個人經驗,剛畢業工作最好還是選擇大公司,一方面目前的就業環境,大公司更加能度過寒冬;另一方面,在大公司裡,優秀的人就在你身邊,你可以隨時向他們請教學習,更加有利於自身的技術成長!
-
網際網路公司還是國企:前者工資待遇更高,但通常就是 996,體現了一分耕耘一分收穫的道理;後者就穩定,但工資就沒有那麼大的吸引力了;
-
部門:部門也是非常需要考慮的問題,一個業績好的部門,年終獎就非常豐厚了,但更辛苦是肯定的;一般核心部門業績也會相對比較好,邊緣部門則業績一般,並且隨時可能部門解散,只不過核心部門一般業務就比較成熟,進去後的工作可能就比較重複,可能就是增刪查改。關於部門選擇,如果運氣不錯,進入新成立部門,是一個比較好的選擇!
-
城市:公司所在的城市是否是你未來發展考慮的城市,對於工作 offer,第一份工作都是比較重要的,一般也需要有 1 年工作經驗才好考慮進行跳槽;
-
崗位:offer 提供的崗位是否是你求職的崗位,有的公司會隨機分配你的工作崗位(比如華為的軟體工程師崗位);
-
薪資待遇:這個非常重要了。
即便你拿到了心儀公司的 offer,如果不是所有條件都匹配,比如部門、崗位或者城市之一都不滿足你的希望,還是需要努力多拿幾個 offer,多幾個選擇,並且多幾個 offer,也有利於在 hr 面談論薪酬待遇,有底氣來爭取更高的薪酬待遇。
以上就是我的一些關於春招/秋招面試的經驗,因為距離時間有點久(兩年了),加上我不是大神(沒有手拿十幾個offer),所以上述經驗只是當初經歷過春招實習和秋招工作面試後得出的幾條經驗,並且限於我的表達能力,可能描述得不是非常簡單明瞭,有些囉嗦,請見諒!
歡迎關注我的微信公眾號--機器學習與計算機視覺,或者掃描下方的二維碼,大家一起交流,學習和進步!
