算法技術面整理

一.數據結構與算法

二叉樹類

  • 前中後的非遞歸?
  • 層次遍歷,之字遍歷?
  • 二叉樹的序列化與反序列化
  • 前中,後中遍歷結果恢復二叉樹
  • 排序二叉樹的序列化
  • 二叉樹的直徑
  • 二叉樹的路徑和爲定值的路徑
  • 翻轉、複製二叉樹
  • 排序二叉樹轉雙向鏈表
  • 判斷二叉樹是否相同?判斷一棵樹是不是另一棵樹的子樹?

搜索回溯

  • 八皇后,全排列,組合
  • 重複數字的排列,重複數字的組合
  • 圖的搜索
  • A star

概率題

  • 用rand7構造rand10
  • 輪盤賭
  • 三角形內等概論隨機選點
  • 等等

動態規劃

  • 編輯距離
  • 揹包
  • LCS

字符串

  • 給定字符串是否符合正則表達式XXX
  • 給定字符串是否是數字?
  • KMP
  • 超大數相加

數組、二分、快排系列

  • 旋轉數組查找
  • 數組中的topk
  • 旋轉打印數組
  • 行列遞增矩陣查找數字
  • 查找出現超過一半的數字
  • 查找和爲定值的兩個數

鏈表

  • 翻轉鏈表
  • 兩個鏈表是否有交點
  • 一個鏈表是否有環
  • 鏈表的倒數k個節點
  • 合併鏈表
  • 逆序打印鏈表

排序

  • 各種排序的複雜度最優最差平均
  • 堆排序topk
  • 快排的變化

海量數據題

  • 海量日誌的出現最多的10個字符串
  • 10億個1-10的數字排序
  • trie樹
  • hashmap
  • 布隆過濾器
  • bitmap
  • 等等

** 深度學習

模型評估方法

  • Accuracy作爲指標有哪些侷限性?
  • ROC曲線和PR曲線各是什麼?
  • 編程實現AUC的計算,並指出複雜度?
  • AUC指標有什麼特點?
  • 放縮結果對AUC是否有影響?
    餘弦距離與歐式距離有什麼特點?

基本方法

  • 如何劃分訓練集?如何選取驗證集?
  • 什麼是偏差和方差?
  • 什麼是過擬合?深度學習解決過擬合的方法有哪
  • 解決欠擬合的方法有哪些?
  • 深度模型參數調整的一般方法論?

優化方法

  • 簡述瞭解的優化器,發展綜述?
  • 常用的損失函數有哪些?分別適用於什麼場景?
  • 梯度下降與擬牛頓法的異同?
  • L1和L2正則分別有什麼特點?爲何L1稀疏?

深度學習基礎

  • 以一層隱層的神經網絡,relu激活,MSE作爲損失函數推導反向傳播
  • NN的權重參數能否初始化爲0?
  • 什麼是梯度消失和梯度爆炸?
  • 常用的激活函數,導數?
  • relu的有優點?又有什麼侷限性?他們的系列改進方法是啥?
  • sigmoid和tanh爲什麼會導致梯度消失?
  • 一個隱層需要多少節點能實現包含n元輸入的任意布爾函數?
  • 多個隱層實現包含n元輸入的任意布爾函數,需要多少節點和網絡層?
  • dropout爲何能防止過擬合?
  • dropout和BN 在前向傳播和方向傳播階段的區別?

CNN

  • 給定卷積核的尺寸,特徵圖大小計算方法?
  • 網絡容量計算方法
  • 共享參數有什麼優點
  • 常用的池化操作有哪些?有什麼特點?
  • CNN如何用於文本分類?
  • resnet提出的背景和核心理論是?
  • 空洞卷積是什麼?有什麼應用場景?

RNN

  • 簡述RNN,LSTM,GRU的區別和聯繫
  • 畫出lstm的結構圖,寫出公式
  • RNN的梯度消失問題?如何解決?
  • lstm中是否可以用relu作爲激活函數?
  • lstm各個門分別使用什麼激活函數?
  • 簡述seq2seq模型?
  • seq2seq在解碼時候有哪些方法?
  • Attention機制是什麼?

***.機器學習

基礎

  • 樣本不均衡如何處理?
  • 什麼是生成模型什麼是判別模型?

集成學習

  • 集成學習的分類?有什麼代表性的模型和方法?
  • 如何從偏差和方差的角度解釋bagging和boosting的原理?
  • GBDT的原理?和Xgboost的區別聯繫?
  • adaboost和gbdt的區別聯繫?

模型

  • 手推LR、Kmeans、SVM
  • 簡述ridge和lasson的區別和聯繫
  • 樹模型如何調參
  • 樹模型如何剪枝?
  • 是否存一定存在參數,使得SVM的訓練誤差能到0
  • 邏輯迴歸如何處理多分類?
  • 決策樹有哪些劃分指標?區別與聯繫?
  • 簡述SVD和PCA的區別和聯繫?
  • 如何使用梯度下降方法進行矩陣分解?
  • LDA與PCA的區別與聯繫?

特徵工程

  • 常用的特徵篩選方法有哪些?
  • 文本如何構造特徵?
  • 類別變量如何構造特徵?
  • 連續值變量如何構造特徵?
  • 哪些模型需要對特徵進行歸一化?
  • 什麼是組合特徵?如何處理高維組合特徵?

其他(分方向)

  • word2vec的原理,glove的原理,fasttext的原理?
  • cbow和skipgram如何選擇?
  • 瞭解elmo和bert嗎?簡述與word embedding的聯繫和區別
  • 圖像和文本和語音數據各有哪些數據增強方法?
  • rcnn、fatse rcnn、fatser rcnn、mask rcnn的原理?
  • 介紹resnet和GoogLeNet中的inception module的結構?
  • 介紹yolo和ssd ?
  • 介紹FM,FFM,deepFM,deepWide.
  • 機器翻譯如何解決oov?
  • 等等
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章