美文网首页
旷视 2019 春季算法实习生面试总结

旷视 2019 春季算法实习生面试总结

作者: seniusen | 来源:发表于2019-03-29 21:00 被阅读0次

    20190314 一面

    1. 自我介绍

    2. 项目介绍 2019 春季实习生招聘之项目介绍

    3. 了解过哪些 CV 领域

    4. 一张图片多个类别怎么设计损失函数,多标签分类问题

    5. SVM、决策树优缺点,非线性回归用什么方法,L1、L2 正则化区别

    6. 链表归并快排 LeetCode 148——排序链表

    7. 反转链表 LeetCode 206——反转链表

    8. 实习时间,想做什么项目,检测、分割、行人重识别

    9. 骰子掷出 1-7 的均匀分布

    第一次掷骰子的点数为 X_1,第二次掷骰子的点数为 X_2,如果X_1=X_2=6,则重掷,令 X =((X_1-1)*6 + X_2) \% 7,则 X 即为取值范围为 1-7 的均匀分布。

    紧接着二面

    1. 自我介绍

    2. 介绍项目

    3. ResNet 的特点

    引入跳跃连接,有效地解决了网络过深时候梯度消失的问题,使得设计更深层次的网络变得可行。

    1. 用 BN 没有,BN 有啥优点,这里问各种细节

    详见论文阅读笔记 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

    1. 第一个项目看你用了 Dlib,什么原理,我只调库。人脸融合效果怎么评价,答辩时候人为主观评价。 设计一个人脸识别模型,讲了讲 Siamese 网络来做人脸识别。怎么求一个三角形外接圆,三条边垂直平分线的交点即为圆心,圆心到顶点的距离为半径

    2. 第三个项目,什么是 one-shot、zero-shot,区别

    zero-shot 就是说测试集中的类别都是训练集中没有见到的;one-shot 就是说测试集中的类别在训练集中很少或者只能见到一次

    1. 梯度下降法和牛顿法区别

    梯度下降法:利用一阶导数
    牛顿法:利用二阶导数,收敛速度快;但对目标函数有严格要求,必须有连续的一、二阶偏导数,计算量大

    1. Adam 和 SGD 区别,RMSProp 优化算法

    2. RNN 怎么反向传播

    3. TensorFlow 怎么在网络结构实现一个 if 判断,定义一个布尔值

    4. SVM 的损失函数,特点,对偶问题求解,用朗格朗日乘子法将有约束优化转化为无约束优化, 直观解释一下拉格朗日乘子法

    5. 给定一个 [0, 1] 的均匀分布,求圆周率

    用这个分布产生一个坐标 (x, y),则这些点均匀分布在一个边长为 1 的正方形内,如下图所示。由几何概率可知,落在四分之一圆内的概率为 P = \frac{\pi}{4},因此我们只需统计出所有点里面落在圆内的点数即可估计出圆周率。

    1. 编程求数组中的 Top K 大的数 LeetCode 215——数组中的第 K 个最大元素

    总结

    大概答出百分之七八十吧,写代码还是不够熟练,一周后收到感谢信,被加入人才库!

    一起找实习的其他同学面试题

    一面

    1、目标检测项目

    • 阀值是怎么选取的?取多少?答:0.75
    • 阀值的实际意义是什么?答:IOU 值,然后仔细解释
    • 如果预测出的框过多了怎么办?答:调整 IOU 阀值,然后解释
    • FPN 在网络中是怎么加的
    • ResNet-50 的选用,因为背景比较单一,没有必要选取更深的网络

    2、常规深度学习问题

    • BN 和 L2 正则化
    • 哪些原因会导致梯度消失。答:网络深度、激活函数

    3、编程题:

    • 判断两个链表是否相交。
    • 求一个数列中两个元素的最大和,找到这个两个元素。(Top K 问题)

    二面

    • 为什么项目中用 Faster R-CNN+FPN,Faster 和 YOLO 对比;为什么叫单步法,两步法?

    • R-CNN系列:R-CNN,Fast R-CNN,Fast R-CNN。大概说了一下每代改进。又问了RPN网络。

    • C++,问了 map 等是用什么实现的。答:红黑树。(面试官:好了,我也不问你红黑树了),那你在想想还有其他实现的方法吗?平衡二叉树,差不多说了一下。可能是跳表?数据结构和算法之——跳表

    • STL 中 vector 是怎么实现的?我答了用数组实现,然后常数时间访问,内存分配。内存不够在原有基础上扩大一倍分配。又问内存减小的时候是怎么做的,我懵逼了。

    • 问堆和栈。我不太会堆,忘记了。然后说了说栈的特点,怎么用的。又问了一下,在计算机系统中,栈有哪些用处,具体解释了一下。我说了线程和进程。堆和堆排序堆的应用数据结构之——栈

    • Linux的一些常用命令:我说了几个。他又问怎么按时间顺序打印出文件列表,按文件大小打印文件列表

    • 编程:两个字符串序列的最长公共子序列。动态规划经典题目

    • 开放问题:让我设计神经网络模型(由于硬件限制,Faster 这种网络不让用)
      数据:许多图片,这些图片是由很多网络分割的,就像棋盘一样。每一个格子中可能存在一条小斜线(因为是直线,所以实际由两个端点就可以确定)。要求设计一个网络来检测出这张图片中的这些小短线。
      要求:自己定义图片的尺寸,网络的模型,loss,评价指标。问的比较细,每一步的实现细节,整得我一愣一愣的。

    • caffe 实现一种新的自定义网络

    相关文章

      网友评论

          本文标题:旷视 2019 春季算法实习生面试总结

          本文链接:https://www.haomeiwen.com/subject/azipmqtx.html