公众号

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

知乎

深度学习算法工程师面经(微软、阿里、商汤、滴滴、华为、海康、平安、陌陌等offer)之上篇 - 知乎

一、引言

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

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

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

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

二、深度学习基础

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

2.1 深度模型

2.1.1 ResNet和DenseNet
  • 简述两个模型
  • 两个模型的主要区别是什么?
  • 相同层数,densenet和resnet哪个好,为什么?
  • ResNet解决了什么问题呢?
  • ResNet的两种结构具体怎么实现?
  • ResNet参数量和模型大小,Bottleneck的作用,为什么可以降低计算量?
2.1.2 Inception系列的演化
2.1.3 移动端/轻量化模型
  • 了解哪些移动端/轻量化模型
  • 介绍一下MobileNet,ShuffleNet,Pelee等
2.1.4 GAN
  • 介绍一下GAN的结构和原理
  • 了解哪些GAN模型

2.2 深度基础

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

  • 池化/全连接层的结构和作用

  • BN/IN/GN的原理和作用

  • BN的实现细节,其中均值和标准差的计算,以及训练和测试时分别怎么用;如果数据不是高斯分布,bn后怎么恢复

  • 为什么使用激活函数

  • 了解哪些激活函数,原理是什么

2.2.3 损失函数
  • 了解哪些损失函数,公式
  • softmax原理,softmax得出的结果是排序的么,为什么分类用交叉熵
  • 为什么使用smooth l1
2.2.4 过拟合/欠拟合
  • 为什么会出现过拟合欠拟合
  • 如何判断
  • 预防方法
  • 正则化为什么有效,具体怎么做,l1/l2正则,怎么选择,weight_decay作用,和l1/l2比较
2.2.5 梯度
  • 梯度物理意义,梯度的大小和方向
  • 梯度是否可理解为小球下滚?如果坡很陡,会怎么样?
  • 梯度消失/梯度爆炸的现象、原因和解决方法
2.2.6 网络退化
  • 现象、原因和解决方法
2.2.7 优化器
  • 了解哪些优化器
  • adam的特点和公式
2.2.8 机器学习、深度学习、深度神经网络
  • 三者概念和区别
  • 深度学习一定比机器学习好吗,什么时候更好,选择传统机器学习还是深度学习的标准是什么,为什么
  • 举例说明监督学习和非监督学习
2.2.9 数据集划分
  • train,val,test一般怎么划分
2.2.10 不平衡问题
  • 不平衡问题的产生
  • 有哪些解决思路
  • Focal loss公式和作用过程
  • 如果训练集不平衡,测试集平衡,直接训练和过采样欠采样处理,哪个更好
2.2.11 评价指标
  • 常见的F score中α等于几,那么α什么时候取其他值
  • IoU
  • mAP
  • AUC
  • PR曲线
2.2.12 感受野相关
  • 感受野概念
  • 3x3conv,2x2pool,3x3conv后感受野计算
2.2.13 链式法则
2.2.14 调参技巧
  • 平时有哪些调参技巧
  • 如果模型不收敛,通常怎么调节

三、机器学习基础

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

3.1 logistic回归

3.2 svm

3.3 随机森林

  • bagging和随机森林的区别

3.4 决策树

3.5 假设空间与归纳偏好

四、图像处理基础

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

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

4.1 数字图像处理

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

4.2 图形学

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

4.3 数据预处理

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

五、数学基础

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

5.1 概率

  • 圆上任意三个点组成的三角形,包含圆心的概率

  • x,y,z都是(0,1)均匀分布,x+y+z<1的概率

  • 抛硬币直到连续若干次正面的概率

  • 先验概率,后验概率,怎么转换

  • 坐标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概率选了第一个盒子

六、算法基础

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

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

5.1 x的n次方(x任意,n自然数)
5.2 链表排序(不能动指针)
5.3 螺旋打印二维数组
5.4 删除字符

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

给定字符串和数字 abcdabcd 4删除一个a    bcdabcd
删除第二个a   bcdbcd
删除一个b     cdbcd
删除第二个b    cdcd

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

5.5 螺旋三角形
51
2 12
3 13 11
4 14 15 10
5 6  7  8  9
5.6 二叉树深度及最长路径
5.7 排序

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

快排,归并,堆排序

5.8 二叉树路径和为给定值
5.9 一个数组,其他数出现两次,另一个出现一次,找出

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

