阿里 达摩院 cv 算法 面经

1面(1h10min) - 电面
约定电面晚上8点半(阿里是加班到9、10点的节奏?)
  • 自我介绍:
  • 项目
    • 主要是商汤无人车实习的项目,问我比baseline提升15个点,怎么来的。
    • 从数据迭代、backbone、模型修改几个层面上说了下。
    • 挑一两个有意思的优化说说,说了cascade、hdcnn的结构,为什么用这种结构。
    • 项目中出现什么情况,怎么解决的?主要就是说小目标检测的解决方案。
    • 对caffe源码熟悉程度。(我扯了扯源码的底层设计模式,数据流怎么流的,如何添加新层、cuda代码的细节)
  • 开放题
    • 给了一个情景,如何训练模型、调优。(题目很空,主要考察你对深度学习的理解)
      1. 根据需求(前向传播时间、模型大小),确定模型和基础网络,跑第一版模型。(举了个栗子)
      2. 判断模型是否出现过拟合的情况,来决定下一步的优化方向。
      3. 结果分析(confusionMatrix等),分析问题,将论文中的方法套上去,如果没有自己创造。(又举了个栗子)
    • softmax、多个logistic的各自的优势? 1、类别数爆炸,2、推了下softmax反向传播的公式,来对比两者的优劣。
  • 算法(走流程题)
    • 字符串判断是否是ipv4,c++。 (可能是时间不多了,大佬想下班了)
  • 体会:
    • 全程大多都是我在说,没有太多互动。后来经过源神@邢源建议,还是要故意给面试官漏点马脚让他们来怼我们,然后再怼回去,并说明不这么做的原因,不然不好拿高评分。(卧槽,真的是套路深啊~)
2面(1h30min) - 杭州电面
  • 项目
    • 大佬貌似涉猎很广泛,对每一个领域都很熟悉,基本上简历中的很多细节,他都能找到点怼我。(聊了很久)
    • 项目是从头怼到尾,主要考察对项目、深度学习的理解。
    • 大佬对我的trickList很感兴趣,我猜想他现在做的工作和我的很相似。
    • Anchor大小、长宽比选取?我说了业界常用的方法(YOLO9000中的方法),并提了一个更优的方法。
    • 如何解决小目标:
      1. 为什么要深层、浅层featureMap concat?提了点细节和我踩的坑,需要数量级上的调整,不然深层的feature可能会被压制。
      2. Cascade的思想? 说了下我的摸索的一个过程。改变样本分布,困难样本挖掘,能达到比较好的效果。
    • 文字识别使用ctc loss的一些细节。
  • 开放题
    • 设计一个情景,倾斜字体检测,问我有什么好的想法?(我觉得应该是他现在遇到的问题)
      1. 数据增强,加入形变扰动。
      2. 非end-to-end版本:分别训练检测和分类,举了之前做过的一个文字识别的项目的实现。
      3. end-to-end版本:加入仿射变换学习因子,学习字体倾斜的角度和形变。
    • 在商汤发论文了吗?
    • 没有,正在攒,项目比较重,但有一些work和insight,讲了下思路。(大佬听的很认真,貌似被我的故事打动了[捂脸])
    • 为啥要换实习?日常吹水。
  • 评价:
    • 大佬主动评价我对模型理解挺好的,工作做的挺深的,说等下一面吧。
  • 体会:
    • 二面面试官说话很快,思维比较敏捷,觉得和这种人讨论问题很欢畅,如果一起工作会很赞。
    • 以后面试说话语速应该快一些,让人觉得思维比较敏捷,这个可能会有加分项吧。

3面(1h) - 电面
  • 项目&基础
    • 大佬应该是搞backbone模型优化的,问了我怎么迭代基础网络的版本的,日常扯论文,自己的实验结果和理解。
    • 前两个卷积层通道数不用很多,主要是提取边缘、颜色信息,少量的卷积核足矣。
    • skip connection有什么好处?推了下反向传播公式,根据链式法则,梯度可以直接作用于浅层网络。
    • 初始学习率怎么设?这个我真的没有总结过,只是说一般使用0.01~0.1。
    • mobileNet、shufflenet的原理?说了下原理。
    • 为什么mobileNet在理论上速度很快,工程上并没有特别大的提升? 先说了卷积源码上的实现,两个超大矩阵相乘,可能是group操作,是一些零散的卷积操作,速度会慢。
    • 大佬觉得不满意,说应该从内存上去考虑。申请空间?确实不太清楚。
    • 问我看过哪些前沿的论文?说了说最近两个月的优质的论文。
    • 扯到了tripleLoss,大佬问样本怎么选择?随机,然后就被大佬嫌弃了。装逼失败,这块确实没怎么深入研究。
    • 为什么用multiLoss?多loss权重如何选? 训练普通的模型使其收敛,打印反向传播梯度的大小,这表示该task的难度,以此作为loss的权重,然后我补充说了下可以搞一个动态的loss权重,根据一段时间窗口来决定loss的权重。
  • 开放性问题
    • 凸优化了解吗? 牛顿法、SGD、最小二乘法,各自的优势。
    • 凸优化其他东西呢?我说只有一些零散的知识点的记忆,纯数学,没有很系统的研究。(面试官貌似数学功底很好,只能认怂)。
    • 感觉有点虚,我尝试着往我会的地方引[捂脸]。
    • 工程上如何对卷积操作进行优化? 答:傅立叶模拟卷积。大佬不满意,说那是cudnn早就实现的,还有什么优化吗?(确实不知道,甩锅给工程组)
    • 样本不均衡怎么处理?一个batch类别均等采样,修改loss对不同样本的权重。
  • 体会:
    • 三面面试官懂得不少,不过最后还是过了,有时间凸优化还是要系统整理下。
