作者今天你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原理、調參經驗、特征選擇方法等等。