2019算法岗面试经验汇总

作者:太蔡了
来源:牛客网,Jerry的算法和NLP

背景:211本,C9硕,都是非科班。主要投CV的算法岗,无竞赛,无论文,两-三个实验室CV相关项目,一段旷视的暑期实习经历。

今年的算法岗可以说是诸神黄昏了,难度和前几天完全不在一个档次,找工作的时候也深深感受到了被吊打的痛苦。

拿的offer和大神们肯定是比不过的,只要自己尽力了就行了吧

目前的offer情况如下:

华为(fx offer)

报的FX,两轮面试,这时还没改革所以难度你懂得。没啥好说的,都是聊项目

头条(offer)

nowcoder.com/discuss/21

一面:

  1. 聊项目

  2. GAN的损失函数形式是什么样的?

  3. 介绍一下什么是GAN?

  4. GAN是怎么训练的?

  5. 输入为L*L,卷积核为k*k,还有步长s和padding p,求输出尺寸?求操作的FLOPs?

  6. 过拟合要怎么解决?

  7. 几个激活函数都有什么优缺点(sigmoid, tanh, relu)

  8. 概率题:x, y服从0-1均匀分布,求x+y<1的概率?x, y, z服从0-1均匀分布,求x+y+z<1的概率?

  9. 编程题,LEETCODE 448

二面:

  1. 自我介绍

  2. 编程题,LEETCODE 121、123

  3. 介绍C++的虚函数

  4. 析构函数一定要是虚函数吗

  5. BN的作用

    三面:

  6. 介绍项目

  7. 自己做的超分辨项目有没有什么创新点

  8. 超分辨今年有什么改进,有没看过今年的超分辨paper

  9. 有一个1000w的视频库,每个视频3-5分钟,新来一个视频,我们需要去这1000w的视频库里查询,是否存在相同视频。1、选择什么样的特征。2、设计查询的方法。

  10. 磁盘上有M个数组(M很大),每个数组大小不确定,数组内数值不会重复。现在要求其中n个数组的交集。设计一个检索服务,使得这个求交集的速度最快,有内存限制。

拼多多现场,2技术+1hr(挂)

nowcoder.com/discuss/22

拼多多翻车比较意外,后面想了想可能是hr面没面好,不小心踩雷了……

  1. (一面)自我介绍

  2. 项目介绍

  3. 编程题,链表反转

  4. 决策树有几种(cart/id3/c4.5),他们分别有什么特点

  5. 一个实际场景:用一些特征判断用户会不会点击某商品,用cart好还是c4.5好

  6. (二面)自我介绍

  7. 项目介绍

  8. LR和SVM介绍+区别,什么场景用SVM比较好

  9. L2正则化的特点,使用场景?

  10. 场景题,怎么把CV用到拼多多手机找同款里面

  11. 编程题,二叉树中序遍历

  12. (hr面)自我介绍

  13. 个人求职的主要考虑因素是什么

  14. 有没有面别的公司/拿别的offer

  15. 为什么想去上海

  16. 期望薪资

  17. 实习有拿到转正offer吗,实习和拼多多选哪个

  18. 实习的时候有什么感受(说和学校做项目感受不太一样)

虹软现场,2技术+1hr(offer)

nowcoder.com/discuss/23

一面

  1. 自我介绍

  2. 编程题:大小为n的数组中找n-1个数的最大积(blog.csdn.net/u01049722)

  3. 编程题:俄罗斯套娃信封问题,只要说思路就好了(leetcode-cn.com/problem)

  4. dp最重要的是什么(状态转移方程),上题的状态方程是什么

  5. loss优化的几个方法(sgd、动量、adam)

  6. 动量法的表达式

  7. 随机梯度下降相比全局梯度下降好处是什么

  8. 推导逻辑回归的损失函数和梯度计算

  9. 有木有看过一些DL框架的源码?(很尴尬地说了没有。。。)