4面(50min) - 交叉面
  • 项目
    • 大佬应该不是做深度学习的,应该是机器学习那块的。交流中能感觉出来对这块不是很熟。挑他不会的玩命说,至少让他看到我的工作量。
  • 基础
    • SVM的KTT条件?说了说,说到SMO实在说不下去了。
    • GBDT和randomForest区别? 原理角度,方差、偏差角度,过拟合角度,谈了谈之前打阿里天池的一些经验吧。
    • GBDT和xgboost区别? 算法上工程上的优化,面试前专门看了,总结的不错,知乎,更多细节可以看看陈天奇的论文,我没看过[捂脸],做机器学习的小伙伴最好看看。
  • 算法题
    • 求和接近于target的连续子数组。(lintcode上有类似的题)
  • 最后说让后面应该还有个hr面。

——————————————————————————————————————————————————————————————————————————
*这是我去年的写的面经,当时是放在学校论坛,现在移过来,给学弟学妹们一个参考,全程面下来感觉总体不是很难。
*最后去了旷视(face++),部门是Detection组,组内研究氛围很浓,对个人能力提升很大。
*现在一年后回过头来看当初的自己,有点弱,当时没有发过顶会,研究经历也比较弱,自己一年提升也不少,也非常庆幸自己的选择。
*想内推旷视可以直接发送简历 347657335@qq.com , 我发了个招聘贴,介绍了我们组的一些情况,有兴趣的可以移步:


#阿里巴巴##计算机视觉岗##算法工程师##面经#
全部评论
大佬,小目标检测一般有哪些技巧呀
1 回复 分享
发布于 2019-12-16 17:35
膜,看了这个觉得自己做的就是一坨shi
1 回复 分享
发布于 2019-08-04 23:15
沾沾楼主喜气!😁
点赞 回复 分享
发布于 2020-05-10 20:00
看面经就看出差距
点赞 回复 分享
发布于 2019-09-12 14:19
请问这里电面指的到底是现场面还是电话面?一会儿也要面这个的电话面了
点赞 回复 分享
发布于 2019-09-12 14:07
大佬,阿里自动驾驶-算法,有了解吗
点赞 回复 分享
发布于 2019-09-03 18:03
大佬,basedet还缺搬砖的吗,大概会一点cuda那种
点赞 回复 分享
发布于 2019-09-03 14:39
大佬,后来有阿里的hr面吗?交叉面后多久的hr面呢?
点赞 回复 分享
发布于 2019-08-22 15:27
up, 想来实习或者校招的可以发邮件 347657335@qq.com
点赞 回复 分享
发布于 2019-08-15 18:18
攒,很有帮助,谢谢啦
点赞 回复 分享
发布于 2019-08-08 15:10
看完大佬的面经有个问题?全程电面,不需要手写代码吗?感觉比较重视研究经历。
点赞 回复 分享
发布于 2019-08-08 10:09
看大佬的面经,让我对Face++望而却步......太厉害了!!!
点赞 回复 分享
发布于 2019-08-07 21:23
看起来很厉害的样子
点赞 回复 分享
发布于 2019-08-07 21:12
来看神仙
点赞 回复 分享
发布于 2019-08-04 22:56
这个面经看下来确定是真大老
点赞 回复 分享
发布于 2019-08-04 22:52
真正的大佬
点赞 回复 分享
发布于 2019-08-04 22:29

相关推荐

 总时长38分钟老套路,先是进行了自我介绍,3分钟完成。自我介绍完,我主动的问面试官,我要不要对我的主要工作做一个简要的汇报,面试官说可以,于是我便开始照着ppt阿巴阿巴。我发现这是一个很有用的技巧,因为若面试官同意汇报,相当于是把面试官引入了我的节奏,我讲的所有东西都是我亲手做过的,而且这样后,面试官问的问题也会和项目中内容相关,这样就会回答起来非常得心应手。这样就比你什么都不说,然后面试官突然提一个冷门的知识,你在那支支吾吾半天答不上来好太多了。而且,他在这问的问题越多,由于时长原因,后面问的其它问题就会越少。这场面试印象比较深的一个问题的是,PPO相对于其它策略梯度的算法有什么优势?我画图讲解了PPO使用了优势函数,让训练过程更加快速和稳定。然后面试官说,除了优势函数,PPO还有一个技巧来方法网络更新是参数差距过大,没等他说完,我赶紧抢着说,PPO有两种方式来实现更新时参数差距过大,一个是KL散度。。。。。。一个是截断函数。。。。。。通过这两种方式来实现早停。。。。。。讲完ppt后,面试官也没问其它的问题,进入了手撕代码环节。给了两个题目,让二选一。第一题又臭又长,我看都没看完,貌似是让你用python实现某个机器学习过程。第二题就比较简单,给定一个二叉树,让你输出每层节点的最大值,果断选择第二题,并几分钟写完了代码。然后面试官看我写的比较快,又让我用pythorch手动实现一下MLP,当时也没想那么多,就写了一个单层的MLP。最后反问环节,我还是问了老掉牙的问题,进去后主要干什么?是否有人带。现在想想估计面试官听这些也都听腻了吧。下次就问应该提前学些什么或准备些什么吧。
查看6道真题和解析
点赞 评论 收藏
分享
评论
31
288
分享

创作者周榜

更多
牛客网
牛客企业服务