• Stars
    star
    2,599
  • Rank 17,629 (Top 0.4 %)
  • Language
  • Created over 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

该仓库主要记录 NLP 算法工程师相关的面试题

Introduction

本仓库主要记录本人对 NLP 相关知识的积累,之前笔记做的很多,考虑到秋招已至, 在复习的过程中, 慢慢将这些知识屡清楚,然后将相关的知识笔记整理成专题,来帮助我更好的复习。

同时,开源出来,希望大家能帮助我补一补相关的技术栈,看看我哪方面比较弱,同时也帮助诸位秋招中的伙伴更好的复习。如果希望一起做的同学,可以联系我, 毕竟一个人做这么多,的确有点难,还好我前期笔记做的比较全。

推荐使用 Typora 编辑器打开, 所见即所得。

Contents

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 相关, 有些是深度学习相关的,部分源码我个人有做注释,会相应的列出来。

9 . 老宋渣渣算法面经

这部分主要是自己面试过程中的一些感悟, 哎, 快面到自闭了。

Reference

[1] DeepLearning-500-questions -- 一个很好的仓库

[2] Algorithm_Interview_Notes-Chinese -- 知识比较旧了,但也很好

其他主要是自己的日常积累和看的论文。