点击上方“机器学习与生成对抗网络”,关注"星标"
获取有趣、好玩的前沿干货!
算法岗的竞争,日益激烈。知乎盛行劝退,但如果真有兴趣,那么打好基础、练出较好的编程能力,相信就能较为从容地面对!今天分享一个朋友的面经!(下述的编程大多没给出具体题目,主要是leetcode、剑指offer和一些常见题型)
春招实习
阿里-cv算法岗
一面
1 自我介绍
2 讲一个项目
3 介绍各种loss, L1 L2 CE, GAN, perceptual loss,(hinge loss, triplet loss), 检测和分割的loss
4 介绍常见的卷积,conv, dilated conv, group conv, deepwise conv, deformable conv
5 python和c++的区别
6 c++内存管理,比如,全局变量怎么存的
7 数据结构:
排序算法: bubble, insertion, selection, shell, quick, merge, bin,
复杂度:bubble O(n^2) quick O(nlog(n))
快排过程
二面
1 自我介绍
2 讲一个项目
3 c++虚函数和纯虚函数的区别
交叉面
1 自我介绍
2 讲项目
3 常用的激活函数 Sigmoid, Tanh, Relu, PReLu, LeakyRuLu, Selu
4 soft-attention, hard attention, self-attention, attention的更新
5 object detection:
one stage: yolo
two stage: RCNN, Fast-RCNN(Selective search, roi映射到feature map上, roi pooling),
Faster-RCNN(RPN),
6 softmax的用处?比如归一化(attention)
Cross Entropy怎么计算loss
网易-cv算法岗
一面
1 自我介绍
2 讲项目
3 项目相关延申细节
4 交叉商和mse的区别做分割,会怎么样
5 cnn常见的模型做的变化,区别
6 各种卷积 为何用3*3 不用4*4
7 cGan lsgan cyclegan 损失函数是什么
8 机器学习: LR SVM(kernel trick)
9 dropout训练和测试的区别,如何处理
10 BN是如何做的,训练和测试的区别,moving average是怎么做的
11 python中tuple和list的区别。tuple定义后内容就不可变,list是可变的
12 图片顺时针旋转30实现思路
13 基础语言 相关:多态具体实现 const int 和 int const区别 python的constructor?
14 随机森林
二面
1 自我介绍
2 讲了两个项目
3 feature map 计算输出大小和参数
4 讲MSE和CE分类时候的差别(MSE做分类,前面要加sigmoid或softmax, CE的梯度只和绝对误差有关,梯度随绝对误差增大而增大,MSE的梯度,除了和绝对误差有关,还和sigmoid导数的梯度有关,梯度随绝对误差增大先增大,后减小)
5 sigmoid和tanh的优缺点
6 梯度消失的原因(sigmoid和chain rule)
7 梯度更新方式,讲Adam
8 分类类别不平衡怎么处理
9 dropout原理和做法,训练和测试差别
10 NMS做法
11 知道哪些GAN的变种,具体问了Cycle GAN(unpaired data的训练), W-GAN
12 集成学习知道哪些,adaboosting(减小bias),bagging(减少variance)
13 讲一下风格迁移,你知道的网络,讲了单图风格迁移的做法
三面
1 自我介绍
2 一个项目
3 BN的做法,训练和测试
4 分类网络的演化 alex vgg google(v1234) resnet resnext densenet senet
5 编程
6 讲一讲NAS
秋招
头条提前批-算法岗
一面
1 自我介绍:
2 一个项目
3 输入64*32*32,卷积核256*2*2卷积,乘法运算次数,怎么减少计算量的方法
4 BN是怎么操作的
5 传统机器学习xgboost(之类的)了解吗
6 逻辑回归loss, softmax loss,focal loss
7 防止过拟合
8 集成学习知道哪些,bagging是降低方差还是偏差
9 数据库
10 linux操作系统怎么创建进程
11 手撕代码:
一面
1.讲项目
2. 随便用一种方法求出pi。
3. 股票一周价格题目。
4. 编程题
5. 朴素贝叶斯公式,如何展开。
6. 朴素贝叶斯分类器
7. 是否了解数据挖掘算法,gbdt之类。
8. softmax公式,如果用c实现会有什么需要注意的,应该怎么优化
9. sigmoid激活函数及其缺点。
10. 多线程,两个线程,一个打印一个数组,如何让数组交叉打印出来。
11. 常见概率题
二面
自我介绍
讲项目
1 VAE和GAN的区别:
2 用大卷积核和小卷积核的差别:
3 了解机器学习参数归一化的做法吗?
不知道,知道深度学习的BN,IN,LN,GN,他说机器学习的归一化差不多
4 梯度爆炸怎么处理?
5 防止过拟合
6 GAN有哪些trick能让它训练更稳定
7 两道编程
三面
1 自我介绍
2 项目介绍
3 和别人的方法相比,你的方法在哪些方面提升了效果
4 算法题
顺丰科技
1、k-means的迭代过程
2、了解混合高斯模型吗?说说和k-means的联系
3、问项目
4、编程题:dp
网易互娱
1、讲论文
2、给定网络结构和输入大小。
计算每层卷积的输出大小,参数量,
某个卷积替换成depth-seperable后的参数大小,K*K*Cin + 1*1*Cin*Cout
Fc输出大小,参数大小
每层BN的参数大小,2*1*C*1*1,BN的两个参数
每个卷积层ReLU换成PReLU,增加的参数量,每个channel多一个参数?
3、训练类别不平衡怎么处理
4、了解Bagging和boosting对应的方法吗?讲一下差别
5、RandomForest过拟合了要怎么办?
6、训练好的决策树,保存在磁盘需要保存哪些信息,怎么测试?#######
7、训练loss为NAN可能是什么原因?对应的解决方案?#######
原因:
参数初始化时,参数的值过大
学习率设置过大,导致多次更新后,参数的值爆炸
解决方案:
选择合理的初始化方式,MSRA初始化
减低学习率
8、给定训练loss的曲线,怎么调整学习率?
9、学习率的初始值怎么选?使用的lr递减策略的超参怎么设置?
初始值:1e-3~5e~5,网格搜索+early stop,选个大体合适的初始值
先用设好的学习率和Adam试跑一下,看loss曲线大概迭代多少收敛,换poly lr + SGD细调
10、讲一讲为什么要做预热?怎么做?
网络初始化时,学习能力差,返回的梯度会比较震荡,因此需要用预热让网络先学一段时间,让网络大体稳定
具体做法:用较低的学习率,线性递减lr,先训练10个epoch,之后再增大学习率,使用对应的学习率递减策略
11、常用的降维算法?
二面
1、问项目的细节
2、注意力机制和接额外的卷积操作都是网络自己优化参数,两者的区别?
还知道哪些attention的操作?
SE的做法和原因,为什么分两步?
3、轻量型网络了解哪些?哪些地方做了改进?
MobileNet v1 v2, ShuffleNet v1,v2
ShuffleNet V2和DenseNet有什么关联?
4、GAN,pix2pix为什么用4*4,不用3*3卷积?
5、vector的底层实现机制?STL的底层实现机制?
三面:
1、pytorch相关
pytorch动态图和其他静态图框架的区别
pytorch节省显存的做法
pytorch dataloader很慢,怎么加速
2、对模型压缩了解哪些工作?用压缩后的模型会比与用压缩后模型相同网络容量的小网络重新训练,效果更好?为什么?
3、了解AutoML吗?
4、说一下GAN里面常用的CE,JS,KL, W距离?
5、Focal loss, OHEM, 原始的hard example mining?
6、手撕代码
【面试求职】相关阅读:
实习内推速进!【字节跳动】各类岗位都有!
实习内推速进!【阿里钉钉】2021届技术实习生内推!
虎牙直播2021届多种实习岗位任你pick~
2019年部分实习面经回顾
2019JDATA店铺购买预测大赛复盘(冠军方案)
该捋清!卷积、可分离卷积的参数和FLOPs计算!
C++引用和指针以及const常量限定符,能说一二吗?
GAN&CV交流群,无论小白还是大佬,诚挚邀您加入!
一起讨论交流!长按备注【进群】加入:
更多分享、长按关注本公众号: