阿里、百度、腾讯、华为算法工程师面经(均已拿到 offer)



转载请注明 AIQ - 最专业的机器学习大数据社区  http://www.6aiq.com

AIQ 机器学习大数据 知乎专栏 点击关注

作者:咖喱 geigei
链接:https://www.nowcoder.com/discuss/11495?type=2&order=0&pos=29&page=4
来源:牛客网

首先先自我介绍一下

我是末流 985 小硕一枚(本科同校),方向主要是深度学习和数据挖掘,研究生第二年去新加坡交流了一年,研究生期间表现还可以,有一些非主流比赛的获奖,然后 3 篇 sci 论文 +1 篇待发中。

下面说说面试情况,那就按照顺序来了:

1. 华为(算法工程师)

华为是我面的第一家公司,8 月 20 号广州优招,现场面的时候相当紧张,2016 年的第一场面。。我希望他来的更早一些 ~~~

由于面的算法工程师,相关面试官较少,我大概等了 3 个小时才到我

第一面

(1)先自我介绍

(2)接着问项目,我做的项目主要是深度学习和数据挖掘相关的,所以讲了很多深度学习的东西,然后面试官的部门刚好也在做,所以对深度学习很感兴趣,他们主要用 caffe, 我的话有对 caffe 还比较熟悉所以答得比较顺利,然后问了神经网络的优化问题,他们希望把深度学习用到终端上,因为我研究方向正好是模型简化,也实现过一些简化方法,所以也答得比较顺利。

(4)问了一些基础算法,EM 算法、决策树、随机森林等

(5)面试官给我介绍了一下他们部门具体是干啥的。。然后夸了一遍他们部门,反正听起来我还是很吸引我的,是我想干的一些事情。

(5)第一面按道理是没有资格谈薪资的,面试官可能觉得更我聊得比较欢,就问我期望薪资。由于是第一场面,也不知道什么行情,我按照往年的行情说了个 sp 价格,15k。。。。结果面试官很轻松地表示没啥问题(我就知道自己蠢,说低了,希望最好不要做参考)

第二面

面完一面,我就回去坐了 5 分钟,第一面面试官就立刻来找我让我去他老大那里面第二面了

(1)一样,自我介绍

(2)项目。。。然后问得很仔细,问了为什么要选用这几种网络,让我对 AlexNet、GoogleNet、Inception V3、
ResNet 进行了详细介绍,还说了各自的优缺点和参数细节。最后也是说网络优化问题,问得也很细,大部分答得还可以,不过出了一点小问题,这是我事后想起来的,他问问模型简化的时候参数最少可以用多少字节。。我说因为是整数,所以只用一个字节。其实我因为我用 char 来存的参数,只是后面运算时候转成整型的。所以我想表达的是,我用一个字节的 char 类型存整数参数的。不知道面试官会不会认为我以为整型是一个字节(泪)

(3)问了为什么选华为(家近、我爸喜欢、华为很好巴拉巴拉。。。等等说了一些优点)

(4)有没有其他 offer…当时没有就说没有。。

然后一个星期前,华为打电话确认我报的岗位,问我有没有很想去的部门,还有说什么没有完全是做机器学习、图片相关的深度学习的岗位,问我能不能接受更广一点的工作范围的机器学习。我说可以。。(估计是去 2012 了)

2. 阿里(算法工程师)

阿里比较意外,当时就是抱着面了又不会怀孕的心态去投的内推。然后 7.29 打给我电话的时候我刚好在大巴上,不是很方便面试,对方就说晚上打过来,结果我等了接近一个月。。8.25 终于打回来了

第一面(40 分钟)

(1)自我介绍

(2)项目,又是疯狂讲深度学习、数据挖掘的东西

(3)问了很多数据挖掘的基础知识,包括 SVM, 逻辑回归、EM、K-means 等,然后给我很多场景问我遇到这些情况我要怎么来处理数据,怎么进行建模等等,问得很细。

(4)问了一两个算法题,记不清了,只记得其中一个是:找数组中 2 个出现两次的数字,还有 3 个两次的数字

(5)好像还有智力题,具体记不清了

第二面(45 分钟)

(1)自我介绍

(2)项目,然后项目细节,这里面试官还问了我发了论文的东西,我就讲了我其中 2 篇论文的主要方法和思想。

(3)同样是各种数据挖掘算法基础,跟第一面差不多,但是问得更具体,问了我很多怎么做、为什么,还说了一些比较少见的数据形式问我应该如何处理,为什么要这样做,还有更好的方法吗等等。

(4)算法题,也只记得一个了:存在一个数组,大小我 98,里面的元素均为在 [1,100],且无重复, 不申请额外空间的情况下,在时间复杂度为 O(N) 情况下,找出确实的两个元素值。

(4)问了我对未来技术发展的看法,问我觉得未来 5-10 年什么技术可能变成热门等等开放性的问题。

ps: 第二面的面试官是给我 offer 的部门的部门老大 (等级 p9),在这里很感谢他,面试的过程中给我很多帮助,而且 25 号的时候阿里内推时间其实也过了,也是他帮我申请,专门给我延后两天才让我顺利内推近阿里

第三面(30 分钟)

也是总监面,不知道等级是不是超过 p9,年龄大概 40 岁吧,视频面试。

(1)自我介绍

(2)因为面我的总监是做 nlp 的, 所以讲了很多 rnn、lstm、还有 HMM 的东西。不算很熟,但是接触过,以前稍微看过一些相关论文,所以还是勉强能聊的。

