实习面试分享|实习经验分享总结

博主首发CSDN,mcf171专栏。
博客链接:mcf171的博客

——————————————————————————————
【实习面试分享|实习经验分享总结】正好又到了一年一度的找实习的阶段,拖了一年的经验分享,趁自己还有一些残存的记忆写一下。
当时实习阶段最后拿到的Offer:阿里巴巴菜鸟集团的机器学习-算法工程师岗位,地点北京;京东算法工程师岗位,地点北京;腾讯技术类岗位(应该也算是机器学习岗),地点深圳。
其他参加过面试的公司包括但不限于:快手、Google、今日头条。接下来一个个介绍吧~
阿里巴巴菜鸟集团。我面试的具体部门是地址库。
地址库可以说是菜鸟集团的核心部门,因为物流所依赖的最重要的就是地址的准确性。面试阶段应该是一共是三面,两轮技术面+一轮HR。由于地址库起步时间不是很早,应该不到两年的样子,所以当时组里没有专门的机器学习专家,后来进组之后确实发现也没有。所以当时在技术面的环节,两个面试官主要是了解我做项目的过程,如何发现问题、分析问题、解决问题。不过进组后,leader非常的nice,虽然实习阶段没有专门的机器学习专家,但是有任何问题我的leader都帮我联系其他组的专家答疑解惑,另外我在阿里转正后组里也招聘了机器学习的专家,所以一方面估计学弟学妹再面试的话,可能机器学习的基本功会问比较多了,另一方面进组后也有专人带着了。HR环节没有太多印象了,感觉技术面过了的话,基本上HR环节也不会为难大家,当然也有听说HR环节挂了的人。阿里巴巴整个环节都是电话面试。
腾讯。腾讯准确来说面了两个部门。
第一个是师兄内推的微信后台开发岗位,这个印象是面了5面,有几面应该不是正式流程,就是微信的面试官直接联系我的,直接做题,微信的面试应该是我这里面体验过最硬的,印象里是首先第一面就是面试官给我发了个网站,让我做题,应该是5道题,2个小时吧,具体题目有点忘记了,难度基本是Leetcode的Medium和Hard,做的不是很好。然后第二面给了两个简单的基础算法题。1)写一个函数返回十六进制的十进制结果;2)合并两个有序数组并去重。这两个比较顺利的做完了。后续进入了第三面、第四面,三四面具体内容有点忘记了,但是基本上都是海量数据的处理问题,比如寻找TopK,排序。还有一个问题好像是LeedCode中出现过的,大致是有N个网站链接,有个M长度的内存队列保存最近M个被访问的链接,这M个链接需要按照访问次数降序排列,持续会不停的人访问网站,要求实现如何动态更新维护M队列。还有一面有点忘了。总体而言微信后台开发的岗位的面试对于C和C++的要求比较高,同时对于海量数据的处理会有重点考察。微信面试是电话面试+远程桌面。第二个部门是正式的实习招聘环节面试的,具体忘记是哪个部门了。因为后来给的薪酬感觉也太少了,另外工作地点在深圳不太方便,也就没去了。第二个部门是去腾讯北京招聘现场面试,两轮技术面+一轮HR面,虽然具体面试内容忘记了,但是感觉和校招差不多,主要是考察一些算法问题,以及针对做过的工程项目和机器学习项目提问。
京东。京东面试的是广告部门。
京东面试是两面现场面+一轮电话HR面。京东面试官给我的感觉还是非常热情的。当时京东面试的时候,我在基础算法上准备的还不是很充分,同时京东面试官问了不少Java语言特性的问题。因此在面试环节面的不是很好。但是整体下来面试官也不是特别在意我在基础算法上的功底,主要还是对我做过的机器学习项目非常感兴趣,因此最终也顺利拿到Offer。京东还是蛮有诚意的,我记得我拒过Offer后还和我说过涨薪的事情。
Google中国。
Google中国的实习招聘如果是内推的话,可以不用笔试,但是转正的话,必须要通过Google自己的网上笔试比赛,一般会有好几轮吧,每一轮大致是前200名左右就会拿到面试资格。Google的面试风格总体而言就是直接亮剑,也就是做题。做题风格上也分为两种,一种是同样的题目不停的加条件和要求,另一种就是做完一个换一个难度更大的。面试时间应该是一共一小时。我当时的面试风格是第一种,在第二题的时候挂掉了,死活没想到做法,但是面完后想出来了解决方案,真是醉了。第二题加的条件就是如果输入不是整数如何处理。Google面试过程中有两点可以和大家补充下,全程HR都会和你积极沟通,最好申请一个Gmail,邮件沟通的语言是英语,但是面试环节用的是中文~
快手。
快手虽然在网上经常会有人黑这个公司,但是快手的CEO是我们学长,因此他曾来学院和大家分享过自己的创业经历,是一个非常平易近人并且厉害的学长。通过和学长的交流,觉得网上的一些言论还是有失偏颇。稍微跑题了,说面试。由于学长是Google出身的,因此快手不管是面试风格还是企业文化,都能感受到Google的气息,面试环节基本上也是直接真枪实弹硬钢基础算法题。在面试过程中要求是白纸手写代码,其中也会给你一些暗示,要求最好是一遍过,不用修改代码。当时由于LeetCode积累的比较多了,所以面试环节的基础算法考察还是很顺利。不过后来卡壳了,当时面试我的应该是快手机器学习岗位的直接分管Boss,问了我非常多的机器学习细节,比如不同范数的区别,直接让我手推公式,询问反向传播算法等等。这些问题答的不是很好,因为当时自己定位是机器学习应用,所以对于机器学习的一些理论不是很注重,在这里我推荐有志于投身机器学习的同学去看下李飞飞大牛关于机器学习的课程,如果时间充裕的话,也可以去补一下Andrew Ng的机器学习课程。除了机器学习岗位,当时同时也让了分管大数据的Boss面试了我,同样也问了很多大数据系统的细节,包括shuffle的过程,MapReduce的原理等等。印象最深刻的是问了一个大数据环境下如何统计一天里面哪个时段是人数最多的题目。当时说了一个线段树的做法,没想到其实用wordCount的做法就可以解决。当时快手要求是马上去实习,但是学期还没结束,拒绝了,没有达成合意,所以也就不了了之了。快手当时面完还留我吃了个饭,伙食确实丰富,而且是随便吃,感觉如果在快手工作的话,体重分分钟就上去了。
今日头条。
头条校招给的薪资还是非常有竞争力的,实习面试一般是两面现场面试+HR面。由于内推的部门主要是做数据存储的,和自己的方向不是很搭,所以两面后挂了。头条的面试是现场用电脑白板编码,题目有点忘记了,大致难度也是LeetCode的Medium吧。
以上是实习期间的一些尚存的印象,回头有时间可以再写写阿里实习的经历,包括后面校招的事情。实习建议大家找的公司不要太多了,一方面是自己会太累了,另一方面拒绝Offer的话对于校招多多少少有一定程度的影响。


    推荐阅读