字節春招之旅(一)

這是字節跳動算法實習崗一面(簡歷面)的覆盤,之前就聽說字節跳動的面試比較難,這次真的親身體驗了一把…

這次面試雖然是簡歷面,但包括了計算機基礎知識、機器學習算法基礎、簡歷項目以及編程題。

計算機基礎知識
主要就c++/python編程語言問問題,不過前輩看出來我對語言這東西目前也就只是用,沒過多研究其背後的原理,問了幾個問題就過去了。

  1. python:深拷貝與淺拷貝的區別?如何實現深拷貝copy.deepcopy?dict是如何實現的? 很明顯,後面兩問都涉及到python源碼的實現了,只不過dict我回答數據結構中哈希表的實現原理,前輩好像也覺得ok。不過還是等我研究下python的源碼再把這兩個問題好好回答一下。 可以通過leetcode138-複製帶隨機指針的鏈表來一窺深拷貝的源碼實現。
    參考資料:
    Java的深拷貝和淺拷貝【雖然是java的,但講的很好,可以將python中不可變類型看作是基本類型,可變類型看作是引用類型,python中實現淺拷貝的一般就=和copy.copy,實現深拷貝的是copy.deepcopy。】
    python深拷貝和淺拷貝的區別

  2. c++:#define與const定義常量的區別?
    #define和const的區別

機器學習算法基礎

  1. svm的損失函數?
  2. 核函數的作用?常見的核函數有哪些?多項式核與高斯核的區別?核函數之間的區別應該是對輸入空間數據的分佈做的假設不同,但至於具體做了何種假設,各自的優勢在哪,需要參考資料。另外推薦看下李航老師的《統計學習方法》中svm一章,有更具體的核函數舉例。
    參考資料:
    svm常用核函數
    李航老師《統計學習方法》
    支持向量機原理(三)線性不可分支持向量機與核函數

簡歷上的項目
這一塊比較熟,自我感覺表現還可以。

  1. CTR預測是幹什麼的?
  2. XGBoost與LightGBM的區別?
  3. FM與LR的區別?
  4. 爲什麼NFM線下效果很好,線上效果不佳?

編程題
單鏈表反轉

結語
字節跳動的面試可以說考察面試者的知識面既廣又深,很適合幫助面試者查缺補漏,而且可以同時投多個部門,我覺得很適合有一定面試基礎且需要再鞏固的童鞋去提升自己。這次面試有點尷尬地是在牛客網上寫編程題,要自己編寫輸入!!!這碰上了鏈表與樹的題,還得寫個構造過程。。。

如果覺得不錯,請素質三連哈~~
有疑問,歡迎評論、共同探討-v-

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