1. 程式人生 > >機器學習演算法工程師--實習面經

機器學習演算法工程師--實習面經

最近找實習,整理一下面的比較完整的幾家公司的問題,如果後面還有比較完整的流程再新增吧。
小米麵試
一面

  • 給使用者推薦一首歌,每首歌被推薦的概率和歌的評分成正比
  • 對上面的題進行優化,要求每次推薦歌的時間複雜度為O(1)
  • 給定一些字元,每個字元都可以出現或可以不出現,出現的字元的順序和給定的保持一致,問一共有多少種出現方式
  • 對上面的題進行優化
  • 問了一道分類的應用題,,有點不記得是什麼了

二面

  • 問了一道分類應用題
  • 兩個連結串列是否存在公共節點,如果連結串列本身有環怎麼辦
  • 如果一個連結串列很長一個連結串列很短怎麼優化

京東面試
一面

  • 先寫了一道演算法題,去掉連結串列中的重複元素
  • 智力題,三枚硬幣如何等概率扔出0~4
  • 機器學習基礎,LR損失函式,過擬合,正則化
  • 問專案,貝葉斯有什麼改進,還問了一道,沒有聽明白題意的問題,什麼歸一什麼鬼
  • 商品分類問題,只給商品id和分類去預測新的演算法(文字分類、詞頻、語義)

二面

  • 先是問了專案,然後文字分類的工作,問如果現在做能怎麼改進
  • 京東搜尋“手機”,對搜尋出來的商品怎麼排序(提出了迴歸的模型,userCf模型,面試官說了一種learning to rank的想法)

微軟面試
一面

  • 專案的相關問題,為什麼不用mlib中自帶的演算法
  • gbdt和rf的區別
  • svm核函式相關的問題
  • 找有序陣列中值為k的數的下標範圍,可能有多個值為k的數

二面

  • 多個有序連結串列中的值相同的節點
  • java中的反射機制

頭條面試
一面

  • 決策樹的並行策略
  • 能否十分鐘寫出cart樹
  • 視訊分類應用(標題,作者的id和行為,視訊詳情,歷史的使用者資料和行為,使用者評論)
  • 二叉搜尋樹找到一個節點並刪除

二面

  • 連續子陣列最大和的值和起始終止位置
  • 並行演算法和mlib的區別,有沒有什麼演算法上的改進
  • 文字分類svm調參,使用了什麼核,手推svm
  • 為什麼svm可以使用和函式,LR不可以使用
  • 手推牛頓迭代法和擬牛頓法

百度面試
一面

  • 專案
  • 機器學習演算法的相關知識
  • spark和hadoop的區別
  • linux命令 awk,sort,grep
  • 二叉樹的中序遍歷非遞迴
  • Kmeans和KNN

二面

  • 問專案
  • 手推LR
  • 陣列流找中位數,使用兩個堆
  • 檔案流隨機挑選K行

三面

  • 問spark是啥。。
  • 個性化推薦
  • 線上的程式碼重構,出問題如何定位

嘀嘀新銳面試
一面

  • 簡歷上的東西
  • 結合偏差和方差說明gbdt和rf的區別,然後又圍繞展開很多其他問題
  • spark的基本問題
  • spark程式執行很慢的原因

二面

  • 開始就聊工作預期bulabula
  • sgd的並行化思路
  • sgd並行化思路展開,一個並行任務執行很慢怎麼辦
  • 飛機尋找在沙漠中尋找黑匣子:飛機得到黑匣子的訊號,有強弱的區別
  • 尋找黑匣子的過程像什麼演算法

美團面試
一面

  • 簡歷上的東西
  • 連續子陣列的最大和
  • 字串轉整數
  • 研究生期間讓自己覺得不錯的專案

二面

  • 簡歷上的東西,為什麼寫貝葉斯和決策樹
  • 論文
  • 時序演算法的一些相關問題

三面
沒什麼技術問題,主要是簡歷上的東西以及是否有意願來