非科班轉行的2018秋招算法工程師面經:面試實錄+人生經驗

這是一篇不太專業的算法工程師面經,但願能給非科班想要從事機器學習工做的同窗或學弟學妹一些建議,同時也回饋給予我很大幫助的咕泡學院。目前拿到的offer有:網易、三星、聯想、vivo、鬥魚、拼多多、獵聘等等。面經分爲兩個部分:虐心面試實錄和一點人生經驗。先上乾貨再BB,你們能夠針對性的選擇本身須要的部分,祝你們最後都能拿到心儀的offer啦。
虐心面試實錄java

  1. 網易郵件事業部 數據挖掘工程師 offer
    整數翻轉,如何處理越界問題
    C++多態,靜態聯編和動態聯編,虛函數表
    GMM原理,增大數據量是否會更好
    模型融合如何作
    股票買賣問題,一次買賣和兩次買賣
    提高樹的思想,隨機森林和提高樹的區別
    EM算法數學原理
    SVM推導,對偶性的做用,核函數有哪些,有什麼區別
    分佈式計算框架了解哪些
  2. 百度商業平臺部 數據挖掘工程師 二面掛
    python兩個每行都是數字的文件合併,去重。
    shell編程,編輯文件。
    進程與線程的區別
    卷積神經網絡介紹
    SVM的推導
    大文件求交集,如何解決哈希以後小文件仍是放不進內存
    堆排序代碼
    連續和最大問題,如何證實?
    3sum問題,時間複雜度
    最短路問題,第K條最短路
  3. vivo 人工智能工程師 sp offer
    bp算法介紹,梯度彌散問題。
    svm介紹,優缺點是什麼,lr介紹,區別是什麼
    lr與線性迴歸的區別
    若是要預測房價,用什麼模型
    若是要預測房價,而且知道一個房間的房型信息,如何構建模型
    sigmoid 函數的應用有哪些,爲何?
    列舉十種經常使用的神經網絡模型
    語音識別模型有哪些
    如何識別一我的在喝酒,須要幾個模型
  4. 蘇寧 算法工程師 備胎池涼了
    卷積神經網絡中卷積如何實現,激活函數的意義,損失函數有哪些,初始化參數如何選擇
    用過哪些深度學習框架,TensorFlow中的session是什麼,session和interactivesession的區別
    如何實現卷積層權值共享
    如何保存模型,讀取已有的模型
    用過哪些深度學習模型,區別是什麼。
    瞭解哪些尋優算法
    softmax損失函數是什麼
    c++ 的 const,static做用
    new,delete原理
    強制類型轉換cast之間的區別
  5. 騰訊IEG 應用研究 二面掛
    svm推導,核函數的體現,經常使用的核函數有哪些
    alexnet介紹
    過擬合的緣由,有哪些避免過擬合的trick
    1G的文本統計詞頻,輸出頻率最高的1000個詞
    手寫topk的代碼,快排。代碼還能如何優化,若是要上線的話還須要作哪些處理
    若是分類樣本的標籤只有必定的機率可信,如何處理
    過擬合的緣由,有哪些防止過擬合的方法
    mysql查詢一段時間中某個用戶的數據
  6. 三星電子中國研究院 機器學習研發工程師 offer
    筆試:水管工之類的算法題,求最大深度
    模型評價如何作,其中存在哪些問題
    決策樹算法有哪些,隨機森林和GBDT的區別
    降維方法,PCA原理
    哈夫曼樹在機器學習中的應用
    文本挖掘算法瞭解哪些
    人流量預測系統如何設計
    profession筆試:最優的進程調度算法,至少用多少個cpu
    英語自我介紹,口語渣猝不及防
  7. 聯想研究院 模式識別研究員 offer
    EM算法數學推導,如何證實算法收斂性
    異常值的影響,如何消除
    全部瞭解的機器學習算法有哪些,框架性講述
    梯度降低算法瞭解哪些,優劣勢是什麼
    二叉樹中序遍歷,遞歸和非遞歸
    linux操做指令瞭解哪些,文本處理指令有哪些
    一億個數的文件,如何分紅兩個文件a,b,使得a文件的數都小於b,同時文件大小要差很少。
  8. 拼多多 算法工程師 offer
    均勻分佈如何生成正態分佈
    SVM原理,支撐向量越多越好仍是越少越好
    二叉樹深度遍歷,時間複雜度和空間複雜度
    二維排序矩陣搜索
    項目中的長時間推廣問題,如何考慮樣本之間非獨立的影響。
    編程題,矩陣中的最短路,有門有鑰匙。動態規劃加狀態向量。
    貝葉斯公式,實際如何計算,如何解決精度問題。
  9. 五八集團 算法工程師 二面掛
    字符串轉數字
    svm核函數有哪些,如何選取,手寫表達式
    降維方法介紹
    c的虛函數,虛函數指針和虛函數表存在哪兒
    Linux 文件權限修改,參數介紹
    模型的比較如何作
    隨機森林和提高樹
    卷積神經網絡原理
    如何避免網絡的過擬合
    如何網絡調優
  10. 獵聘 算法工程師 sp offer
    Python 的數據結構有哪些
    tuple 和set的區別,set的底層實現
    hash表的算法有哪些
    svm推導,一直到序列最小化求解。核函數如何體現,有哪些類型。
    構建分類器的整個流程是什麼
    數據清洗方法,缺失值處理方法,降維方法
    pca原理推導
    決策樹算法的介紹
    二維排序數組搜索
    如何構建欺詐交易識別的模型?
    不均衡的數據如何分類
  11. 新浪移動 數據挖掘工程師 錄用排序
    歸併排序,二維排序數組搜索,中序遍歷重構二叉樹
    svm推導,爲何要用拉格朗日乘數法,對偶問題是什麼
    KKT條件都有什麼,如何求解svm的最優化問題
    數據不均衡如何解決,抽樣獲得的分類準確率如何轉換爲原準確率。
    邏輯迴歸原理,推導求解方法。
    爲何選用對數極大似然函數做爲優化目標,用平方損失有什麼問題。
    邏輯迴歸對特徵有什麼要求,是否須要作離散化,離散化的好處與壞處。
    邏輯迴歸的參數是否能夠分佈式求解,如何作分佈式。
    有三輛車,到達時間隨機,a車五分鐘一趟,b車十分鐘一趟,c車十五分鐘一趟,求平均等待時間
    一點人生經驗

