天天看點

【面試招聘】美團+阿裡 | 機器學習算法春招面經

作者今天你leetcode

寫在前面

2020春招實習投的職位都是機器學習算法工程師,這裡主要說一下拿到offer的兩家面試:

  • 阿裡雲 (4.1 筆試0ac,對了10%, 拿到意向書)
  • 美團 (筆試大概過了45%的樣子,offer)

985本碩非科班,履歷上一共寫了4段經曆:

  • 項目一:天池比賽 10名左右
  • 項目二:一個資料挖掘比賽 第一名 + 後續合作項目+ sci論文
  • 項目三:實驗室項目
  • 項目四:大三暑假實習經曆(一家獨角獸的算法部門)

美團

一面

  • 聊項目一
  • 特征選擇(有哪些方法)
  • 資料探索(拿到資料之後怎麼分析的?)
  • 降采樣之後怎麼調整機率?
  • LightGBM、XGBoost的差別(LightGBM做了哪些改進?)
  • XGboost裡面預排序是怎麼做的?
  • 介紹項目二
  • 介紹項目三
  • 簡單說了下項目四
  • 手撕代碼
  • 手寫最小堆代碼
簡單總結: 一面主要感覺是履歷面,履歷上的4個項目都簡單聊了下。

二面

  • 聊項目
  • 激活函數 ReLU LeakyReLU Sigmoid 各種激活函數的差別
  • 平時調參主要調什麼參數?除了用到的LightGBM,還用過什麼模型?比如深度學習的一些模型?
  • LightGBM和XGBoost是怎麼處理缺失值的?
  • 介紹了項目一和項目二(主要介紹了整個目的和流程)

三面

  • 介紹項目一
  • 采樣 怎麼驗證 如何判斷過拟合
  • 為什麼沒有做內建
  • LightGBM原理(預排序 直方圖 行抽樣 列抽樣 分裂時梯度選擇 特征交叉合并(RBF))
  • 還了解一些其他的什麼廣告推薦算法之類的

阿裡

一面

全程聊項目,中間穿插一些知識點

  • 介紹一下研究所學生階段難度最大的項目,包括工作量、遇到的難點、解決方案
  • 介紹了項目二 包括背景 資料處理 分析 論文
  • 中間穿插問了幾個問題:
  • 使用的LightGBM和seq2seq模型如何調參的?
  • LightGBM的原理了解多少?
  • 介紹一下項目二中用的attention如何做的?
  • 所說的項目中資料量大是多少?特征選擇又是如何做的?
  • 項目二最後結果提升了多少?有沒有試過簡單模型?
  • 還有其他項目介紹嗎
  • 介紹了項目一:包括踩過的坑(訓練集拆分遇到了leak問題,直接上LightGBM效果不是很理想的問題) 特征的處理、針對不平衡樣本的處理方法
  • Q1. 線下怎麼驗證的?構造的這些特征線下名額是否有提升?
  • Q2. 探讨了一下樣本采樣的問題
  • 還有其他想要說的項目嗎 用的其他的方法
  • 簡單說了下項目三的經曆,主要做資料處理,簡單的分析挖掘工作。沒有深入聊下去。
  • 投遞的那個團隊的業務介紹
  • 有啥需要了解的
  • 我問了幾個問題
  • 問了團隊的工作節奏和時間安排
  • 問這個崗位的招聘具體對候選人的能力要求
  • 内部用啥工具平台之類的?

二面

基本都是聊項目

  • 介紹項目二
  • 為什麼選擇seq2seq模型?為什麼不用其他時序模型?難度在哪?最後效果怎麼樣?
  • 特征選擇有哪些方法?
  • 介紹項目三
  • 具體做哪些工作(資料分析難度不大的樣子?)
  • 有沒有借鑒其他人或者團隊的算法?
  • 面試官主要覺得難度不大!主要困難在特征提取階段
  • 子序列最大和(簡單說了下思路就過了)
簡單總結:本次面試是感覺最差的一次,因為投遞的是機器學習算法工程師的職位,項目三其實很大一部分工作量是CV方面的,我在介紹的時候就一筆帶過了視覺的部分,導緻面試官可能認為這個項目工作量不夠,這裡全程都在質疑我這個項目過于簡單。後面反思了一下,其實和資料挖掘無關的工作内容也能說,應該算是工作量的展現。

三面

聊項目

  • 項目二介紹 比賽中你的方案比其他隊伍的優點在哪?
  • 項目一介紹
  • 遇到一個機器學習問題,怎麼去選擇模型?
  • 項目一後續打算如何改進?
  • 職業規劃?
  • 平時做項目和學習的過程中遇到了什麼問題?總結出了什麼經驗?
  • 平時還會學習一些什麼技術?
  • 介紹一下在企業的實習(項目四)
  • 問面試官的問題:
  • 您覺得我要想達到勝任此崗位的能力,還應該在哪些方面彌補不足?

四面(交叉面)

  • 說了一下項目二
  • 說了一下項目四
  • 手撕代碼 gray碼
  • 問了面試官兩個問題:
  • 交叉面和之前幾面想考察的點有什麼異同
  • 阿裡國内和國外的office工作節奏理念有啥不一樣嗎 (純閑聊了)

交叉面比較短,大概30min就結束了,貌似就是看下前三面有沒有放水。

HR面

  • 簡單介紹一下學校經曆
  • 說了從大學到研究所學生的一些經曆
  • 介紹項目二 項目裡有哪些難點?哪些地方分别展現了哪些技術能力?
  • 介紹一下家庭情況
  • 有什麼想問的

簡單總結

對過去的春招做個簡單的經驗總結,

可能因為投遞的都是業務部門,基本上都是圍繞着履歷上的項目來問,中間穿插一些知識點,與我之前想象中的手撕公式、手撕代碼還是不太一樣。這就需要我們在幾個方面做好準備:

  • 首先是要準備内容豐富的項目,讓面試官有問的點;
  • 介紹項目的時候,最好先介紹下簡單的項目背景和目的,盡量抓住主要沖突,關鍵是要講清楚整個流程,讓面試官搞清楚這個項目到底是幹嘛的,細節的東西可以先不講,如果他感興趣自然會再追問細節;
  • 要講清楚自己的工作量,說清楚項目的重難點;
  • 說的時候其實可以抱着一種交流學習的心态,遇到不會的問題,一定要坦誠自己不太懂,但是可以說一下自己的一些思考;甚至可以說一下自己踩過的坑,反問面試官遇到這種情況該怎麼解決。

今年很多公司都需要筆試了,即使是内推也需要筆試,這就展現了刷題的重要性,這方面我自己也做得不好,還需要多刷LeetCode。刷題在求職中還是王道。總結出的一些機器學習算法工程師方向常問的知識點:LightGBM、XGBoost原理、調參經驗、特征選擇方法等等。

繼續閱讀