算法工程师实习校招面经 (上篇)


公众号

“温故而知新,可以为师矣”,基于《公众号短期规划》一文,我将首先对过去在实验室及实习秋招过程中的工作进行总结,主要包括实习校招面经、目标检测、属性识别、人脸聚类、图卷积、不平衡问题等部分。由于21年已转推荐算法,时间原因,温故部分主要是对过去笔记的整理,不会涉及太多最新的内容,如果有同学继续从事相关工作,也可以私聊,在Github的repo中持续更新。

这篇是个人实习校招面经系列,本人是20届计算机硕士,基于实习和秋招的面试,拿到了微软、阿里、商汤、滴滴、华为、海康、平安、陌陌等offer,下面总结一些经验,希望对大家有所帮助,有问题之处也可以随时指出。 如果侵犯公司隐私,烦请告知,此文仅做分享之用。

最开始实习时是以公司为单位进行总结,实习经验可以参考这里:算法工程师实习面经(分公司)。由于各公司面试问题存在较多重复,于是秋招时我按照题目类型分门别类,而不是按照公司机械划分。我将个人面试过程中遇到的问题简单分为深度学习、机器学习、图像处理、数学基础、数据结构与算法基础、程序设计语言、模型部署、HR面试以及与我本人简历相关的目标检测、属性识别、Kaggle及天池的比赛、创新想法等几个部分介绍,可能开始会有重叠或者分类不恰当,后面会逐渐更新完善。篇幅原因,分为上下两篇,其中上篇先介绍到HR面试,下篇介绍个人相关的项目和比赛部分。本篇为上篇,初版见个人知乎专栏

很多人在知乎提到过,为什么不直接给出候选答案,第一,篇幅原因,可能某个小节的知识点都足够另写一篇文章;第二,阅读者习惯,据我了解,大部分人遇到给出答案的内容,简单看一下就过去了,实际只是了解参考答案,并没有认真去熟悉相关的工作;第三,开放性问题,给出参考,更会限制思维。所以此文只是简单给出问题描述,不会详细解答。后续有时间,可以针对重要的知识点详细介绍。

这部分基础知识基本顺着简历上的东西逐步问的。

  • 简述两个模型
  • 两个模型的主要区别是什么?
  • 相同层数,densenet和resnet哪个好,为什么?
  • ResNet解决了什么问题呢?
  • ResNet的两种结构具体怎么实现?

  • ResNet参数量和模型大小,Bottleneck的作用,为什么可以降低计算量?

  • 了解哪些移动端/轻量化模型

  • 介绍一下MobileNet,ShuffleNet,Pelee等

  • 介绍一下GAN的结构和原理

  • 了解哪些GAN模型

  • 卷积结构

  • 了解哪些卷积类型
  • 卷积过程计算
  • 深度可分离卷积的原理,为什么可以降低计算量,举例口述计算过程,减少的比例
  • deformable conv原理,具体怎么学习的,对偏移有没有什么限制
  • 反卷积
  • 空洞卷积
  • 分组卷积
  • 1×1卷积的作用

  • 了解哪些模型的组件

  • 池化/全连接层的结构和作用
  • BN/IN/GN的原理和作用
  • BN的实现细节,其中均值和标准差的计算,以及训练和测试时分别怎么用;如果数据不是高斯分布,bn后怎么恢复
  • 为什么使用激活函数
  • 了解哪些激活函数,原理是什么

  • 了解哪些损失函数,公式

  • softmax原理,softmax得出的结果是排序的么,为什么分类用交叉熵
  • 为什么使用smooth l1

  • 为什么会出现过拟合欠拟合

  • 如何判断
  • 预防方法
  • 正则化为什么有效,具体怎么做,l1/l2正则,怎么选择,weight_decay作用,和l1/l2比较

  • 梯度物理意义,梯度的大小和方向

  • 梯度是否可理解为小球下滚?如果坡很陡,会怎么样?
  • 梯度消失/梯度爆炸的现象、原因和解决方法

  • 现象、原因和解决方法

  • 了解哪些优化器

  • adam的特点和公式

  • 三者概念和区别

  • 深度学习一定比机器学习好吗,什么时候更好,选择传统机器学习还是深度学习的标准是什么,为什么
  • 举例说明监督学习和非监督学习

  • train,val,test一般怎么划分

  • 不平衡问题的产生

  • 有哪些解决思路
  • Focal loss公式和作用过程
  • 如果训练集不平衡,测试集平衡,直接训练和过采样欠采样处理,哪个更好

  • 常见的F score中 _α_等于几,那么 _α_什么时候取其他值

  • IoU
  • mAP
  • AUC
  • PR曲线

  • 感受野概念

  • 3x3conv,2x2pool,3x3conv后感受野计算

  • 平时有哪些调参技巧

  • 如果模型不收敛,通常怎么调节

