普硕的秋招算法岗之路(2019届)

现在是2019.3.3,金三银四,刚好是春招黄金时刻,我把18年秋招的经历以流水账的形式写下来,反馈给我的粉丝吧(虽然也没多少粉丝哈哈,禁止转载嘿嘿),希望对各位准备找工作找实习的同学有所帮助。这篇面经主要针对算法岗(主要是数据挖掘方向),欢迎大家关注我的博客,有算法相关的问题都可以与我交流。
首先,交代下背景,本人四非(非985非双一流)一本普通硕士(渣硕这个词太敏感就不说了哈哈),没论文,有比赛,有实习经历。
秋招期间,投了四十个公司,笔试20多个吧,面试10个,offer 5个。

下面是各个公司的面经(按时间先后顺序排列):
一 海康杭州研究院:
这个最尴尬了,刚睡醒,一脸懵,而且当时还没开始准备秋招面试,虽然问题不难,但是答得很糟糕,13分钟完事。
1, 实习项目;
2, gbdt原理;
3, word2vec原理;
4, 讲一个自己熟悉的算法原理;
5, 看我博客有写动态规划,就叫我讲最长公共子序列;

二 步步高
1面:
主要问项目,没问算法原理,问答环节我问了很多他们公司在这个岗位的业务和工作,主要是智能手表和点读机(大概是这两个吧,记不太清了);
2面:
应该是某个部门的老大吧,进来之后HR还给他倒水了,然后没给我倒,很气。主要问三个问题:非科班,为什么想做算法?和其他985好学校的学生比,你有什么优势?(然后还说这个问题我不用回答)第三个问题是为什么选择步步高?这一轮面试过程中明确说了想做点读机相关的,但是一面的面试应该是智能手表方向的,因此加了一轮技术面;
3面:
因为短信上说明那天只有一轮技术面+一轮HR面,所以我完全不知道这一轮是技术面,还以为是一位产品经理,问了项目,梯度消失,深度学习的一些问题,问的并不深,我以为对方不是搞技术的,答得也很浅;
4面:
这一面是HR面,这一面就比较作死了。期望薪资说得比较高,另外HR问还投了哪些公司,答BAT,能不能尽快来实习,答不能。然后,就没有然后了。。

3.珍爱网
1面:
面试之前偷瞄了下笔试成绩,给了A。面试过程问的不是很深入,主要是聊了两个实习项目,然后问想做哪个方向,答文本挖掘,然后就问我为什么想做文本挖掘,有什么难度等等;
2面:
这一轮是总监面,从腾讯跳过去珍爱网的。没问实习项目了,问了两个比赛,问的很细,用什么方法,怎么优化,误差多大,跟第一名比怎么样等等。答得还可以。出了一道题:一个m*n的矩阵,从左下角走到右上角总共有多少种走法?我用动态规划解了,对方不同意,要我用数学方法证明,我说用数学归纳法,他说不是,最后没解出来(回来查了一下,就是一道概率题)。

HR面:
常规问题,聊了很多,把我聊嗨了。最后她说他们有在做陌生人社交。我作死问了她不怕被国家监管查吗balabala。

4.多益网络
只有一轮技术面:
挑一个自己认为最成功的项目讲
线性回归和逻辑回归的区别
逻辑回归为什么可以处理非线性问题
介绍svm原理
一副扑克牌分三堆,大小王分在一起的概率
解释什么是外挂?怎么判断玩家是否使用外挂,怎么提取特征。
为什么投多益。有其他offer吗,薪资如何。

  1. 顺丰科技
    面试之前在网上看面经,都说顺丰的面试很水,但是我面试的时候面试官是刚毕业的博士后,问的问题还是很难的,所以面试有时候也要看运气的。。
    1面:
    Tfidf的原理,有什么缺点,可以用什么算法改进
    给一段话,怎么识别出实体(命名实体识别问题)
    了解HMM吗
    了解CRF吗
    知道什么时间序列算法
    聚类算法懂多少,kmeans与高斯混合模型的区别
    其实答得不是很好,最后面试官说你做过的这些东西我都做过,以后有机会多多交流,然后就让我通过了,开心。