我是一名文科類院校的碩士(面試的時候不止一次被問是否是學計算機教育的),本科是信息專業。碩士科研是模式識別方面的,其實說數據分析更貼切,基本屬於浪費青春(建議各位喜歡計算機的學弟學妹:珍愛生命,遠離文科院校)。同時也由於老闆的24小時貼心看護,毫無懸念的沒有實習機會,mmp。本身雖然很是喜歡機器學習,可是秋招以前的狀態是:編程基礎只會python,算法設計全靠調包,深度學習基本不會,分佈式框架徹底不懂。到七月份的時候,整我的喪到必定境界,感受基本要告別互聯網了。
笨鳥先飛,七月中旬就開始準備秋招了,主要是打比賽、看書和刷題。八月底投簡歷,投過的公司很是多,然而收到面試的不多。慶幸本身比較能吹,效率還比較高,最後也拿到了一些心儀的offer。過程很痛苦,可是還好有個好收穫。總結一下這三個月本身的一些經驗感悟,但願對你們有幫助。由於本身是非科班出身,從此也要瘋狂補習,早日跟上大佬步伐,也但願多跟大佬們交流呀。python

  1. 秋招準備mysql

  2. 硬實力:項目經驗,競賽,簡歷。
    對於本身的項目,數學邏輯上必定不能有漏洞。多多反思,想一想本身模型的優點,以及換其餘模型會有啥問題,僞裝有面試官提問本身回答。基本上作到這些,項目上就不會有問題。由於我沒有過實習經驗,因此對企業關注的技術瞭解的不多。個人建議是,必定要參加競賽,不管名次。找工做以前,跟寢室的老鐵一塊兒參加了百度的機器學習競賽,雖然沒有名次可是真的是積累了不少經驗。也正是由於這個比賽,對圖像領域有了個概況的瞭解,動手能力也提升了很多。記住,企業要求的東西不會也不要緊,至少有個歸納性瞭解,同時展示本身的學習能力和思考深度就行啦。
    簡歷方面,記住一條:本身作過什麼不重要,關鍵是企業想要什麼。建議你們都以一個面試官的角度看待本身的簡歷,或者找找師兄師姐。我如今回頭看本身的初版簡歷,感受像是要去考博士。。linux

  3. 軟實力:編程基礎,手撕代碼,機器學習。
    從八月到如今,leetcode刷了185道題,基本是middle+少許hard,牛客上刷了劍指offer和一些基礎題。我本身的感受是,劍指offer用來入坑真的贊,leetcode真的要用心刷。邊刷題邊總結,基本刷到了150題的時候,就會進入一個百毒不侵的狀態。後期基本上就不怕筆試了,手撕代碼也很快。
    機器學習方面,主要是刷小藍書《統計學習方法(李航)》和西瓜書《機器學習(周志華)》,經典的算法建議都手推一遍。重點關注損失函數,爲何這樣定義,有哪些優缺點,多思考方法間的比較。說實話,其實最後均可以總結出套路,後面有空我再總結下。。
  4. 面試c++

  5. 項目介紹
    基本上每次面試開始都是項目介紹,建議事先準備一個項目介紹,聊的時候也不會慌亂錯過項目亮點。最好是準備兩個版本,一個是簡單介紹思想,一個是詳細介紹包括細節和公式。在講本身項目的時候,必定要突出技術難點以及本身的思考,最好有個清晰的框架性說明。針對項目能夠預先準備一些問題,而後再講述的時候能夠故意留幾個坑,挑起面試官興趣,趁火打劫讓其入坑,這樣也更能體現本身對項目瞭解的深度,豈不美哉。
    對於競賽方面,其實我本身沒有啥名次,方法也沒有創新。這種狀況就儘可能突出本身對於領域的瞭解,對於經常使用基礎模型原理的掌握程度,以及本身在應用時遇到的問題。我在競賽中是用的只有inception和resnet的微調和融合,以及數據增廣。工做很淺顯,可是講述的時候結合實際把inception和resnet的trick原理和優點講清楚就行。面試

  6. 基礎知識
    手撕代碼的時候,建議先講清楚思路再寫代碼,記得分析時間空間複雜度。若是有多種思路能夠分析比較一下。再就是,不要慌,慢慢寫,手不要抖。。
    機器學習算法的介紹,我通常分爲兩步:第一步介紹算法基本思想,損失函數,適合於解決哪一類問題,有哪些缺點。若是面試官還有興趣,就開始第二步推公式。在明確每一步的目的的前提下,強烈建議把公式背下來直接寫答案,例如svm拉格朗日函數求導以後的結果,當場求導很浪費時間,不如用來多展示本身。在面試官提問的時候,能夠暗中總結一下面試官喜歡的類型,若是一直問數學推導方面的問題,就多講講算法原理,若是問了不少實現方面的問題,就多講講算法實現方面的trick。這樣更有針對性,也更能讓面試官霸霸開心。
  7. 開放性問題
    對於設計類問題,其實多看看面經就能知道主要的類型,多看看他人的解題思路同時結合本身擅長的算法一塊兒思考,表述時邏輯清晰突出要點就行。我的建議:不要搶答,也不要邊想邊答。能夠先在紙上記下問題中的關鍵點,以及對應的解決方案。能夠提出多種方案,互相比較最後獲得最好。讓面試官看到你的思考,可是不要出現那種講到一半講不下去的尷尬狀況。
    對於人格類問題,由於文科院校因此認識很多心理學大佬,投射之類的基本套路都naive。表現出對技術的熱誠和領導力就行。這種題說話越多越錯,你須要的只是熱愛技術的態度和堅決的眼神。
  8. offer的選擇
    offer選擇無非就兩個方面的問題:1. 公司環境,行業前景,技術發展。2. 面向薪資的編程。我也不瞭解不少公司,渣渣就不bb了。建議你們與熟悉的師兄師姐聊,同一屆的同窗視野可能沒有那麼遠。我的以爲,技術發展雖然重要,錢也不是關鍵問題,有的時候也須要多關心身邊的人呀。人生還長,有些事情不用那麼着急的。
  9. 再BB兩句俗話說的好!找工做這種事情,三分靠打拼,七分靠錦鯉!非科班確實很難,因此心態很重要!不要被眼前的不幸擊倒,眼前的困難都不是困難!後面運氣差的時候還多得很呢。。 總之,必定要調整心態,心態爆炸的時候要多多放鬆,有妹子抱妹子,沒妹子抱舍友,不能被情緒左右。不管結果如何,都要冷靜總結。」那些沒法將你戰勝的,終會使你更強大。「做者:王非池java學習乾貨面試經驗,不按期分享+Q羣:282711949。若是你正在找工做或者剛剛學校出來,又或者已經工做可是常常以爲難點不少,以爲本身java方面學的不夠精想要繼續學習的,想轉行怕學不會的,+Q羣:282711949 瞭解諮詢java繼續學習。更有免費視頻等你來領取。
相關文章
相關標籤/搜索