(3)聊论文,让我把论文从头到尾讲了一遍,说说创新点在哪里,觉得有什么地方可以改进

(4)想在哪里工作、选择地北京、杭州(明显杭州啊,当然如果阿里总部在深圳就更好了)。。

第四面(25 分钟)HR 面

(1)简单介绍一下自己

(2)为什么选择阿里

(3)在面试过程中觉得自己那些当面有进步

(4)自己本科生和研究生相比有哪些进步

(5)工作地点的问题

(6)有没其他 offer

总得来说 HR 还是很 nice,语气很客气,因为是晚上 10 点后打过来的,还抱歉说影响我休息、挂电话时候还说晚安。

3. 百度

百度应该是我面得最艰苦的,算上吹水,5 面吧(也怪自己作,不想去北京)

第一面(2 小时!!)

(1)自我介绍

(2)项目,但是是运维部的机器学习,他们主要还是数据挖掘,所以深度学习他们问得不多

(3)各种基础、网络基础 TCP 三次握手、Linux 线程通信、进程线程的区别、深拷贝浅拷贝、数据库 transaction、悲观锁乐观锁等等。。

(4)数据挖掘各种算法,以及各种场景下的解决方案

(5)然后 20 分钟内手写 k-means(给了一个共享编辑代码的页面、不能切出去)

第二面(1 小时 30 分钟!!)

第二面我面的不是太开心,我甚至还有些想原地爆炸。。是个妹子面的,不知道是妹子跟我方向不一样还是怎样。。。我总觉得妹子水平有一点点问题

(1)自我介绍

(2)她说她不懂深度学习。。。所以前面的项目说了她也没听明白,就问了一下数据挖掘的东西

(3)让我一步一步地构造决策树,怎么计算信息熵、信息增益、然后 C4.5 ID3 CART 的区别,还说了一下优缺点

(4)问我 MVC 个代表什么。。。。
然后说想问问我数据库的东西,问我项目里面用的啥,我就说原生的 JDBC。。她就开始笑了一下,说啊?!那这没什么好问的了。。。。  我大写懵逼

(5)问我 hash 表实现要素。。。然后问映射函数一般啥方法实现。。。我说一般比较 naive 的方案是取膜。。然后还有(话没说完)
就听到那边:2333,取膜,好 low 的方法。。。。  幂次方懵逼。。兄弟,不姐姐我话还没说完呢。。

(6)让我 10 分钟写二叉树插入方法(非递归)

第三面(还是 1 个小时 30 分!!)

(1)自我介绍

(2)项目

(3)然后问了很多他们现在的业务优化和处理的问题,比如如何协调广告商广告投递金钱与用户对广告感兴趣程度问题,还有垃圾邮件过滤问题(一些邮件对特定用户并不是垃圾邮件,但是对其他用户是垃圾邮件)。我说的是通过提取用户特征,对用户进行聚类,对属于不同聚类的用户建模,区别化过滤。还有一些其他场景,忘记了,反正主要是看你对业务的分析能力强不强

(4)若干智力题,不难

(5)聊了一下未来计划、有没其他 offer

(5)如果想来北京,这就是终面。。。。   不想,于是有了后面深圳这边的两面。。

第四面(一小时 30 分钟)

跟北京那边差不多,介绍项目,分析了一下应用场景,一两个智力题,然后详细给我介绍了一下深圳运维部机器学习做哪些方面的工作现在,问我感不感兴趣,最后说如果我想要在深圳会尽力让 HR 把我安排在深圳。。

第五面(20 分钟)吹水

这个应该是招我那个小组里面的组长,给我介绍了一下他们小组的工作,大概意思是深圳并不是不核心,他们小组也很核心,做的事情也很重要,最后问了一下我兴趣爱好,我说比较喜欢运动,喜欢打球等等,问了一下我身高,我说 1 米 8。。他说了句很好。。。。(这是要肛我?!原谅我在华南基友大学呆的时间太长)

4. 腾讯

之前面了 TEG 一面,后来推我的人说把我简历给了总监和 HR,总监说跟他们方向比较合,但是在出差。。。后面找时间跟我聊聊。。。所以暂时在等,后面再补充吧。

现在还没有决定去那里,但是看得出来今年阿里招人比较少、机会很好;百度招人比较严格,问得比较细,几乎全是技术面;华为,我只能说听说给得很高,但是我现在还没通知去谈岗位、薪资等等;腾讯招人也少,特别是 SNG。。。工作环境应该是很好的。。毕竟出了 IEG 其他加班不多。


10 月 20 号更新

腾讯 TEG 面试面完,顺利拿到想要的薪资 offer

一次性面了三面 一共三个小时(包括技术面、总监面、HR 面)

因为是熟人内推,内推部门跟自己做的方向完全相同,所以基本上没有问什么大学课程的基础知识,主要集中在以下几个方面

1. 数据安全相关的深度学习相关的问题、项目以及技术(问得非常仔细)

2. 讲自己在新加坡的交换经历、以及研究方向

3. 为什么不读博、对读博报以什么态度

4. 家庭状况、自己性格、未来规划

5. 对百度、阿里、华为的看法,是否最终会选择腾讯

PS: 面试官没有让我现在写代码,但是在常规情况下是需要写代码的,所以大家平时还是多在 OJ 平台上面刷题

至此,我的校招也结束了,找工作很累,收获也很多,希望大家都能找到让自己满意的 offer.


更多高质资源 尽在AIQ 机器学习大数据 知乎专栏 点击关注

转载请注明 AIQ - 最专业的机器学习大数据社区  http://www.6aiq.com