第一次(失敗的)面試:記字節跳動數據挖掘崗位實習生面試經驗

我最開始對數據挖掘算法實習生這個崗位的預估是和機器學習有緊密聯繫的,於是就複習了一些算法方面的東西,沒有集中刷Leetcode,沒想到面試官只問了我一個關於機器學習問題,還十分的偏數學,與我的預期差距很大。

 

公司給我的整體印象不錯,環境也很好,就是在給我找面試官和麪試房間的時候在系統裏找不到我的信息,於是之後坐在前臺等着他們處理,感覺自己沒有收到重視。之後面試官來了給我帶到了一個空房間,房間裏有4個座位,房間佈置的還比較舒適。接下來是面試的過程。

 

首先面試官問了問我的學校,我是某大學大四在讀的學生,和我聊了聊之後的打算,打算出國,問我申了哪些學校什麼cornell,UMich,CMU感覺高端一點的就往上說。然後開始聊項目,我的第一個項目是飛思卡爾智能車比賽,面試官可能對這個有一些研究,感覺是挺有興趣的問了問我現在的賽事規則,其中有一個Otsu算法是我們在比賽中使用的算法,我給面試官講了一下最大類間方差的思路實現自動閾值,之後也沒再多過問。

 

之後面試官詢問了我的課程設置,我們系的課程既有控制論,模電這樣偏硬件的課程,又有模式識別基礎,人工智能基礎,計算智能這樣偏軟件的課程。他就挑了一個模式識別問我都講了什麼,我就回答了一些分類算法。然後他就展開問了一下邏輯迴歸的思路是什麼。由於頭一天接到面試通知沒來的及仔細看,所以回答的也不太好,就說到了極大似然估計,後面的沒說出來,這裏給大家推薦一個blog講邏輯迴歸講的很清楚的

https://blog.csdn.net/zjuPeco/article/details/77165974

 

在黑板前站了一分鐘發現說l不出來啥就換了別的話題。面試官問我數據結構和算法學過吧,說一下知道哪些排序算法。我說有快排,冒泡,希爾,堆排序,等等然後他問我前兩個的時間複雜度知道麼,其實這已經是大二學的課了,不太記得清楚,但是靠着模糊的印象反應過來nlogn和n方;面試官又問那你知道他們是不是穩定的呢:快排不穩定,冒泡穩定。

 

到這裏他可能覺得我的算法基礎的功底還行,於是就問我來之前刷題了麼,我說沒有。他笑了笑說,那就問你一個簡單的算法題目:如何檢查單鏈表中的環?

 

當時我看到這個題是懵逼的,很清楚曾經見過這個題,就是不知道怎麼解,沒辦法之後硬做,我就現場想出了暴力求解法,再開一個新鏈表存儲曾經訪問過的目標鏈表的地址,然後每次在舊鏈遞歸查找新鏈表有沒有重複的地址,如果有,則證明成環。

這裏發一個比較好的解法https://blog.csdn.net/tyler_download/article/details/53691695

 

面試官聽到這個解法是崩潰的,問我有沒有更好的解法,我說暫時不出來了。於是就讓我用代碼實現一下,我用的是C語言寫的,感覺寫的不是很好,又檢查了幾遍,最後應該是能實現功能的,但是時間和空間複雜度都很高,然後就結束了。本來以爲有2到3輪面試沒想到一下就結束了,心也涼了一半。總之,繼續努力吧。

Please Note:面試算法崗位的時候一定一定要刷Leetcode,不管是機器學習還是深度學習什麼的,這考量的是一個編程者最基本的能力,還是很有用的,有些題現場想不一定會想到好解法,但是見過的話就一定能有思路的。

機器學習相關算法的崗位一定要注重基礎,數學推導過程,只會使用庫函數和看技術文檔並不會被看好的。至少3大經典算法肯定要熟悉:LR,SVM,DT。祝好

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章