非科班生拿BAT算法SP offer面经(阿里巴巴,腾讯……)


非科班生拿BAT算法SP offer面经

> 拿到阿里巴巴算法offer 评级A,腾讯算法大SP offer,华为offer,还有几个小公司的,百度说转开发,就放弃了。


现在很多非科班的学生想往IT或者算法这个方向转,但又不知道非科班的身份是否拼的过计算机专业同学,那么我现在告诉你,完全没问题,只要你愿意花时间学习,照样拿高薪offer。

0.本人履历

已经说了我是非科班生,也不是通信、电子那种擦边专业,楼主本硕学的是能源与动力工程,本科211 硕士985。本科没有任何代码或者算法基础(本科学的C语言不算),从研一下学期开始学习算法,学习了整整一年时间,拿到自己满意的offer。

1.阿里巴巴(实习和正式 offered)

春招的时候面试的实习生,面试通过了,最后也顺利转正(评级A),下面我说下实习面试的一些问题。
1. 一面,三月初投的简历,大概一周后接到面试电话
- 介绍一下你自己(介绍自己学历、项目、自己做的小demo)
- 简历上面写的blog是你自己开发完成上线的?(是的……)
- 看到你参加了阿里天池的算法比赛,简单说下比赛背景和实现方案
- 你觉得和其他队伍相比有哪些差距?
- 现在让你继续做你会从什么地方改进?(特征挖掘方向说的)
- 机器学习常用的一些方法,以及原理
2. 二面
- 介绍自己
- 做过什么项目,用的什么算法,请简要介绍
- 算法是否看过开源的源代码,或是否自己手动实现过?
- 有没有工程性质的项目,简单介绍
- 你觉得机器学习算法在阿里巴巴哪些场景中可以落地?
3. 三面(代码面)
- 介绍一下你自己
- 代码面试,第一个为排序题目,我用的插入排序,问是否可以改进;第二个将字符型数字转为int类,不用工具类。
- 脑力题:国王有一万桶酒,其中一桶为毒酒,喝下后24小时死亡,可以无限使用死刑犯试酒,请问24小时最少需要多少犯人,怎么喝?
4. 四面
- 介绍自己
- 做过的项目
- 对风控课精准营销是否了解?一般用什么方法
- 说说你自己本身的特质,觉得有什么优点
- 你不是计算机专业的,算法的知识是怎么学习的,怎么权衡自己专业和算法学习,是否有影响本专业的学习?
- 你有什么想问的?
5. HR面
- 介绍自己
- 你觉得你和周围的人项目有哪些优点
- 和计算机专业的相比优势和劣势
- 对风控业务是否了解?
- 是否知道阿里巴巴最近相关产品动态
- 你有什么想问的?
阿里巴巴面试周期非常的慢,等的非常着急。

2. 腾讯(实习offered)

拿到了腾讯的实习offer,由于去了阿里巴巴,所以放弃了,自己觉得有点可惜。
1. 一面
- 从学业、项目等方面介绍自己
- 会什么语言,什么语言用的比较多
- 之前实习的经历,主要做什么工作
- 详细介绍算法比赛的经历,介绍打比赛时候的特征处理、算法建模等,以及为什么这样处理特征,有什么好处?为什么选择这个算法,优点是什么?你觉得和其他队伍的差距在哪里,有什么地方是需要改进的
- 实习期间的目标,希望做一些什么工作
- 反作弊和用户画像你比较喜欢那个方向?
2. 二面
- 详细介绍自己
- 介绍机器学习以及深度学习方面学的内容,机器学习和深度学习有什么区别,各自的重点在哪里
- 项目介绍
- 介绍图片分类demo,怎么对数据集进行的处理?
- 一个物品正方和反方,分类器是如何判断属于同一类物品?
- 卷积相比于神经网络的好处
- 计算机视觉有哪些解决梯度消失和梯度爆炸的方法
- BN原理
- 数据不平衡处理方法
- 能实习多长时间
3. 三面(HR面)
- HR面比较随意,问一些性格的内容,能实习多长时间……
- 能实习多长时间

3. 腾讯(秋招offered)

