提早批算法工程師面試之路

  • 做者:寶石
  • 校對&整理:lucifer

vivo(已拿offer)

技術面(30min)

  • 自我介紹
  • 講實習
  • 講比賽
  • 問了些大數據的問題
  • spark transform和action的區別
  • 手撕了個歸併排序

hr面(30min,技術只有一面)

  • 自我介紹
  • 家庭狀況
  • 講一下實習亮點
  • 有女友麼
  • 父母贊成你去深圳麼
  • 講一下優缺點
  • 常規問題等等

崑崙萬維(已拿offer)

一面(1h):

  • 上來自我介紹
  • 講一下判斷迴文鏈表的思路,多方法
  • 用紙寫一下反轉鏈表
  • 說說python shuffle怎麼實現的,O(N)時間,O(1)空間
  • 看你計算機專業,知道哈夫曼樹吧,w2v有用,你能說說麼(我就記得分層softmax了,實在是不會)
  • 說說傳統機器學習你都瞭解哪些?推一下LR,說一下原理
  • 知道kmeans吧,說下迭代過程,簇心隨機很差,怎麼才能更穩定(類kmeans++)
  • 說說深度學習你都知道哪些模型?我說了LSTM RNN,還沒等說推薦的模型。。。
  • 講一下LSTM吧,門都是怎麼迭代的
  • 各個激活函數的優缺點,sigmoid relu leaklyrelu tanh,又說了下梯度消失
  • Sigmoid求導是什麼?
  • 瞭解推薦麼,說說都知道啥,嘴賤說了個CF
  • 講一下Item-CF,怎麼計算類似度(用交併,也就是Jaccard距離,速度比cos快),用什麼優化呢(倒排索引)
  • 講講數據傾斜怎麼處理吧?(用key+隨機先後綴)
  • 聊一下你這個項目裏LDA吧?我直接說這個我用過沒細研究(他也認同,說數學原理很複雜)
  • 聊一下你這個項目query title統計特徵都提了啥,跟他聊了一下,他和我說了一下他的業務理解
  • 反問
  • 作什麼的(啥都作,業務很廣。。。)
  • 用哪些技術(啥都用,技術棧很廣。。。)

崑崙萬維二面(就是確認時間 不算面試)

  • 和一面面試官聊的如何
  • 知道他們部門作什麼的麼
  • 接下來約一下boss面,確認時間
  • 結束

崑崙萬維三面(不到二十分鐘,壓力面):

  • 上來就問比賽,兩個比賽都問了,和第一差距在哪
  • 下面問題都是快問快答,都沒深問,問題可能記不全了:
  • 說下你實習吧,沒說幾句。。
  • 你怎麼解決樣本不均衡的
  • kmeans適用於什麼狀況
  • python dict怎麼用
  • 爲何會產生哈希衝突
  • python set dict list啥場景用
  • 過擬合有哪些解決方法
  • 牛頓法和擬牛頓法
  • 200w不重複單詞一口氣放內存中,怎麼放最省內存(不會)
  • 你除了學習以外還作什麼項目
  • 日常刷算法題麼,刷多少了
  • 另外一個面試官的問題不是壓力測試
  • 你但願作什麼種類的工做(大概就是這個意思)
  • 沒得反問

京東

一面(40min)

很好的年輕女面試官
  • 自我介紹
  • 跟我聊了一下,而後說看你挺直率,我就直接說了,你想找推薦,咱們是機器學習+組合優化,偏向運籌學,考慮麼,(我說只要不是cvnlp,我全要)
  • 考慮那就開始問些問題吧:
  • 你講講你的實習,最亮點,給他分析了一波我採樣策略。
  • 你知道gbdt和xgboost吧,給我講講(瘋狂吹逼xgboost)
  • 你知道最大似然估計和最大後驗機率估計麼,或者挑一個你熟悉的說下(閉着眼睛推LR,啥伯努利分佈,似然函數,瘋狂扯)
  • 來作個題吧,1000w個數,數範圍[-1000, 1000],寫個排序(閉着眼睛桶排)
  • 你能提早來實習麼
  • 反問(京東零售部的,技術棧balabala)
  • 複試待安排

