NLP 算法工程師相關的面試題

  • 2019 年 10 月 31 日
  • 筆記

【導讀】本項目記錄了面試NLP算法工程師常會遇到的問題,作者songyingxin。

1. 編程語言基礎

該文件夾下主要記錄 python 和 c++ 的一些語言細節, 畢竟這兩大語言是主流,基本是都要會的,目前還在查缺補漏中。

  • C++面試題
  • Python 面試題

2. 數學基礎

該文件夾下主要記錄一些數學相關的知識,包括高數,線性代數,概率論與信息論, 老宋親身經歷,會問到, 目前尚在查缺補漏中。

  • 概率論
  • 高等數學
  • 線性代數
  • 信息論

3. 計算機基礎理論知識

這部分內容一般不怎麼考,因此,沒有把重心放在上面,至少現在幾乎沒有遇到問這方面的, 有意思的是,投了阿里某部的NLP算法,居然來了個不懂NLP的來面,全程真的瞎聊,全是開發。

4. 機器學習基礎

這部分已經開始進入正題了,事實證明,部分大廠會提及一些基礎的機器學習算法知識,因此,這部分我覺得幾個核心的模型是要會的。

  • 機器學習項目流程
  • 判別模型 vs 生成模型
  • 頻率派 vs 貝葉斯派
  • 數據預處理
  • 特徵工程
  • 特徵工程-關聯規
  • 模型 – SVM
  • 模型 – 聚類算法
  • 模型 – 決策樹
  • 模型 – 邏輯回歸
  • 模型 – 樸素貝葉斯
  • 模型 – 隨機森林
  • 模型 – 線性回歸

5. 深度學習基礎

這部分主要講述深度學習方面的基礎知識,是核心點,但很多情況下,很多面試官的題基本差不多,不過我個人覺得,有這種全局的,全面的知識框架是有益的。

  • 深度學習項目流程

5.1 基礎理論部分

  • 基礎理論 – 多任務學習
  • 基礎理論 – 集成學習
  • 基礎理論 – 分類問題評估指標
  • 基礎理論 – 距離度量方法
  • 基礎理論 – 目標函數,損失函數,代價函數
  • 基礎理論 – 偏差 vs 方差,欠擬合 vs 過擬合
  • 基礎理論 – 數據角度看深度學習
  • 基礎理論 – 梯度消失,梯度爆炸問題
  • 基礎理論 – 維數災難問題
  • 基礎理論 – 指數加權平均
  • 基礎理論- 局部最小值,鞍點
  • 基礎理論 – 集成學習
  • 基礎理論 – 集成學習

5.2 基本單元

  • 基本單元 – CNN
  • 基本單元 – MLP
  • 基本單元 – RNN

5.3 調參相關

  • 調參 – 超參數調優
  • 調參 – 激活函數
  • 調參 – 權重初始化方案
  • 調參 – 優化算法

5.4 Tricks

  • Trick – Dropout
  • Trick – Normalization
  • Trick – 融合訓練集,驗證集,測試集
  • Trick – 提前終止
  • Trick – 學習率衰減
  • Trick – 正則化

6. 統計自然語言處理

這部分前期的筆記做的不多,因此還沒怎麼開始。

7. 深度學習自然語言處理

這部分算是核心的知識了,這部分還需要逐漸完善,時間有點緊啊。

  • 文本數據預處理
  • 各大任務的評價指標
  • 改進 NLP 模型的一些思路

7.1 詞向量三部曲

  • 詞向量 – Word2Vec
  • 詞向量 – Glove
  • 詞向量 – FastText

7.2 預訓練語言模型

  • 預訓練語言模型 – BERT改進研究
  • 預訓練語言模型 – 融入知識圖譜
  • 預訓練語言模型 – 自然語言生成

7.3 Attention 機制7.4 文本分類7.5 語義匹配7.6 閱讀理解

8. 源碼閱讀

這部分主要推薦一些自己閱讀過的一些源碼,有些源碼是 NLP 相關, 有些是深度學習相關的,部分源碼我個人有做注釋,會相應的列出來。

原文鏈接:

https://github.com/songyingxin/NLPer-Interview