二面

  1. 自我介绍

  2. 聊项目

  3. 介绍meta-sr(估计是看我有做过超分项目才问的)

  4. 介绍inception-resnet v1(我项目用到)

  5. 介绍caffe里面的img2col,为什么用了img2col速度会比正常卷积快

  6. 逻辑回归损失函数和梯度计算(是的,又写了一遍)

  7. c++的行指针、列指针

  8. 求ax=b关于x的最小二乘显式解(后面才知道和伪逆有关,然而楼主不会。。)

hr面

  1. 聊天

小红书现场,3技术+1hr(offer)

nowcoder.com/discuss/27

一面

  1. 自我介绍

  2. 代码题,快排(最坏情况复杂度多少,怎么优化)

  3. 代码题,从数组中构建平衡查找二叉树

  4. 代码题,上面题目的数组每个数都有一个频率表示会被访问多少次,如何构建二叉树使得时间复杂度最低

  5. stargan介绍

二面

  1. 自我介绍

  2. 代码题,矩阵中最长递增子序列(leetcode 329)

  3. svm推导

  4. svm优化的主要思路(优化目标,拉格朗日,对偶,smo……)

  5. svm和lr各自的适用场景

  6. 归一化有哪些方式

三面

  1. 自我介绍

  2. 问项目

  3. 场景题,小红书推荐系统怎么实现(这个说起来太复杂了,当时主要是聊了冷启动怎么搞)

海康,电话+现场,1电话+2技术+1hr(offer)

  1. (电话面)主要聊项目

  2. L1、L2正则化各自有什么特点(优缺点)

  3. L1、L2正则化在什么任务上分别会优先考虑?

  4. (现场一面)自我介绍

  5. 项目balblabla

  6. 两层神经网络的权重都是0,bias有值,这个网络能正常训练吗

  7. 数组中第k大的数

  8. (现场二面)自我介绍

  9. 项目blablabla

  10. 堆砖头,成功率五五开,失败了连带下面一个砖头都要报废,问堆三个的需要的期望砖头数;

  11. (hr面)查户口

  12. 印象深刻的事?

  13. 五个形容词形容自己?

  14. 有什么缺点?

  15. 期望薪资,月薪and年薪?

网易,电话+现场,1电话+1技术+1hr(offer)

  1. (电话面)自我介绍

  2. C++和python的区别

  3. 为什么C++比python快

  4. Python比C++好在哪里(自动能实现内存回收机制)

  5. 介绍Python的列表生成式

  6. C++虚函数(如何实现,有什么功能)、虚函数表

  7. STL知道哪些,哪些结构是用哈希实现的

  8. 哈希冲突怎么解决(拉链法和探测法)

  9. Map和unordered_map用什么实现,插入和查询的复杂度多少

  10. 进程和线程区别

  11. 有没有了解计网、操作系统(没有。。)

  12. 编程题,LRU如何实现

  13. 编程题,找第k大的数

  14. 编程题,N的阶乘后面有几个零

  15. 编程题,求0 - N-1的全排列输出

  16. (现场一面)自我介绍

  17. 聊项目

  18. c++和python的区别

  19. python怎么做内存回收

  20. 编程题,LEETCODE 518

  21. 编程题,数轴上某些位置有点,每个点都有一个速度和方向(左或右),在零时刻他们开始运动,求第一次有两点相碰的时间?如果只有相反方向的相碰才算,如何求解?

  22. 编程题,有一个记录一段程序中每个函数开始调用和结束调用时刻的log,可能存在嵌套函数。根据输出log找耗时最长的几个函数(嵌套函数的耗时不算)

  23. (hr)聊天