二面(30min)

  • 自我介紹
  • 找個比賽說說創新點,你主要作了哪些創新,最後模型爲何用CNN系不用RNN系
  • 因爲上面我說我工做有訓練詞向量了,讓我講word2vec的架構,和一些細節問題
  • 爲何w2v向量在語義空間內有很好的數學性質,好比相加減
  • 數學問題:M個樣本有放回採樣N次,問某條樣本一次沒被採中機率
  • 給你均值方差,讓你利用正態分佈隨機生成1000個點(不能用庫,說的不是很好)
  • 反問:哪一個部門哪一個組(零售-技術中臺下)
  • 爲何選擇京東,京東有什麼核心競爭力(瘋狂扯,我說我不太看好那些不能落地的,由於jd是電商,整個算法流程系統化工程化必定很健全,也有實際落地,帶來實際效益,面試官很是贊同)
  • 最後手裏有啥offer啊
  • 沒了

hr面(20min)

  • 小姐姐人很好,遲到了四分鐘,上來道歉一波
  • 自我介紹
  • 遇到壓力大的時候,好比在實習問題解決不了了,你會怎麼辦
  • 與mentor產生意見分歧要怎麼作
  • 將來若是入職京東,對領導有什麼要求呢
  • 你日常有什麼學習習慣麼
  • 你日常會按期作總結麼
  • 反問java

    • 當時問應屆生入職須要作出啥改變,給小姐姐問懵了,我又補充說好比思想啥的須要有啥改變麼,她給我講了五六分鐘,說的很直白,沒啥官腔,說在學校如何如何,你來公司了又會如何如何
    • 啥時候有結果:她也不知道,她拿到的是亂序的面試名單,可能後面會統一安排通知

一點資訊

一面(不到40min)

  • 自我介紹
  • 講你的論文,這塊一直問,問得特別細節,也問了很久,估計面試官比較清楚這塊東西。
  • 講實習,都怎麼作的,遇到啥問題,怎麼解決。
  • 講一下FM,DeepFM這一系列(我從LR,POLY2,FM,FFM,Wide&Deep,DeepFm說了個遍)
  • 作了個算法題,A了
  • 反問:
  • 部門:算法部信息流,和我微博實習的比較相似
  • 技術:作推薦 Java和Scala用的多一些
  • 我的感受像不招人。。。

大華

一面 - 大數據工程師(數據挖掘)(不到40min)

  • 面試官頗有禮貌
  • 自我介紹
  • 着重問了很久實習
  • 着重問了很久比賽
  • linux查指定文件前綴有哪些命令
  • 講一下hive和hadoop關係
  • hadoop mapreduce 執行流程
  • java 類和對象關係

百度

一面(1h)

  • 自我介紹
  • 介紹實習,而後瘋狂挖實習,問的很深
  • 問若是模型區分不開一些樣本,要怎麼採樣?業界有哪些經常使用採樣策略。我真是懵了。。
  • 問了一堆fm,好比表達式,複雜度,改進複雜度的推導
  • 瞭解深度學習麼,從wide&deep出發瘋狂問,有的是真不會,要再複習一下
  • 面試官說了個DCN(深度交叉網絡),我還覺得深度卷積神經網絡。。。,結果深度交叉網絡的細節也給忘了
  • 我主動給介紹了下阿里的DIN和DIEN,他問這模型能夠用在新聞推薦場景麼(答不能夠,由於新聞類實時性比較強balabala。。。不知道對不對)
  • 若是想讓你加入一個用戶短時間興趣,好比剛發佈的新聞打分低,要怎麼改,(我記得在YouTube有個說了關於這個,我說加了個時間維度特徵,或者時間衰減)
  • 讓我講BN,爲何提出BN(很久沒看nn的東西了,直說了個表象,容易收斂,面試官說爲了解決輸入分佈不一致,bn能夠拉回來分佈,我把這個忘了)
  • 從LR出發問了我sgd,如何改進,說了個momentum,再怎麼改進,我說我瞭解個FTRL
  • 說一下boosting bagging ,lgb爲何並行化效率高(答單邊梯度抽樣+直方圖計算+互斥特徵捆綁)
  • 怎麼分析並解過擬合問題的
  • 算法題:三數之和
  • 反問python

    • 部門是推薦策略部
    • 主要場景是百度直播和貼吧推薦
    • 用Python和C++,不用Java

觸寶