2面:
HR小姐姐很优秀啊,应该是工科背景,感觉全程在问技术,最优化,gbdt,项目该怎么做等等,我一度怀疑我是在技术面,第一次遇到懂技术的HR小姐姐啊,膜拜orz

  1. 金山WPS
    2轮技术面+1轮HR面+1轮技术面+1轮部门老大面
    1面:
    详细讲项目
    Tfidf的原理
    textCNN的原理
    用什么库分词
    怎样搭建textCNN网络(用什么框架,库函数之类的)
    出现样本不平衡怎么处理
    平时用什么库函数处理数据(答pandas),pandas怎么做排序,怎么合并两个dataframe

2面:
手撕代码(矩阵顺时针打印),因为做过,所以很快就写出来了。面试官看我写这么快,以为我很厉害,就问我手头有什么offer,当时刚好手上有几个offer,面试官就认可了我的能力,试探性地叫我解释minibatch,我也答出来了,接下来就很愉快地聊天了,问我选择公司的时候最看重什么,想去哪个地点工作,期望薪资等等。本来报的大数据团队,面试官说我水平不错,帮我推荐到他们的AI研究团队去了,但是要加面。

3面:
这一轮是HR面,各种常规问题,然后HR主要是确认我想去大数据团队还是AI研究团队,我跟她说明去AI研究团队之后,她就安排我去珠海现场加面了。

4面:
详细讲了其中一个视频分类的项目,要我画出网络拓扑图,机器参数,怎么看GPU型号等(问的很细节,太久没看有些记不起来了,答得不好)
讲文本挖掘相关的项目,问word2vec的原理(答得比较详细,被认可)

5面:
AI研究团队的负责人面的,这一轮主要是想确认我的工作意向,跟我讲解团队工作,氛围等,希望我过去等等。

7.华为
华为我觉得应该重视每个环节,笔试成绩也挺重要,只要前面的环节表现好,后面基本上没什么问题。
1面:
主要详细讲了两个实习项目,面试官看我笔试成绩比较高,就问我熟悉什么语言(答Python,也会些c++),问如果总分5分,用c++写给自己打多少分(答3-4分),怎么看待机器学习这个领域?主要是两个项目讲的不错且笔试成绩比较高,所以面试官也没有为难我,说表现不错

2面:
一上来就问我有什么性格缺点(尴尬)。然后看了我前面的记录(笔试成绩+性格测评+第一轮评价),说你笔试成绩这么高啊,前面的评价都不错,我也不问你具体问题了,然后就向我解释华为的薪资构成和各部门的划分架构等,最后问我有其他offer没有,看的出来面试官对我的评价很好,本来想给我留电话说有问题可以直接找他,后来说公司不允许私自操作就没给成。

8.微民保险
2轮技术面+一轮CTO面+一轮HR面
1面:
面试之前手撕了两道题(链表反转和矩阵转置),我是最后一个且已经晚上七点多了,面试官也很累了,面试过程只有十几分钟,讲了一个实习项目,问了一道nlp场景题然后就结束了,具体题目如下:
给很多session,每个session有很多问答对话(类似于我们的微信跟好友对话这样子),怎么构建模型提取出每个相关的question-answer对(保证question跟answer是匹配的)。

2面:
这一面问得比较细,两个实习项目都讲了,从其中挖了一些问题问
讲LSTM的原理,各个门的作用
手推逻辑回归
手撕代码:给一棵二叉树,找出树中最大值以及最大值所在的行和列(当时的思路是用层次遍历写,但是没写出来,尴尬)
场景题:提供用户的微信数据,怎么判断用户是否生病,可以怎么提取特征

3面:
这一面是CTO面,问了两个比赛,是多少人参加的,自己负责哪个部分,怎么提取特征
问我对微保有什么了解,有什么问题问他(问了算法团队负责工作,微保在做的互联网保险跟支付宝在做的有什么区别和优势),其他忘了。。

4面:
HR面,也是各种常规问题,不能接受跟什么样的同事相处,自己在大学期间的成长,期望薪资(当时要了20K以上,hr第一反应是这么高啊,把我吓的,真怕她因此把我拒了),后来发现想多了,还是给offer了,但也没给我想要的薪资。。

