算法面经字节篇

算法面经字节篇

  • 实习面经
  • 实习手撕
  • 秋招 一面
  • 秋招 二面
  • 秋招 三面
  • 秋招 HR面

实习面经

1.svm怎么划分,是硬划分还是软划分,怎么判断分值,为啥要用对偶,条件是什么,kkt条件
2.auc用过么 f1怎么算,带参数的f1知道吗
算法面经字节篇_第1张图片
3.讲讲bert整个结构 训练任务都有啥(mask 下一句) 后续bert针对“下一句”任务的改进
4.讲讲transformers self-attention的Q K V是什么 编码和解码的区别(解码要mask)
5.用的什么激活(relu)好处是什么 self-attention除以n是干什么-标准化
6.讲w2v原理,怎么加速训练
7.relu函数是啥,relu变体
手撕:背包问题 把一个数组分为和相等的两部分

实习手撕

手撕:DP 由2 3 5 7乘出来的数 从小到大
手撕:消除ab 用栈 比如abcabbd —> cbd
手撕:岛屿数量

秋招 一面

1.你做项目遇到的比较困难的一件事
2.bert的预训练任务,你怎么看两个任务的作用?
3.albert sop
4.albert相对bert里面还有对参数量上的改进
https://blog.csdn.net/u010159842/article/details/102995704
5.bert里面多头 8变12头 参数量不变
6.Bert里面LN的作用,为什么不用BN
7.BN和LN的区别
BN:Batch Norm,每次对batch中的数据按维度进行 Normalization,在训练时使用的是 batch 内数据的分布特征,校验和测试时则是全局的数据分布特征;
LN:Layer Norm,每次对单个序列进行 Normalization,训练、校验、测试时操作相同。
其他还有 Instance Norm、Group Norm 等,分别在数据的不同方向上进行 Normalization。
8.你知道BN一般用在哪?答了图像感觉可能不对
9.BN你知道咋实现不
10.BN的参数估计,训练和测试的区别
11.你之前工作一般用什么指标评估 准召 F1 blue rouge
12.写一下二分类的loss
13.focal loss了解吗
14.交叉熵怎么从最大似然角度理解
15.最大似然是什么
当参数为目标值,观测样本更容易被观测到
16.你了解的优化器有哪些
17.Adam吸收了Adagrad(自适应学习率的梯度下降算法)和动量梯度下降算法的优点,既能适应稀疏梯度(即自然语言和计算机视觉问题),又能缓解梯度震荡的问题
18.堆排时间复杂度
初始化建堆的时间复杂度为O(n),排序重建堆的时间复杂度为nlog(n),所以总的时间复杂度为O(n+nlogn)=O(nlogn)

手撕:找第k大的数
复杂度O(nlogk)
结合快排的思路,n/2+n/4+…,时间复杂度O(n)

秋招 二面

1.kl散度有什么要注意的地方 说了分母加个极小值防止溢出
2.对比学习概念 一般用在什么场景
3.多标签和多分类的区别
4.NLP常见任务类型 文本分类 聚类 序列标注 NER 文本生成
5.Bert取得好的效果原因 答了使用transformer和mask
6.GPT为什么没Bert好
7.多头注意力的多头有啥用
8.transformer里面哪些地方是并行的
6个 encoder 之间是串行,每个 encoder 中的两个子模块之间是串行,子模块自身是可以并行的,注意力层和前馈神经层这两个子模块单独来看都是可以并行的,不同单词之间是没有依赖关系的
9.并行处理如何捕获序列信息 位置编码
10.oov问题怎么解决
11.过拟合怎么解决 正则化 早停 数据扩充 降低模型复杂度 少说了集成学习、dropout
12.分类用什么模型结构
13.那NER用什么结构
14.梯度消失梯度爆炸怎么解决 LN 残差 换损失函数

手撕:梯度下降法求根号3

秋招 三面

1.transformer背诵
2.多头怎么理解
3.多头自注意力中,头数量变了参数量变吗
4.实习中遇见最困难的一个事

手撕:实现AUC

秋招 HR面

1.投了哪些公司
2.哪一段实习经历学到的东西最多
3.你在实习中做的最大的贡献是
4.字节的优点和缺点
5.三五年内的职业规划
6.你的优点和缺点
7.怎么改进你的缺点
8.我看你投的比较杂,是没有确定的赛道吗
9.平常在学习的时候通过一些什么途径

你可能感兴趣的:(算法面经,人工智能,自然语言处理,nlp,面经)