可能因为简历上可问的东西比较多,面试时间有限,机器学习相关问的不是很多,推荐看一下李航老师那本统计学习方法。

  • bagging和随机森林的区别

就是简单问一下,数据预处理cv一般不太会遇到,实习一般也是直接做模型,基本不太需要处理数据

课程方面,我刚好选修过数字图像处理硕士课程,补修过图形学本科课程

学过数字图像处理吗,知道哪些滤波,具体什么原理

有没有学过图形学,都知道哪些

进行过哪些数据预处理,空图,坏图,单通道图,多通道图等一些情况会怎么处理

其实主要就是概率与统计相关,商汤旷视比较喜欢问

  • 圆上任意三个点组成的三角形,包含圆心的概率
  • x,y,z都是(0,1)均匀分布,x+y+z
  • 抛硬币直到连续若干次正面的概率
  • 先验概率,后验概率,怎么转换
  • 坐标0开始,依次走1,2,3,…,n步,可以左或者右,问
  • 有没有到不了的位置:没有,因为左x右x+1,每次走一步,可以到达所有位置
  • 到指定位置m,至少需要多少步:先求最接近m的连续和,然后从里面选两个数作差
  • n个门,1个后门是车,其余n-1个后门是羊,你先选一个,如果面试官告诉你其余n-1个中某个是羊,你会重新选择么(假设n为3) 你先选一个,概率1/n; 面试官告诉你某个不是,你在剩余中选的概率为两部分:(1)你选的那个是,则概率0, (2)你选的不是,(n-1)/n * 1/(n-2),即你第一次选的不是的情况下剩余n-2中选的是的概率。 n=3时为2/3,重新选更优
  • 三个盒子,一个盒子两个红球,一个盒子一红一蓝,第三个盒子两个蓝球。一人随机选了一个盒子,并摸出一个红球,请问这个盒子里另外一个也是红球的概率是多少 2/3,2/3概率选了第一个盒子

该部分主要是手写代码,也是面试的重要组成部分

可能因为我本科非计算机,面试官大都比较宽容,没遇到很难的题目。

给定一个字符串和一个数字,删除指定数字个数的字符,并保证删除

给定字符串和数字 abcdabcd 4

删除一个a    bcdabcd
删除第二个a   bcdbcd
删除一个b     cdbcd
删除第二个b    cdcd

改进:大数组删掉指定个数,怎么最方便。

5

1
2 12
3 13 11
4 14 15 10
5 6  7  8  9

知道哪些排序算法,快排时间复杂度,时间复杂度推导,时间复杂度O(n)的排序算法

快排,归并,堆排序

改进:另外两个数出现一次

求一个数组中只包含0,1使得其中0,1个数相等的最大子数组

归并排序,二分查找

A是一个排序好的数组,升序排列; B是一个排序好的数组,升序排序; 给定c,找到a,b,满足 a属于A b属于B a+b=c

三个数呢

二维数组求最大和矩阵

包含一行的,第一行为例,一个的n个,两个的n-1个,。。。,n个的一个,一共n+(n-1)+。。。+1,n行就是n。 而包含两行,三行就依次是(n-1), (n-2) *, 所以就是n+(n-1)+。。。+1的平方

少两个呢

0, 1, 2, ... n-1...

case1:
IIII
0, 1, 2, 3, 4

case2:
DD
2, 1, 0

case3:
DIDI
4, 2, 3, 0, 1

case4:
DIDDI
534201

case5:
多解
DDI
3201
2103

给定一个有序序列int[] vals,请返回创建的二叉查找树的高度。

power(2,n-1)-1

Original: https://blog.csdn.net/weixin_41278720/article/details/124516881
Author: AI算法札记
Title: 算法工程师实习校招面经 (上篇)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/533142/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球