9.迅雷
迅雷一面就挂了,太难了,喜欢问底层原理,对于非科班的我,只能说要不起了。
用过哪些Linux指令
操作系统了解多少
Python的多线程有哪些并行方式(如果没记错的话)
大数据平台有了解吗
Jieba分词的原理
介绍pandas(讲了一些函数),用什么调试工具
代码占用内存太多的情况下,怎么优化
SVM与LR的区别
解释偏差与方差
熟悉哪些排序算法,直接插入排序与快速排序的区别
24小时内时针与分针的重复次数
场景题:怎么找出微博热点/热词
对机器学习的理解

10.美团
2轮技术面+一轮leader+hr面
1面:
详细问了两个比赛,主要关注点在如何提取特征,多少人做怎么分工,然后说了队友用规则,问我用了什么规则(不太记得了,尴尬…)
手撕代码:给一个01矩阵(矩阵的每个数非0即1),找出全为1的矩形的面积(没写出来…)
CNN跟RNN的应用场景的区别
CNN为什么能用于文本任务
其他机器学习问题忘了。。。

2面:
这一面面的很长,将我的简历从头到尾问了一遍,而且问的很细。
详细讲了实习项目,问题目推荐为什么要用那个方法
随机森林与Xgboost的区别,哪一个需要的深度更深
Word2vec原理,word2vec怎样进行负采样,解释霍夫曼树
Word2vec比以前的神经网络算法快的原因是什么
对于LR,决策树,SVM这三个算法,什么情况下该用哪个算法,分别讲出来
LR跟SVM,小样本下哪个比较好,为什么?SVM线性核情况下,小样本SVM会比LR好吗
手撕代码:给定一个一维数组L表示青蛙过河,其中L[i]==0表示此处没有石头,L[i]>=2表示一只青蛙可以往前跳多少步;判断青蛙是否能够过河?

3面:
Leader+hr一起面,leader的问题基本上都是场景题,而且感觉很难回答。
你的项目当时为什么要这样选型,为什么要用这个算法
在这个项目中遇到什么难题,怎么解决
RNN跟xgboost的应用场景的区别(不太记得是不是这个了…)
场景题:给一段房东与租客的对话,怎么判断在具体某个时间段是否有房源

百度:
1面(1h):
项目(问得很细,差点被问趴。。)
Linux熟不熟悉(不熟悉)
C++ STL懂吗(不懂)
Hadoop, spark这些懂吗(不懂)
Python2与Python3的区别(比如编码问题)
LSI具体怎么做
GBDT的梯度提升是怎么做的
Xgboost的损失函数可以换成什么
Xgboost对缺失值是怎么处理的
Xgboost怎么做分类
CNN是图像处理领域的,为什么可以用于文本分类(我从textcnn举例说明)
面试官的评价是数据领域的理解比较透彻,但是工程能力比较差

2面(1h):
项目
PCA原理(讲得很乱,没讲清楚)
CNN中为什么要用卷积(讲利用到局部信息,保留空间特征)
Python中怎么判断两个变量相等(答AB, |A-B|<10^-6,问AB的话Python底层是怎么实现的)
大数据处理这一块了解吗(不懂)
Linux熟不熟悉
代码题:一个有序数组(如[1,1,1,1,2,3,3,4,55,555]),找出不重复的数,不能引入额外空间消耗,不能改变数组大小,不能改变元素值(答:从左到右遍历,找出下一个不同的数,将该数与上一个数的第二个值做交换,然后从该不同的数的下一个数继续遍历;如上面数组中,找到不等于1的数2,将2与第二个1交换,然后从3开始继续遍历)
面试官用指针去遍历,思路跟我是一致的,居然说我的太复杂了,我的天啊。。

总结:
算法岗主要考察三个部分:项目,机器学习基础,coding。
1) 项目:对自己的项目一定要深入了解,最好有自己的idea,而不是简单的调包;
2) 机器学习基础:《统计学习方法》中常见的算法都要熟悉;
3) Coding:这一块笔试刷leetcode(medium难度足够了),面试刷剑指offer(剑指一定要刷,不然手撕代码会很痛苦的,一般面试不会给你留太多时间思考的)。

猜你喜欢

转载自blog.csdn.net/Flying_sfeng/article/details/88087711