5.10 链表中倒数第k个结点
5.11 判断链表对称/链表回文
5.12 链表反转
5.13 逆序对
5.14 爬楼梯
5.15 连续子数组的最大和
5.16 最长不重复子串

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

5.17 给定一个数组A,求max(Ai - Aj)。其中 i < j 。
5.18 扎气球
5.19 n个文件(海量文件),查找和排序,二分查找时间复杂度

归并排序,二分查找

5.20 一个数组里面是股票值,求什么时候购买和卖出,收益最大。
5.21 最长连续公共子串
5.22 实现卷积计算,使用框架实现VGG、ResNet
5.23 实现IoU和NMS
5.24 满足条件的两个数

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

三个数呢

5.25 一维数组最大和

二维数组求最大和矩阵

5.26 二维数组有多少个子数组

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

5.27 二维矩阵左上角到右下角最大和
5.28 1-n数字里少一个,找出来

少两个呢

5.29 输入D和I组成的字符串,输出数字数组,D表示Decrease,I代表Incre。
0, 1, 2, ... n-1...case1:
IIII
0, 1, 2, 3, 4case2:
DD
2, 1, 0case3:
DIDI
4, 2, 3, 0, 1case4:
DIDDI
534201case5:
多解
DDI
3201
2103
5.30 Maximum Swap/Leetcode670
5.31 判断两线段是否相交
5.32 回文子串Leetcode 647. Palindromic Substrings
5.33 对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。

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

power(2,n-1)-1<len<=power(2,n)-1

5.34 寻找两个元素异或的最大值。
5.35 工作方案
5.36 Valid Permutations for DI Sequence/Leetcode 903
5.37 atoi/leetcode-8
5.38 根据顶点坐标,判断两个四边形/三角形是否相交
5.39 球队至少需要多少分可以出线,最多有多少分未出线

m支队伍两两比赛,赢了得3分,平局各得一分,输了不得分,求n个晋级名额中的最少得分。

5.40 leetcode股票
5.41 给定一个不等概率生成器,随机生成 0 和1 的概率分别为 p 和1-p, p 不等于0.5,要求设计如下等概率生成器:

(1) 随机生成0 和1 的概率为0.5

(2)随机生成0,1 和2 的概率为1/3

(3) 随机生成0,1,2,…n-1 的概率为1/n

5.42 给定n个数的数组,找到所有长度大于等于k的连续子数组中平均值最大的那个。返回那个最大的平均值。
5.43 在一个 m*n 整数矩阵中找到指定值 target, 这个整数矩阵有如下性质:

(1) 每行从左到右数值递增

(2)每列从上到下数值递增

5.44 给定一个无向图,这个图是在一棵树的基础上加上一条边构成的。问哪条边可以删掉使图重新变成一棵树?如果有多个答案那么输出输入的边中最后出现的那条
5.45 输入四个点的坐标,求证四个点是不是一个矩形

七、程序设计语言

7.1 Python

  • 深拷贝和浅拷贝
  • list和tuple区别
  • is和==异同
  • list参数传递:如果list在函数里改变,原来的list是否改变

7.2 C++

  • 指针与引用的区别
  • 继承与多态
  • 数组和链表
  • 内存泄漏和溢出

八、模型部署

8.1 tensorrt内部机制

tensorrt怎么量化,float32怎么变int8,怎么变回来

8.2 分布式,多卡使用

(1)数据并行:每个机器都有一个相同的完整的模型,然后分别处理不同的数据,最后server汇总结果;

(2)模型并行:把一个模型进行拆分,每个机器上是模型的一部分,然后每一部分模型在不同的机器处理,处理结果移交给下一个机器的部分继续处理。

(3)现在以数据并行为常用方式,模型并行主要难点在模型拆分上,二者通信量都很大。

(4)分布式的模型更新方式主要是两种 中心化(parameter server)和去中心化(ring all-reduce etc.),中心化参见TF和MXNet 去中心化参见NCCL的处理方式

8.3 剪枝怎么做,剪多少,效果变化多少

8.4 量化怎么做,效果变化多少

九、HR面试

9.1 个人规划

9.2 希望做研究还是业务

9.3 有没有和人发生争执的经历

9.4 实习遇到的困难

9.5 给你项目让你主导怎么规划