腾讯给的大sp,有的人交SSP
1. 一面
- 介绍自己
- 有哪些常用的机器学习方法?
- 在比赛中主要用了哪些方法?
- 说说GBDT和XGBoost的联系和优缺点?(这个一定要回,高频问题)
2. 二面
- 介绍自己
- 项目中用大的机器学习算法
- 会哪些语言,常用哪些语言,会C++吗(感觉面试腾讯的话C++得会)
- 场景题:王者荣耀中怎么给用户匹配对手,让玩家感受到挑战,同时差距也不是特别大。
- 如何运用算法检测作弊用户?如何检测恶意言语?如何检测恶意评论(同音不同字怎么处理)?
- GBDT和XGBoost的联系和优缺点?
- 是否有其他offer,是哪些公司的,怎么考虑手上的offer?
3. 三面
- 简单介绍一下自己
- 前面的面试官已经跟你聊了不少,你对我们这边的业务有什么了解,有什么想法?
- 你手上也有其他offer,如果拿到腾讯的你怎么考虑?
- 你有什么想问我的?
- 聊工作内容
4. HR面
- HR面比较轻松,介绍自己
- 说说你身上的几个特质
- 你不是计算机相关专业的,你是怎么学习的呢?
- 年底能提前来实习吗?
- 期望薪资多少?
- 你有什么想问的?

4.华为(offered)

华为是参加的秋招,没有走提前批。
1. 笔试
- 华为的笔试有点忘记了,有性格测试,还有行测那种题
2. 现场一面
- 一段C++代码,查看有什么问题,比较简单,虽然没学过C++,但是能看出来,在C++中char类型为一个字节,这种会无线循环。
c++
char a = '1'
for(int i=0;i++;i<sizeof(a))
{
func()//一个看书
}

- 会不会C++(不会)
- 用什么语言比较多(python)
- 生产环境中要将机器学习算法上线用Python是不行的,速度跟不上,需要用C++(我表示会学习,并且学的很快)
3. 现场二面(二面至少等了2个小时,人太多了)
- 介绍自己
- 介绍自己学习的计算机视觉的内容
- 做图像定位项目中运用的工具和方法(用了opencv和tensorflow)
- 那你是用了开源工具,创新点在哪里?
- 那你还是用的别人的东西,只是做了组合,没有创新点(/手动狗头)
- 计算机视觉中 object detection是怎么实现的,有哪几种常用的方法?
- 详细解释Bounding Box Regression
- 说说自己的优缺点


还拿到了一起其他公司的offer,薪资都不错,也都是算法岗位,觉得都挺好的,把论文搞完了细写。

学习路径

1. 研一下学期,大概2017.4开始学习机器学习,学习了很多七月在线的课程,讲的不错,自己的理论知识基本是从这个课程中学到的,不明白的就查网上的技术博客,这个视频看了好几遍,自己总是忘。看完后会对给的代码进行复现,自己敲一遍(不止一遍)。

  1. 传统机器学习学完后开始接触深度学习,主要是计算机视觉方面的东西,吴恩达老师深度学习的课讲的非常好,每节课步长,但是总结的很到位很容易懂。把这些学完研二上学期也基本结束了。

  2. 研二下学期导师项目上的事情比较多,非常忙,只能抽空学习自己的东西。主要方向是加强代码能力,学习TensorFlow框架的使用,毕竟代码才是生产力,。2017年底觉得做机器学习算法都是在海量数据的环境下,所以觉得学习一些大数据的知识还是很有必要的,开始自己根据教程搭建Hadoop平台,学习用scala编写spark机器学习代码,实现一些简单的数据处理和个性化推荐系统等。

  3. 2018年初的寒假开始准备实习面试,毕竟这行有大厂实习经验对秋招是及有好处的。根据《剑指offer》学习数据结构的面试算法题,梳理机器学习的基础知识。2018.3开始投递各大厂的简历,拿到了阿里巴巴、腾讯、等公司的实习offer,百度让我转开发岗,不想搞开发,然后就放弃了。



面经写的比较匆忙,面试的回答基本没怎么写,希望后面有时间补充。

如果你觉得文章对你有帮助,麻烦点下文章最上方右侧的“关注”,也欢迎大家留言,在评论区留言,如果需要学习路线以及资料,我会私你,谢谢你。

已邀请:

赞同来自: 手机用户488241 zhue702


求关注,求评论

要回复问题请先登录注册