暑期实习及提前批NLP岗面经记录
旷视
算法题
- 矩阵最短路径
- 窗口内最大值、求和
- 扔鸡蛋
搜狐
问题
- batch normalization原理, 作用
- 证明在n>=2个人中必有两个人他们在这n个人中朋友数相等
算法题
- 求一个数开方是不是整数(二分查找)
- 求二叉树的最大路径和(leetcode 124)
- 链表反转
- 池子盛水(leetcode 11)
京东
问题
- cnn为什么有效?
- 平移不变性, 旋转不变性原理?
- RNN为什么会梯度消失? lstm为什么能解决梯度消失? lstm能解决梯度爆炸吗?
算法题
- 螺旋打印三角形(类似剑指offer 29)
- 在旋转有序数组中搜索(leetcode 33)
网易
原理
- attention怎么做?
- lr svm推导, 有什么区别?
算法题
神州泰岳
一共两轮技术面
原理
- lr和svm区别
- cnn(lstm)参数量计算, 内存计算
- lstm参数量计算
- transformer中position embedding作用? cnn+position embedding效果会怎样? lstm需要position embedding吗?
- 为什么transformer向量维度设为768这么大?而不像常用的词向量100维或者300维?(multi-head时要拆成更小的)
- transformer multi-head作用是什么?
- 为什么要用激活函数, 不用的后果是什么(非线性)
- 为什么lstm用tanh, tanh与relu和sigmoid的比较
sigmoid导数范围[0, 0.25], 收敛速度慢.
tanh收敛速度快, 但是激活区间小.
relu收敛速度快, 求导计算也快 - 为什么随机初始化?如果全初始化0或者1呢
- seq2seq语序和生成文本长度问题
- 卷积核为什么很小?为什么是奇数?如果textcnn用句长一样的卷积核?
- 1x1卷积的作用?
- batchnorm为什么能加速训练?
- dropout反向传播时还是0吗?
- 常用分词的算法?
- l1和l2正则区别, 为什么l1稀疏
- crf原理
算法题
- 螺旋打印矩阵(剑指offer29)
- 求最大子数组乘积
- 最长无重复字符的子串
- 两数之和
oppo(一面凉凉…)
问题
- C++ map和unordered_map时间复杂度? 实现原理?
- 介绍一个NLP基础任务? 常用的算法
- 文本匹配传统方法有哪些? 深度学习有哪些?
算法题
- 爬台阶
问除了动态规划, 还有更好的优化方法吗?(有个公式, 忘记了) - 单词划分, 每个词有自己的权重, 使划分后的字符串权重和最小.(leetcode 139的变形)
- 编辑距离, 但不是求最小编辑距离, 而是求最小编辑距离对应的字符串
作业帮
作业帮一共两轮技术面, 问了很多比较开放性的问题.
一面
一面只考察基础, 自我介绍都免了, 上来就做题.
- 写一个类, 实现字符串序列化为二叉树 leetcode 297
- 二叉树中序遍历 leetcode 94
- 扔骰子, 如果第一次扔的点数不满意, 可以放弃第一次的结果, 扔第二次. 问怎么扔点数期望最大?
- 两个数组, 分别表示高一和高二学生身高统计, 怎么衡量两个数组分布相同?
二面
二面问了一些数学和开放性问题.
- 5枚硬币, 其中1枚一面是字一面是花, 2枚两面都是花, 2枚两面都是字. 现在随机选了一枚硬币抛, 能看到有一面是字, 问另一面也是字的概率是多少?
- 异常点检测?
- LSTM和RNN的区别?
- 介绍下word2vec和bert
算法题
- 从地图左上角到右下角的所有路径数 leetcode 62
头条
简历不突出, 感觉就会重点考察基础知识.
一面
一面主要考察深度学习方面的知识.
- 手推word2vec公式
- Bert和word2vec等词向量方法有什么区别?
- 解决梯度消失的方法(门控结构, residual connection…)
- 解决过拟合的方法
- 文本匹配有哪几类大的网络结构?
- seq2seq网络结构怎么做文本匹配?
- c++构造函数有哪几种写法, 有什么区别?
- 只写了一个算法题: 一颗二叉树, 每个节点除了左右指针, 还有一个next指针指向同层右侧节点. leetcode原题
二面
二面有些问题回答不太好, 所以被要求写了好几个算法题.
- 实现string类的拷贝构造函数
- 求最小编辑距离
- 介绍textcnn网络结构
- textcnn和fasttext区别
- 画一下GRU网络结构(GRU公式忘了, 感觉面试官有点不爽, 接着又要求写算法题)
- 实现atoi函数, 主要要考虑很多异常情况 leetcode 8
三面
二面本来以为凉了, 还好最后一个题写的还可以, 跟面试官蹭了顿饭, 然后等主管面.(特意提醒我三面难度一般很高)
感觉三面比较重视基础, 问了很多数学题.
- y = x ✖️z, x和z独立同分布, 已知x和z的期望方差, 求y的方差(没求出来, 尴尬…)
- 接着问了个简单的, 给一个数组, 怎么只遍历一遍求出数组的方差?
- 还是概率题, 求几何分布的期望?
- textcnn网络结构
- 因为textcnn用到dropout, 所以又问dropout原理, 是如何做预测的?
- 手推svm公式
- 算法题: 有m个有序数组, 从m个数组里各取一个数, 算 ∑i=2m∣ai−ai−1∣最小值