算法工程师实习校招面经 (上篇)相关推荐

  1. 深圳内推 | 腾讯优图实验室招聘计算机视觉算法工程师(校招/实习)

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 腾讯优图 腾讯长期致力于社交平台与数字内容两大核心业务,积极拥抱产业互联网 ...

  2. 【计算机就业-算法工程师】校招想去互联网公司担任算法工程师该怎么准备

    前言 hello大家好,我本次分享的主题是计算机专业校招想去互联网公司担任算法工程师该怎么准备,例如笔试和面试需要准备写什么,实习,项目以及论文中会问些什么问题.我将结合自己以及身边小伙伴们的秋招经历 ...

  3. 58同城招聘|三维重建、图像图形学算法工程师(校招/社招)

    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁.如果你需要我们帮助你发布实习或全职岗位,请添加微信号「CV_LAB」. 58同城VR项目组招聘 公司介绍 ...

  4. 视频编解码算法工程师岗位校招及提前批记录(持续更新)

    今年的提前批好像有点早呀,7月8月有的忙了: 1.大疆有视频算法工程师岗位,6月份开始投简历,前几天让做了性格测试,不知道会被会卡在这关,等消息中: 7月8号做了笔试,笔试出的非常专业,都是与视频编码 ...

  5. 2018.04华为算法工程师实习面试经历

    2018.07.03:已经实习了一个星期了. 2018.05.09:收到了华为武研所的签约通知!明天去现场签约. 2018.05.04:早上问了下武汉华为的HR小姐姐,参加了软件挑战赛确实可以免笔试和 ...

  6. 算法工程师实习岗面试题(part1)

    面试笔记,不一定记得很全,但大概是这个意思 因为公司说不能泄露面试题,所以我就加了点润色,但是不影响内容 限时免费:1天 前言 面试时间:2020年6月 面试方式:电话面试 面试内容:数据挖掘及机器学 ...

  7. 算法工程师实习总结(7-9)

    1. 软件开发 业务要求:制作多任务RTSP视频流播放以及区域画线的界面,并完善界面程序相应的基本功能. 整体思路:由于使用的语言是Python,且该软件制作只是用作后面务中算法调用的工具,并未采用专 ...

  8. 中兴软创个人面试(算法工程师实习岗)总结

    研一,纯粹体验一下,也是长这么大除了研究生复试以外第一次正儿八经的面试了. 笔试的东西就不贴上来了,毕竟试卷上写着未经允许不得外传.我还是个遵纪守法的好公民. 谈谈面试吧,顺便把题目答案整理一下,供日 ...

  9. 算法工程师7——机器学习概述(上篇-基本计算库)

    这里写目录标题 1 基本概念 1.1 人工智能简介 1.2 人工智能三要素 1.3 人工智能主要3个分支 2 机器学习 2.1 机器学习 2.2 机器学习工作流程 2.3 机器学习分类 3 matpo ...

最新文章

  1. 实战|基于图割算法的木材表面缺陷图像分析
  2. Linux下安全扫描工具Nmap用法详解
  3. asp.net小技巧:摆脱路径的困扰(三)
  4. DCMTK:转换dicom文件编码
  5. 无监督学习和监督学习的区别
  6. 怎么wps解除合并单元格_wps表格怎么锁定单元格
  7. 【剑指offer】面试题43:1~n整数中1出现的次数
  8. angularJs的继承
  9. delphi组件读写机制
  10. ArcGIS.Server.9.2.DotNet实现EditorTask功能扩展(自带例子 十、三)
  11. 转 Still,yet和already的用法
  12. Mac版哔哩哔哩视频下载工具
  13. 驱动精灵卸载后无限蓝屏重启
  14. ToDesk版本更新,引入RTC传输技术,是否早以替代向日葵远程控制?
  15. 计算机一直在启动界面进不去怎么办,Win7系统开机一直停留在“Windows正在启动”界面怎么办...
  16. Head First Design Mode(2)-设计模式入门(策略模式)
  17. 个人所得税计算以及个人所得税专项扣除相关信息
  18. 小米电视4s通过adb调试删除原装软件笔记
  19. 使用md5进行加密解密
  20. 市场分析-全球与中国纳米复合太阳能电池市场现状及未来发展趋势

热门文章

  1. 微型计算机主要技术指标是啥,微型计算机的主要技术指标
  2. CSPJ2019T4(加工零件)题解
  3. linux下使用man命令查看系统调用
  4. S3C2440系统中断(转)
  5. 大数据、物联网、云计算
  6. PGP生成秘钥对及应用
  7. win10删除第三方增加的“设备和驱动器”
  8. 苹果呼叫转移设置不了_怎么设置别人电话打不进来
  9. Jm 18.4 MVC 报告一
  10. 织梦CMS建站入门学习(一)