招银网络科技,电话+现场,1电话+1技术+1hr(offer)

  1. (电话面)自我介绍

  2. 几个激活函数的优缺点

  3. 哪种激活函数能缓解梯度爆炸弥散

  4. BN和dropout介绍

  5. 介绍C++内存分配?

  6. 介绍C++重载和覆写

  7. Python的range和xrange区别

  8. Linux查看文件、编辑文件、查看当前目录的命令

  9. (现场一面+二面)自我介绍

  10. Pooling是不是线性操作(不是)

  11. Dropout介绍,置零的是权值还是神经元(是神经元)

  12. 输入是特征向量的分类网络,怎么找比较重要的那些特征?

  13. 保持f1 score不变的情况下提高精准率降低召回率

  14. RCNN系列和yolo介绍

  15. 贪心和动态规划的区别

  16. NLP和推荐算***吗(不会。。)

  17. C++如何实现多线程(不会。。)

  18. C++结构体和联合体什么区别(不会。。)

  19. (hr面)聊天

商汤(进行中,感觉要凉)

一面

  1. 两个实习项目介绍(一面重点是聊这个,细节问了很多)

  2. 手推SVM

  3. 二叉树非递归的遍历(任选一种)

二面

  1. 编程题,求几个点的“凸包”(想了一下说了不会,然后面试官直接告诉我其中一种解法,让在一定时间内实现出来)

  2. 分类网络最后的fc层的输入为什么可以当做图像的feature?最后的fc层的weights为什么可以当做类的中心?想当类的中心需要做什么预处理?

  3. 检测网络中RPN的优点和缺点?

  4. 检测任务中为了解决正负样本不均衡,除了focal loss和OHEM还有什么方法?

  5. 反问

美团,2技术+1hr(等结果)

一面

  1. 自我介绍

  2. 手写快排

  3. 过拟合出现的原因以及怎么解决

  4. dropout为什么能解决过拟合

  5. 重点是做几个场景题,描述起来比较麻烦。大致就是说你作为风控团队的一员,需要想办法从大众点评的商家评论中找哪些是作案团伙在刷好评,然后再从团伙的角度,想如何避开系统的刷单判定,一直这样不断博弈。

二面

  1. 自我介绍

  2. 说说超分辨算法发展的历史?

  3. 多帧超分辨怎么实现的,核心是什么(不懂。。)

  4. 编程题,二叉树层序遍历

  5. 编程题,排序数组做个旋转

  6. 编程题,旋转的排序数组中找最小值

  7. 场景题,给一堆log,每条记录都是由(用户id,访问时间,访问ip)组成的条目。现在要你判断访问的ip中哪些是办公ip,哪些是商家店铺ip,哪些是家庭ip等。

  8. (hr面)聊天

依图(等结果)

一面:

  1. 自我介绍

  2. 介绍实习项目

  3. leetcode 33

  4. 证明根号2不是有理数

二面:

  1. 自我介绍

  2. 聊项目

  3. 如何解决类别不平衡

  4. 写sigmoid, softmax函数

  5. 编程题,用c++实现矩阵乘法,以及想办法优化矩阵的内存访问次数

三面:

  1. 自我介绍

  2. 手写实现C++里面vector的一些基本功能(主要是index, remove, push_back, size, find这五个)

  3. 烧木棍问题,很多长短质地不均匀的木棍,每根烧完都要60min,问如何计时45min。

  4. 30枚硬币,10枚正20枚负,如何分组使得两组正硬币数量相等。其中你不能用眼睛看硬币是正是反,硬币正反面摸起来感觉也是一样,但是可以翻硬币。

  5. 卷积是如何操作的

  6. 卷积有哪些变种(空洞卷积,反卷积,变形卷积等等。。。)

