今天已經是11月初了,找工作的階段已經進入尾聲。回想這半年的時間,充滿苦澀與艱辛,有幸拿到了幾個offer,騰訊和滴滴的SP,還有百度和華為的offer,秋招之路也畫上了一個圓滿的句號。下面分享一下自己這兩年的學習與近半年的求職路上的一些經驗與心得,供后來人參考,不一定是最好的方法,但是大家可以借鑒一下,結合自身情況,找出最適合自己的方法。
先說一下樓主的情況,本科普通一本,碩士西南985。研究生期間走上了機器學習算法學習之路。參加過天池幾個比賽,拿到的成績一般,有幾個前20的比賽。本篇文章我只想把我學習與求職路上最干貨的東西分享給大家,那些很細致的學習路線或者求職面經有很多大神已經分享啦,大家可以去看一看~~~。
寫在前面的話:你是否真的決定走算法這條路。
我當時想法很簡單,確實認為算法,AI(機器學習,深度學習)這方面以后會有前途,也結合自身情況覺得可以去學一學,當真正走在路上時發現困難重重,曾經一度認為自己是不是不適合算法,但是沒有后悔,也沒有放棄,最后的結果還不錯。但是在今天這一個時間節點上,很多人都想學算法,找算法的工作,我們就要重新審視這一個問題了,你真的適合嗎,你真的有能力做到全國競爭者中的前百分之一嗎。如果對自己有信心,也覺得自己很有執行力,并且能拿出每天8小時,持續12個月以上的學習時間,那就去做。但是我們不得不承認的一個事實就是現在想做算法的人實在太多,未來一段時間各個公司能給出算法崗位HC至少不會比今年少,但是競爭人數會呈爆炸式增長,所以競爭必然會增大。
以下的部分分為兩個部分:學習與求職路上的心得和經驗以及踩過的坑。
學習心得和經驗
一、理論知識要扎實
既然是走算法之路,最基本的算法理論都必須要熟悉,最常見的要做到如數家珍。常見的分類,聚類,優化算法,深度學習等等的算法最好能推導(要想面試表現做到前百分之一必須要會推導,是加分項)。要融會貫通,對這些算法有自己的理解,面試的時候能說出自己與某某算法的一些心得和理解。比如面試官讓你講講XGB原理和優缺點,你可以對比著GBDT或者LightGBM講,說說自己在使用的時候有什么trick。另外的算法就是數據結構算法要掌握常見的題目。這部分也可以作為coding能力考查,最基本是看完《劍指offer》,《leetcode》,自己練習的時候可以手寫練一下,最后要達到能熟練手寫的程度。推薦在牛客網上的在線編程刷題,有精力的可以再看看《編程之美》和《程序員面試寶典》的內容。
二、coding能力要過關
算法的同學coding能力是在面試中必須要考察的。所以自己的coding能力必須多練練,推薦在牛客網的在線編程多多敲代碼。掌握類似leetcode medium程度的題目就可以了,hard程度的可以不用掌握。面試中一般會出幾道題目,要求手寫,能順利寫出的都是加分項。語言要掌握一大兩小三門語言,大語言是Java或者Cpp,小語言掌握python,SQL。有時間精力可以將常見的算法用python實現一下。語言不必掌握很深,但是要做到能熟練用Python或者SQL處理數據,算法用Python也要掌握差不多。對于大語言來說基本語法和一些基本概念都要熟練掌握。
三、項目比賽經歷
單單有理論的code能力是不夠的,最好能參加一兩個有含金量的比賽或者項目,盡力做一做,拿一個好名次,拿不到的話也要根據前幾名隊伍的答辯思路好好總結一下,用到什么算法,自己在項目比賽中負責什么工作,有什么創新點,自己有什么收獲等等,一定要好好總結,因為這可能是面試官和你聊的最多的東西,所以提前一定要下功夫總結整理好。
四、實際工程trick
雖然我們都是在校生,但是面試官可能會問我們他在工作中遇到的實際工程問題,所以這部分也需要我們去提前了解學習,最好的方法就是看別人的面經進行總結,下面我也會貼出自己遇到的問題,供大家參考。
五、所謂的智力題
這部分的問題最不好準備,常見的一些問題可以準備一下,但是不常見的問題就靠自己臨場發揮了,不過大家在平時多多留意一下。
求職心得和經驗
一、關于每年3,4月份的實習
樓主在這個期間只投了阿里,在最后的HR面之后被掛。雖然沒去實習,但是在這4-5場的面試中學習到很多。技術面一開始也很緊張,慢慢的查找自己的漏洞,然后在后面查漏補缺。所以推薦大家在3,4月份去投著試一試,雖然可能當時的能力達不到公司要求,但是可以去增長一下經驗。
二、簡歷
簡歷最好一頁,將最能代表自己能力的寫清楚,最好簡潔扼要。自己獲得的獎勵最好都寫上,但是盡量寫與崗位和公司match的,如獲得天池名次,國獎之類的。馬拉松獲得第幾之類的就可以不寫。
三、面試技巧
1. 面試通過=50%實力+30%運氣+20%技巧。
2. 首先要告訴自己,這不是一場面試,而是一場與自己未來同事之間的交流探討。盡量消除緊張心理,完全不緊張也是不可能的,但是還是要盡可能穩下來。面試過程中盡量幽默,能做到和面試官談笑風生你就贏了。在脈脈上看到的有人說做了面試官之后才發現其實你技術差不多就行,決定你過不過的就是看你順不順眼,所以最好能讓面試官在短短幾十分鐘里喜歡上你!
3. 在準備面試的時候看過一個公眾號的文章,文章意思就是比如你的實力是80,那么你在面試中的表現一般是在60-100之間,如果你整場面試都表現平平,那么面試官對你的評分可能是60-80,但是如果你偶爾有一兩個問題沒回答好,但是另外的一兩個問題答的很完美,那么你很可能就是80-100分。面試官最后決定錄不錄用此人,更大程度上是根據面試者的最佳表現和結束時表現。所以要反復演練自己的最佳亮點和如何結束面試。
4. 電話面試的話要注意語速吐字,現場面試也要注意語速,可以用在草稿紙上寫一寫的方式幫助解釋。
5. 面試中遇到沒理解的問題要盡可能與面試官溝通,說不定他就在考你的溝通能力呢。
6. 在面試中遇到不會的或者完全不會的問題要在面試之前想好策略。我的策略一般是允許自己對于最多兩個問題直接說我不會,此策略一般是對于自己完全沒有把握的問題,讓面試官換另一個問題。如果你強答這個題的話只能是勉勉強強的回答一下。在一場面試中有1,2個問題說不會的沒有多大問題,但是對于其他的問題要盡量做到完美作答,這樣才有把握。
7. 關于HR面,樓主在面阿里實習生是第一次HR面,當時聊的比較嗨,掛了,事后想想應該是自己表現的太有個性和想法了,所以各位在HR面的時候盡量表現的老實規矩一點吧,這樣最好。。。
四、面試遇到的代表性問題
1. 比賽項目展開的問題
1.1 比賽中特征設計思路,為什么這么設計。
1.2 模型融合有什么創新點,為什么這么做。
1.3 針對大數據量,有什么處理方法,具體怎么做。
1.4 業界開源的分布式訓練框架。
1.5 給出一個集群框架,每一個集群包括CPU,存儲,時序等等變量,運用什么算法或者策略使得總的效率最高。
1.6 對于某一個地區中的車輛和乘客怎樣合理安排司機-乘客使得滴滴總的收益最大(主要考慮距離)。
1.7 滴滴的拼車功能的拼車價怎么定,使用什么策略或者算法。
2. 算法理論方面
2.1 LR,SVM,KNN,GBDT,XGB推導,算法細節(LR為何是sigmod,理論推導出sigmod,KNN距離度量方式,XGBoost為什么要用二階信息不用一階,LR和SVM對比,GBDT和XGB和LightGBM對比)。
2.2 CNN DNN RNN 細節以及相關問題(poll層,激活函數,梯度消失彌散問題,LSTM結構圖,深度網絡優勢及缺點)。
2.3 常見排序算法的復雜度和一些細節以及改進優化。
2.4 樹模型建模過程。
2.5 特征選擇方法。
2.6 模型訓練停止方法。
2.7 正則化作用。
2.8 模型效果評價指標。
2.9 AUC理解和計算方法。
2.10 Hadoop,Hive,Spark相關理論。
2.11 L_BFGS,DFP推導。
2.12 弱分類器組合成強分類器的理論證明。
2.13 FM,FMM,Rank_SVM算法細節。
2.14 map_reduce基本概念以及常見處理代碼。
2.15 過擬合的解決方法。
2.16 各個損失函數之間區別。
2.17 L1,L2正則化相關問題。
3. Coding
3.1 SQL查詢相關業務題目。
3.2 Java基礎(GC,死鎖,多線程,重載重寫等)。
3.3 Python基礎(常見數據結構用法,類繼承,內存管理)。
3.4 Linux處理文本日志相關常見命令。
3.5 給定n,螺旋打印矩陣。
3.6 Z字形打印樹。
3.7 基礎的數組,鏈表操作。
3.8 大巴車求陰影(至今沒明白什么意思)。
3.9 在一個一維坐標軸中,給定 n 個線段起止點(ai,bi) (ai、bi 的取值在 double 范圍內), 如何計算所有線段覆蓋的總長度,請編程實現。
3.10 。一個數組A[1,。..,n](n≥3),滿足A[1]≥A[2], A[n] ≥ A[n-1](第一個數比第二個數大,最后一個數比倒數第二個數大,其他位置不保證大小關系)。用最快的辦法找到一個i, 滿足A[i-1]≥A[i] ≤ A[i+1],并給復雜度。
3.11 輸入:兩個等長的數組a,b (a、b元素都不小于0),每次可對a數組做如下兩種改動中的一種
1)選取a數組中任意一個元素,將其值增加1;
2)將a數組中任取若干個元素,將其值都乘以2;
輸出:最少需要操作次數,將a數組轉化成和b數組完全一樣;如果做不到,輸出-1,請編程實現。
3.12 數組里面連續值的和為S的區間,給出邊界。
4. 智力題/開放題
4.1 淘寶有1億總量的商品數量,你作為一個用戶通過什么辦法得到京東的商品總量。
4.2 連續遞增的數據,拿出兩個,打亂順序,求拿出的兩個。
4.3 n個人圍城一圈握手問題,不能交叉,不能落單,求一共有多少種握手數目(卡特蘭數推導)。
4.4 54張撲克,抽去大小王,均分給4個人,問紅桃A和黑桃A在同一個人手中的概率。
4.5 對于一個query,”時效性” query的判斷,運用什么算法。
-
算法工程師
+關注
關注
2文章
30瀏覽量
6133
發布評論請先 登錄
相關推薦
評論