2021暑期实习面经及记录
从2020年底开始投简历,到2021年2月开始面试,一直面试到5月初,大大小小的公司也拿了几个实习offer,最终第一次实习去了华为计算算法部,第二次实习在腾讯qq浏览器用户增长中心算法实习和阿里妈妈大外投广告算法实习中选了阿里,目前正在实习ing,在做clickbait问题及尝试用因果推理去解决。争取转正吧。
下面正式的秋招面经就开始啦!
提前批:
5月末投简历,6.22一面,6.24hr面,感觉略水
一面:
· 问项目:
SP-Bert改进了什么地方
分布式ring-all reduce原理,embedding 压缩怎么做的
商品top50推荐系统介绍一下,召回排序方法是什么
·问基础:
介绍一下决策树,ID3,C4.5,CART区别
ID3可以做多分类吗?CART呢?为什么?
介绍一下SVM ( 函数间隔 -> 几何间隔 -> 拉格朗日解带约束问题 -> 对偶问题 -> KKT条件 -> SMO解α)
什么样的函数可以作为核函数,三个条件?
hr面:
(只挑一些比较刁钻的问题说一下)
本科做算法,你的优势在哪?
笔试没有答满分,你怎么看?
根据性格测试,你的优点是xxx,你觉得对吗?你的缺点是xxx,你觉得对吗?
期望薪资?(我说了40w,略慌,去年vivo ssp 在os上才36w)
反问:工作节奏(大小周,不算最忙的但也不算轻松)
ps. vivo大小周,薪资略低,知乎评价略差,当个保底offer吧。面试是真的水qwq
‘pps.给的真低,服了
7.1一面:
问的就是项目,如何负采样。图召回的优点。
为什么逻辑回归不能用MSE?
答:1.引入sigmoid,用mse会导致非凸问题
2.先验分布不同,mse是高斯分布,cross-entrpy是伯努利分布
3.计算量复杂
昨天去唱歌了,今天突击刷题。看了逆序对,k路归并,编辑距离,最大矩形,重排链表,部分翻转之类的。希望明天可以问到编辑距离。冲冲冲。
一面:
算法:
按照非降序打印两个非降序链表节点的值
topk有哪些算法?我说了建堆,改进快排O(n)复杂度,让我手推改进快排O(n)怎么来的(等比数列求和取极限)
然后问了topk如果要求O(1)空间且不改变原来数组怎么做?(当时没答上来,后面才想起来要二分值域)
基础:
写出交叉熵公式
从最大似然角度手推LR
最大似然的含义和数学意义
项目:
简单问了问。没了。
没了,很迷,代码都写上了,基础也都答上来了,反问自己表现面试官也说不错。结果反手一个挂,呵呵。可能就和字节data无缘吧。
一面:
死扣项目
算法:
二叉树中最长路径
中序遍历二叉树
没了,面试体验不太好。
一面(100min)
很长,体验还不错,就是问的很深入很全
基础:
进程和线程的关系
三次挥手四次握手(是的你没看错,算法岗问这个)
决策树信息增益公式,id3,c4.5,cart
transformer架构,encoder和decoder区别(这里忽略了decoder的两个multi-head attention),decoder第二个decoder的q,k,v是什么?
介绍一下cnn和rnn
为什么rnn会梯度爆炸和梯度消失
lstm为什么可以解决梯度消失,三个门是什么
lstm参数量(划重点)
项目:
deepwalk如何建图
deepwalk和node2vec差别
如何召回如何排序
忘记了,反正就那些玩意
一二面一起的
一面:
两个代码题:岛屿个数,最长不重复连续子数组长度
简单说了一遍项目,毕竟人家是搞cv的
二面:
项目:
NLP分类,解决什么问题,怎么做的,亮点在哪,人数如何?
代码:顺时针打印矩阵(code style很重要)
数学题:均匀的六面骰子,投掷100次,点数之和大于400的概率(说方法)
服从正太分布,μ和σ怎么估算(中心极限定理)
ml/dl基础:
BN层说一下,解决什么问题,为什么要有线性转换?公式?
手写一下CNN与BN交互的公式
三面:
算法:
1.给定一个数组arr([0.1, 0.2, 0.3, 0.4])按照0.1,0.2,0.3,0.4的概率返回0,1,2,3,你有一个均匀分布的函数r
2.一个数组,长为n,元素为1到n(不重复),问将其排列成[1,2,3,…n]最少需要交换几次(剑指offer改变,思路一样,一个萝卜一个坑)
基础:
Transformer介绍一下,怎么解决input时间穿越问题?
了解哪些CV方面的网络?
介绍一下bert
怎么做模型压缩?
平常怎么读paper?
项目:
介绍一下自己的项目?
出彩的地方在哪?
反问:
公司培养新人的机制?
一面:
上来3个代码:
写一个topk,我说了两种方法(改进快排和堆),然后她说换一道
手写sqrt(二分和迭代)
最长上升子序列长度(dp)
然后问基础:
transformer架构
LN和BN区别
BERT模型太大,占用内存太多怎么半(速度太慢之类的怎么办,忘记具体问题了)
介绍一下self-attention
Adam和sgd区别
速度很快,周二一面,周五收到offer邮件
先码住几个题,回头更
超过k个的连续相同数字去重
猿辅导笔试:
'[[][][]3]2[[][]3]2’共有几个箱子
升序数组有两个数字换了位置,找到这两个数
总结:
模拟类型的边界条件,代码细节还是要多看看