再总结一下遇到的编程题:

  1. LEETCODE系列:找到所有数组中消失的数字(448),买卖股票I(121),买卖股票III(121),反转链表(206),二叉树的中序遍历(94),俄罗斯套娃信封问题(354),矩阵中最长递增子序列(329),数组中第k大的数(215),实现LRU(146),N的阶乘后面有几个零(172),全排列(46),零钱兑换(518),搜索旋转排序数组(33),二叉树的层次遍历(102),寻找旋转排序数组中的最小值(153),旋转数组(189)

  2. 大小为n的数组中找n-1个数的最大积(blog.csdn.net/u01049722)

  3. 从数组中构建平衡查找二叉树

  4. 数轴上某些位置有点,每个点都有一个速度和方向(左或右),在零时刻他们开始运动,求第一次有两点相碰的时间?如果只有相反方向的相碰才算,如何求解?

  5. 有一个记录一段程序中每个函数开始调用和结束调用时刻的log,可能存在嵌套函数。根据输出log找耗时最长的几个函数(嵌套函数的耗时不算)

  6. 求几个点的“凸包”

  7. 手写实现C++里面vector的一些基本功能(主要是index, remove, push_back, size, find这五个)

  8. 用c++实现矩阵乘法

    祝大家都能找到心仪的offer~~

欢迎扫码关注:

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
专业面试我的技巧和经验: 一、 巧妇难为无米之炊,事前做一些功课是必须的,把自己学习过的和应聘位相关的内容复习下,比如性能与算法位:本科电子信息工程和通信工程这些课程肯定学过,通信原理,信息论和编码,信号与系统,数字信号处理,复习一下掌握大概的轮廓一个星期应该差不多可以搞定. 二、 善于引导面试官,比如当面试官问到什么问题不懂的时候,避免连问几个都不懂,可以尝试这么说:我***方面的知识比较匮乏,不是很了解,但是我对***的知识还是比较熟习,我觉得***的知识在我们华为性能与算法工程师必须要掌握的吧。以我面试为例,面试问我3G和4G的关键技术,已经这些关键技术的基本原理,我是做雷达信号处理的,确实不懂。我就和面试官说:对不起,因为研究生期间主要做的雷达信号处理的工作,我对移动通信的知识了解甚少,但是我对移动通信的基础只是比如通信原理和调制解调技术还有一定的了解(当然这都是我事先复习好的),我觉得无论什么类型的通信技术都离不开这些基本的理论。接着面试官就让我说信源编码和信道编码的作用已经他们通常采用的方法,当然我也就能对答如流了。所以,引导很重要。 三、 专业面试对自己简历上不要为了蒙骗面试官,写的项目自己捡不熟悉,对简历上的东西一问三不知,语言表达不清楚,说不半天不能告诉面试官你做的工作内容和意义,这个很不好。 群面 一般10-14个人,看当天应聘的人数而定,分2组,一个话题,让排序之类的,或者辩论之类的,不同的组会抽到不同的问题,不同的地方也会有不同的问题,在这里把问题说出来没什么意义,这一轮会有很多意想不到的情况,比如这组我本来不是选为组长,但是在做总结的时候面试官让我做总结,或者突然问你刚才某某同学说的话你同意吗,或者突然说你今天脸色好像不好看之类的,所以灵机应变才是王道。群面一般要自我介绍,自我介绍要简短,不要说太多,我建议按以下几个方面说,自己学校专业、来自哪里、然后说自己学习,主要稍微说下自己的项目,说下名字就OK了,然后说自己做项目获得成果,比如发表文章,专利和之类的。然后说自己优点和缺点,一般情况下优点缺点都要说,而且我觉得最好优点缺点自己多准备几个,免得到时候你要说的前面的人都说了,就像我们这组:我开始说缺点的时候说我性格比较急,做什么事情都想快点做完,午觉也不睡,但是经常适得其反,中午不谁觉,下午就工作效率低。后面好几个同学说的时候都这么说了,惹的面试官说,你们重复一个东西说。说缺点的时候大家要慎重,不要说和自己工作相关的缺点,比如我们那个组一个同学说:我的缺点就是比较随性,重要场合经常穿拖鞋为此挨了不少批评。 面试官:。。。。(前面省略了一些),你这种随行的行为有同学提醒过你吗?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值