一面(1h)

  • 自我介紹
  • 數據結構基礎linux

    • 數組和鏈表區別,應用場景
    • 瘋狂問排序算法,最優最壞平均複雜度,穩定排序有哪些(好長時間沒複習這個了,答得比較差)
    • 一個剪枝題,口述算法過程,分析時空複雜度
    • 說說面向過程、對象、切片編程的區別(我。。。。。。)
  • 機器學習基礎面試

    • 講一下你瞭解哪些分類模型
    • 說說SVM
    • 講講id3和c4.5
    • 講講xgboost和gbdt
    • 講講怎麼判斷kmeans的k,聚類效果的好壞算法

      • k能夠用肘部法則SSE(偏差平方和)和輪廓係數
    • 講講分類,迴歸,推薦,搜索的評價指標
    • 講講lr 和 fm,fm的後續(ffm)
    • 講講你知道的各類損失函數
    • 講講l1 l2正則,各自的特色
  • 深度學習基礎編程

    • 說說deepfm,說說fm在nn中還有哪些(FNN,NFM,AFM)
    • 說說相似l1,l2正則化下降模型過擬合,還有什麼別的方法
    • 說一下sgd→adam的過程(下面是面試後簡單覆盤,自己答的通常)數組

      • sgd
      • momentum 利用了歷史信息,意味着參數更新方向不只由當前的梯度決定,也與此前累積的降低方向有關。這使得參數中那些梯度方向變化不大的維度能夠加速更新,並減小梯度方向變化較大的維度上的更新幅度。由此產生了加速收斂和減少震盪的效果。
      • rmsprop 在 Adagrad 中, 問題是學習率逐漸遞減至 0,可能致使訓練過程提早結束。爲了改進這一缺點,能夠考慮在計算二階動量時不累積所有歷史梯度,而只關注最近某一時間窗口內的降低梯度。根據此思想有了 RMSprop,採用的指數移動平均公式計算
      • adam 能夠認爲是 RMSprop 和 Momentum結合並加了誤差校訂,由於初始化是0,有一個向初值的偏移(過多的偏向了 0)。所以,能夠對一階和二階動量作偏置校訂 (bias correction),
    • 介紹下梯度消失和梯度爆炸
    • 都有哪些方法解決這兩個問題
    • 你瞭解多目標優化,遷移學習麼(不知道)
  • 場景問題網絡

    • 讓你加一個興趣類型特徵 你要怎麼作
    • 如何處理年齡類特徵
    • 你瞭解類似向量快速計算的方法嗎(就記得個啥哈希分桶,沒作過)數據結構

      • 局部哈希計算,高維相近的點低維也相近,可是高維較遠的點低維可能也相近,將embedding應設成1維,若擔憂把遠的也算進來能夠多設置幾個hash函數等等。
    • 如何判斷你模型上線的好壞
    • 給你個nn模型,如何調參,如何修改架構
    • 如何解決冷啓動問題 用戶側,物品側
    • 推薦系統的總體架構
    • 線上推斷這部分再具體點怎麼實現的
  • 反問架構

    • 觸寶內容推薦(小說)
    • 主要用python
    • 等後續hr通知吧

二面(45min)

面試官人很好,和藹可親
  • 自我介紹
  • 講下實習作了哪些優化,問了些問題(我都沒介紹實習,面試官已經直接點破我每一點實際都在作什麼)
  • 討論了一下抽樣,做爲一個算法工程師如何將抽樣致使的得分分佈變化給拉回來?
  • 由於實習模型是FM,詳細講了下FM,討論了下FM的泛化性
  • 用的什麼優化算法,順便介紹下sgd後續的優化,sgd→momentun→rmsprop→adam,一面問過的,覆盤過
  • 實習有沒有除錯過致使線上有點問題(還真有。。。)
  • hadoop shuffle幹啥的,爲啥key相同的要放在一塊兒
  • python深拷貝和淺拷貝的區別
  • linux 替換文件中全部的a,我說的awk或者tr
  • 算法題:給兩個字符串S和T,計算S的子序列中T出現的次數(dfs A了)
  • 反問:居然和一面面試官不是一個部門。。。二面面試官給我介紹了算法在他們公司都有哪些應用。。。
  • 總之要有工程師頂層思惟,不能侷限於模型優化啥的。

關注公衆號力扣加加,努力用清晰直白的語言還原解題思路,而且有大量圖解,手把手教你識別套路,高效刷題。

公衆號【 力扣加加
知乎專欄【 Lucifer - 知乎

點關注,不迷路!

相關文章
相關標籤/搜索