互联网春招实习见闻录(谷歌,亚马逊,摩根史丹利)

    3月,南方的春天才刚刚到来,我却忙忙碌碌地准备着各大互联网公司的笔试面试,把自己的日历表安排的满满当当,虽然知道自己很累,但好像自己是一辆匆忙奔赴下一个目的地火车上的一个齿轮,虽然筋疲力尽,但是无法停下来。

    A君是我的一个好朋友,4月底的时候,他约我踢足球,那个时候他已经拿到了一个顶级互联网公司的offer,不过也就这一个offer。但是从他的脸上,我没有看到经历风雨后的满足,反而是好像经过一场冒险后的惊魂未定,踢完球,他和我说,“前一阵子真的太忙了,忙着突击笔试,去各个城市面试,我现在已经完全看不去进去书了”。那个时候我非常羡慕他,因为我下一周还有两个重要的面试。

    春招大概是从2月底,年级群里开始发一些公司的内推开始的。最早的是滴滴,2月26号好像就有学长说可以内推了,我当时认为自己没有准备充分,而且组也不是自己非常喜欢的机器学习那个方向,就没投。后来学长告诉我,那波投的人很少,很好进,感觉自己错过了第一次机会。

     后来就是阿里,腾讯了,3月内推一开始,就开开心心地投了简历,没想到都是迟迟没有面试消息。阿里有一道编程题,是用编程算一个数学积分,我用了微元法做出来,但是好像还是没被阿里看上,因为我投的岗位是自然语言处理,估计是简历背景太弱了。

     下面就按公司分类写一下面经吧:

     腾讯IEG游戏后台

TST评级A-,选的部门任意,因为我本硕学历都挺好,被IEG游戏后台捞起了。面试问了我两个算法题,一个是随机打乱数组,模拟游戏中的洗牌,一个是求树中任意两个节点的最近父节点。这两个题目不是很难,但是当时自己没答好,当然也没有然后了。

    阿里搜索部门

简历从原来的部门转到阿里搜索。

一面:问了一些机器学习的原理,比如随机森林的原理,SVM的推到,过拟合怎么处理,xgboost为什么比较快,再让自己详细说一下自己做过的一个算法大赛的历程。最后面试官发给我一篇论文,让我第二个给他讲解。

二面:给面试官讲解了论文,面试官很满意。

三面:三面是工程基础面,有一个面试官问了我一些内存模型,内存泄露如何调试,分配内存的几种方法,C++的一些基础知识。因为自己本科不是科班,而且研究生学的java为主,自然这面就挂了。

    摩根士丹利

先是内推,然后去官网完善简历,笔试。笔试考察的有语言基础,网络之类的知识,算法好像没有。

摩根一面:过程全英文,问的东西都很简单,难的是用英文回答出来。问的题目大概有,链表和数组的区别,各种排序的名称,冒泡排序的原理,java static,final的用法,为什么做得几个项目你担任的都是队长。感觉摩根除了面基础,还会考察你的个人素质,领导能力,沟通能力。

摩根终面:因为当时已经拿到了亚马逊的offer,摩根就没有再去

    谷歌

谷歌我是3月初让人内推的,没想到还是投的比较晚,因为谷歌的实习名额是分月放出来的。我当时是审核的5月份的名额,那个时候已经没什么名额了。

一面:面试官好像迟到了15分钟,刚上来是自我介绍,然后问了一个算法题(因为谷歌保密协议,就不具体说了),我用动态规划解出来,当时的心情还是很激动的,感觉自己离谷歌近了一步。然后面试官问这个算法怎么优化,我提出用一维数组代替二维数组可以节省空间,也很好的回应了面试官。因为面试官迟到的原因,就问了一个算法题,结果也在我意料中,一面过了。

二面:因为一些原因,二面托了两周才面上。先是自我介绍,然后问了一个结合场景的机器学习问题,问我如何解决,还是挺灵活的。然后问了两个算法题,第一个算法题我答出解法了,但是有点激动,没考虑越界的问题,面试官不太满意。第二个算法我也很快就写出来,但是面试官说数据大会出问题,这个我至今没想出来是为什么(感觉自己写的解法不会爆栈呀)

虽然二面也过了,但是估计第二面表现不好,最终在HC审核的时候没过,比较可惜,欸,我的谷歌梦。

谷歌面试算法题为主,难度是leetcode easy 或者medium的难度,不是特别难,但是一定要注意bug free。

    亚马逊

也是内推的,内推对于外企貌似还是有分量的

一面:需要打电话进入亚马逊的会议系统,还记得断了好几次,两个面试官还在讨论说,说下次直接打电话,声音很和蔼,我印象很好。一面一个数据挖掘这个方向的工程师问了我一些机器学习的原理,随机森林的原理,过拟合的处理,SVM的原理(哈哈,是不是机器学习问来问去就是这些),还有自己做得项目(机器学习参加一些比赛拿些靠前的名次,面试能增加很多能聊的东西)。然后给我出了一个算法题,动态规划的,因为自己练得多,所以基本秒杀,很快写出来,当时面试官还有些吃惊。

二面:二面是经理面试我的,感觉除了问项目,更多的是考察了一些人生观,价值观的。经理也是那种比较踏实的人,当然我也是,所以面试还是和经理聊得非常愉快。

HR:HR给我打点电话说,两个面试官对我面试评价非常好,我也说我对经理的感觉非常好(这是由衷的,因为二面经理很诚恳地告诉我一些项目做得东西呀,我进来后需要做得东西之类的)。顺利通过面试,然后就是询问入职时间之类的。

    网易云音乐

因为是走的学长内推的社招实习生渠道,所以有一轮简单的简历面,然后就是现场面了。

简历面:问了一些机器学习原理,随机森林,决策树,logistic回归,然后问了一下项目,面试官拼命问我用了哪些特征,也是醉了。

现场面:面试官一上来就让推个logistic回归的公式,我表示不会。然后问了一下决策树是如何决策的,信息熵,信息增益的公式。然后问了一个最大子数组和的算法,以及写一个java程序,要求返回一个中文的所有前缀(当时我不知道前缀的意思==)

    头条算法

一面:用一个链表实现文件目录结构(我用的前缀树),推svm公式

二面:SVM扰动余项是什么(当时真的懵逼,不知道svm最后那个a系乘的项叫做扰动余项,也是醉了),如果平滑广告点击率(这个是后来百度才知道的,用朴素贝叶斯平滑),手写实现朴素贝叶斯代码。

还有一些公司因为时间,还有公司比较小就不说了,比如招行信用卡中心,数梦工厂,微店。

有很多朋友,特别是程序员喜欢闭门造车,觉得技术好,面试肯定就没有问题。其实和面试官的沟通也是很重要的,面试要自信,礼貌,认真,严肃,不要紧张,因为这样会给面试官感觉很水。声音也不要慵懒,语气不要生硬,因为你说话都懒洋洋的,对面的人也会失去和你交流的兴趣。如果你知道如何与面试官成为朋友,那么你的面试应该也没有问题。

希望程序员们,除了技术,也可以培养自己的软实力,不要当宅男,多出去走走,写写博客。

下面给大家推荐一本书《软技能:代码之外的生存指南》,正是这本书改变了我很多想法,阻止了我闭门造车的念头。我开始写文章,也是得益于阅读这本书。

你可能感兴趣的:(互联网春招实习见闻录(谷歌,亚马逊,摩根史丹利))