5月新浪微博算法實習面經

    前言:運氣也是實力的一部分,非洲來的我如何才能搭載上去往歐洲的飛機.....

面試分了兩輪,時間長達2個多小時。
一面:面試官看過我的簡歷後,告知我簡歷內容偏少,我所做項目沒有能和他們部門匹配,希望我能夠儘可能的描述自己的能力,看能不能匹配上部門(微博搜索部)的工作….尷尬…..一面主要還是問項目,讓我描述簡歷中提到的兩個機器學習項目,並詳細討論了項目中所用的模型和方法(RF,GBDT,時間序列的處理方法),隨後討論了一些特徵工程的問題(屬性的選擇,降維方法,異常值處理方法)。聊完項目後,面試官考察我的編碼能力,出了一道python的文本處理題(很難),我大概寫了30多分鐘,2頁白紙,很多語法都忘記了,用漢語代替…..囧,一面到此結束(題目在最後描述)。
二面: 面試官出了三道題,其中2道數組的題,一道情景題,面試時間較短,大概40分鐘,做題過程中面試官比較冰冷,不提示任何消息,每當我給出一道題的解法,如果正確但有更好的解法時,面試官會希望你能給出更優的解題思路,如果錯誤,面試官僅僅會舉出反例….情景題比較簡單,具體問題我在最後描述,面試到此結束,此時已經到了5點多,於是匆匆忙忙的走了。

具體討論的問題:

  1. GBDT,Xgboost,RF模型在實際應用中的參數,以及如何調參,Bagging和Boosting採樣的區別,以及進行bagging和Boosting的數學意義是什麼。
  2. 如果模型發生過擬合,應該怎麼樣處理,如果調參後(已無法通過調參解決問題)還是過擬合,又該怎麼辦?
  3. 屬性選擇的方法有哪些,具體說明。
  4. GBDT+LR模型融合的方法,以及對比只用GBDT和用GBDT+LR有什麼區別?哪種方法更加有效?
  5. GBDT和Xgboost的區別,哪些是解決過擬合問題的。
  6. 用Python處理文本,文本內容是100棵GBDT樹的邏輯,要求讀取txt文本的內容對某個樣本做訓練,輸出該樣本進過100棵樹學習後的結果….(對於我而言簡直地獄難度….很多正則的語法都忘記了,強行硬着頭皮寫了40分鐘,需要考慮的點非常多,比如TXT讀出的數據都是string類型,每行的結尾都有換行符要處理等,小細節很多,很難受,整個過程就像不使用任何工具庫,去寫爬蟲爬頁面上的數據,並對這些數據進行分析得出最後的結果。這個面試官一點都不按套路出牌…..)
  7. 數組題,尋找一個數組內所有符合如下規則的值:
    1.某個值左側的點都比這個值小
    2某個值右側的點都比這個值大
    3.要求只遍歷數組一遍,找出所有符合要求的值。
  8. 數組題,一個正整數數組如[23,456,789,457,453],找出最小的兩個數的拼接結果,如本題爲 23和453 的拼接23453。例子只是用來說明,目標是求這樣拼接的算法策略。
  9. 如何得到一段時間(如一個月內)新浪微博所有用戶發出的微博的總數量。要求不能訪問新浪微博數據庫。


    答案以後陸續更新,有關GBDT的問題的答案,請訪問http://blog.csdn.net/panda_zjd/article/details/71577463
    本次面試除了一面的最後一道題比較難之外,其他還好,由於被一面那題折磨的太慘,二面答題的時候已經懵逼了,發揮的不是很好,很多該第一時間想到的答案沒能想到,之前面百度和新浪以前也面過很多小公司,感覺大公司的面試更加細緻,會抓很細節的東西去問,而小公司很宏觀,小公司招人的唯一標準就是你能不能來了就能幹活……
    寫在最後,感慨一下,找實習,找工作還是要拼人品,拼運氣的….本次微博的面試,我和我的舍友面同一個部門(部門挑選的簡歷,很巧是不是),他是做自然語言處理和QA方向的,他研究的方向和部門的產品和技術十分吻合,於是歡快愉悅的聊了一個小時,就通知下週來HR面了…..很氣,然而並沒有什麼用,誰讓我只是一個渣渣的搞特徵工程和數據預處理的鹹魚….加油啊,鹹魚也要有夢想的,不是麼?


後記:收到新浪微博搜索部實習offer。面試官難爲你,也許只是爲了測試你有多大潛力….

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