美文网首页python面...程序员大牛聚集之地
阿里实习生的四次面试经历(机器学习)

阿里实习生的四次面试经历(机器学习)

作者: 董老师wenjunoy | 来源:发表于2017-03-23 02:48 被阅读18175次
随便放一张图

涉及的专业知识可以跳过,这里记录下来只是为了以后个人参考。

上周接到阿里巴巴的四次面试,一路上有点坎坷但还是面完了最后的HR面试。听其他同学说面到HR就很有希望了,但现在还是有点紧张。
坐标:合肥
学校:某不知名大学,研二
专业:机器学习与数据挖掘

第一次比较正式的接受面试,上次面试是本科毕业暑期去实习,找的是一位师兄的创业公司,面试比较简单,投了简历之后,师兄问了我几个算法题,然后就入职实习了几个月。

导师允许在研二结束的暑假实习一段时间,各个公司的实习招聘基本是从3月开始的,所以我3月初开始关注实习生招聘的相关信息。实验室有个同学去年12月份面过阿里,而且拿到了阿里星的offer,他问了我有没有兴趣投阿里的简历,可以帮我内推。我当然非常的乐意,花了一个下午写完简历就交给同学了,后悔当时简历写的那么草率,不过幸好内推不会刷简历。关于简历比较重要的几点:个人基本信息,教育经历,荣誉奖项,实习经历,项目经历和职业技能。简历真的很重要!!

阿里的实习生招聘流畅是:
简历投递——简历评估——面试——offer——入职——成功入职。

简历评估包括:测评,编程测验和笔试。测评的内容就是类似于公务员考试的题目,语文阅读题,数学图表题和推断题。大约总共需要一个半小时。编程测试是一道编程题,每个同学都有可能不一样,而且难易程度相差很大,时间40分钟。笔试还没经历,好像内推的免掉笔试。不过测评和编程测验好像都不重要,对后面的面试完全没有影响,因为我还没有测评和编程就收到一面了。下面谈谈我的4次面试。

一面

3.10投的简历,3.11就收到阿里的短信和邮件测评通知,3.14周二早上准备做测评题和编程题,刚开始做就收到来自杭州的座机电话,当时有点惊讶,没有做任何准备,因为本来以为是需要做完测试题和编程题才会收到面试的。时间是早上11点多。

一面开始,面试官礼貌性的问了一下:你现在方便面试吗?我当然没有任何理由拒绝面试。
面试官:你简要的介绍一下你自己吧。
我:您好,我叫xxxx,目前在xxx大学读研,本科也是在xxx大学,保研到本校。现在的专业是机器学习与数据挖掘,目前主要做的方向是自然语言处理,......

面试官:ok,那你简要说一下你做的项目吧。我看你做的轨迹回归问题,用的是多任务学习,能说说吗?
我:轨迹回归问题就是预测车辆在某个路段某个时刻的速度,以此来优化交通。多任务学习的优势就是在于能考虑多个任务之间的相关性,轨迹回归问题划分成24小时,也可以看成24个任务。我做的是.......

面试官:你了解多任务学习,那你能说一下1范数的规范化项为什么能看成一个多任务学习的过程。
我:1范数的规范化项能看成W是一个分块的矩阵,非0的块可以看成相关的,为0的那些块可以看成不相关的一些任务。我也不太记得了,好像是这样解释的吧。
好吧,我承认我是真忘了,只能大致说一下自己的看法。

面试官:嗯,没事。一般的解释是......。你有两个项目都涉及到1范数,那你能说一下LASSO问题怎么求解吗?
我:我印象深刻的两种解法,MP和OMP算法,其他的方法就是用梯度下降的方法,这是凸问题。.......,有些不记得了,很早做的东西,现在忘了(尴尬的表情)

面试官:好的,没事。那说说下面的项目,什么叫做标签嵌入和文本嵌入?
我:标签嵌入和文本嵌入做的问题差不多,......

面试官:我看你最后还做过微信小程序,是怎么回事?
我:寒假的时候在家没什么事,同学邀请我做这个,当时微信小程序比较火,我也有点感兴趣,就做了。

面试官:你计算机基础怎么样,算法学的怎么样?
我:还行吧,本科的计算机基础课都学过,算法没有专门训练过,一般,但是一些基本的算法都是知道的。
面试官:嗯,算法挺重要的,你可以在看看

第一轮面试基本就是这样,持续了25分钟,围绕我做的项目提了一些问题。很明显面试官对多任务学习了解比较多,这是我比较幸运的地方,multi-task的问题聊得比较多,恰好我也挺了解的。面试官全程也比较nice,虽然我有些紧张很多地方也答得不好,面试官一直都在说没事,说的挺好的,缓解我的紧张情绪。最后应该也是在暗示我多看看算法,后面会面到算法题。一面总结一点,运气要好,自己熟悉自己做的项目很重要,要是面试官也熟悉那就更好了。

二面

二面是当天晚上9点钟的时候,完全没有想到面试效率这么快。同样的,二面电话还是杭州打来的,接了电话,面试官要我简要的介绍一下自己。

面试官:你做表示学习的,对google的word2vec比较了解吧,word2vec里面的参数有很多,那你对参数如何设置有什么理解吗?
我:我看过google的word2vec代码,我对这个代码比较熟悉,也做过很多实验,对参数的设置也比较了解。

面试官:那你先说说word2vec的窗口设置吧
我:窗口设置一般是5,而且是左右随机1-5的大小,是均匀分布。.......
面试官:对,窗口大小确实是随机的,那你知道为什么要随机吗?
我:我做过很多实验,确实随机窗口比固定窗口效果要好,至于为什么,我不太清楚,我觉得是增加随机性,然后.......
面试官:你说的也对,增加随机性。其实这个是有详细的证明的,XXX年谋篇论文......
我:好吧,这个我确实不知道。

面试官:那你还知道哪些参数设置对word2vec非常重要,或者说word2vec有哪些trick。
我:负采样很重要,一般设置是10左右,如果更大会有小量的提升......

这部分是word2vec的其他参数设置和关于pre-train的word vec的一些讨论。讨论了比较长的时间,也问了很多问题。

面试官:你说说你现在做的研究吧。
我:我做的问题是文本表示问题,将一个文本表示成一个向量,并且......,我的模型比原有的模型是有一些提升的,......
面试官:我觉得你的模型......

面试官对我做的工作还提出了一些问题,也是觉得我做的工作可以有所改进。接下来还是关于项目的介绍,问了大概如下几个问题。

1.说说你做的其他项目吧
2.你实习的时候做的是什么?
3.你还做过微信小程序?你是怎么做的?
4.你的算法怎么样,如果后面还有面试会面code。

面试官:我要问的问题差不多了,你有什么要了解的吗?
我:你们那边的基本情况是做什么,然后我如果去实习要做的大概是什么样的工作?

最后面试官跟我讲了那边的情况,我也大致了解了。愉快的结束了面试,全程持续50分钟,快10点钟才结束,可见阿里都是几点下班的。二面运气成分也比较大,可以看出面试官就是做NLP的,而且对word2vec也比较了解,恰好我也了解,面试的主要内容都是这块,回答的还不错。面完之后就觉得自己应该有戏。这里值得注意的是,面试官一般最后的问题都会有:你对我有什么问题吗?可以问问他们的工作情况以及自己如果去公司要做的事情等。

三面

三面是3.16晚上,北京打来的电话,听说一般三面是交叉面,由其他的部门面试你,而且会面代码。那天我还不小心挂了面试官的电话,第二次打过来才接的。面试官还跟我调侃了一番,问我是不是以为是骚扰电话。

三面同样开始是自我介绍,然后问了我觉得做的最好的项目是什么。好吧,等我介绍完面试官嗯了一句就不提了,应该是不怎么懂机器学习的。开始问我算法,形式是在线给一个代码编辑框,问题以注释的形式给出,不能用python。而且整个代码编辑过程面试官能一直看到,电话还不能挂,面试官不限时间。

我当时的题目是:给一个整形数组,和一个整形数,从数组中找出两个数相加等于该整数。

我不太会c++,想着用c来写。想到一个用o(nlogn)的复杂度方法,但是怕自己花太长的时间,用了一个o(n^2)的方法写完了代码,只花了3分钟的时间。然后接了电话。

我:我用了o(n^2)的时间复杂度实现的,因为我不知道c++的快排函数是什么了,用快排可以是o(nlogn)的时间复杂度.......。但是我觉得应该也有o(n)的算法,用hash应该可以做到。
面试官:很接近了,你再想想。

好吧想了十几秒,没想出来。面试官也没再等我回答了。现在想想当时的决策还是很机智的,先写一个很快能实现的答案,再和面试官口上说更好的答案。一方面不让面试官等,二来可以和面试官有的聊。

面试官:你觉得你的代码能力怎么样
我:还差不吧,没有很好也没有很差,给自己打个7-80分。

接下来面试官围绕我本科学的课程聊了一会。面试结束,25分钟!没想到三面这么快结束了。这轮面试主要就是面代码,听其他同学说面了3个算法题,我只面了一个。当时以为面试官对我没什么兴趣,加上我第一个题目确实没有答上来,以为面试就这么挂了。现在看来只能是我运气好?或者那天面试官有什么事?要么就是那天太晚了,面试官想下班了?(9点多才开始面试的)

四面

四面HR,3.18周六下午接到HR的电面。面试同样要我自我介绍和介绍一个我认为做的最好的项目,巴拉巴拉我又介绍一遍。

HR主要问了以下的几个问题。
1.你的同学怎么看你的。
2.你觉得你是一个什么样的人。
3.你平时爱做什么
4.你的未来规划是什么
4.你期待的工作地点是哪

被HR发现是一个闷骚的人,非常尴尬的承认。HR调侃了我几次,聊得过程还是比较愉悦的,虽然我不是很会说话的人,但是有HR的带动,聊的很顺畅。持续了约30分钟。

四次面试一周内完成,相比于其他同学我面的这个部门效率非常的高。这也可能看人品,有同学跟我一起投的简历,到现在(3.22)还没有收到面试。关于去阿里实习是不是一个很好的选择,当然阿里这么好的一个公司,能有实习经历为以后找工作肯定是贴金不少;对于以后进阿里也是有非常大的帮助;然后阿里现在人工智能也搞得非常不错,听说最近准备搞一个NASA计划。

面试过程就是这样,现在还在等待最终的结果,同时也在关注其他公司的实习生招聘信息。祝自己好运啦!

相关文章

网友评论

  • 暮沫:楼主现在情况咋样?
  • 278bbde690d8:楼主请问下最终结果如何了?
  • 3be53ecc0f55:欢迎能加入阿里
  • 6ed30913770a:我也是面试了4次,然后现在的状态还是面试中。。已经超过一周了:sweat:。博主你现在是啥情况?
    董老师wenjunoy: @仙剑莫悲 四次面试还没给结果应该是表现中等,阿里会考虑招完优秀的再看有没有名额招中等同学。
  • griffiths:那道2sum的编程题没有写对很不应该呀~
    疯狂的冰块: @griffiths刷 Leetcode碰到的第一题
    董老师wenjunoy: @griffiths 确实不应该,后面想想hash的方法还是很简单的,当时有点紧张了吧。而且这题应该是面试常见题😂
  • 沉默的金鱼:你结果怎么样了,还有第五面吗?我今天接到四面HR面,和你一样的情况
    董老师wenjunoy:没有第五面,还没有收到任何通知。
  • 陈寄文:挺生动的,感觉就像我自己在被面试一样。一般来说等电话时间不会超过1个星期的,超过了估计就是简历筛选的时候就pass了
    6ed30913770a:@陈寄文 如果一开始就pass 了,为啥还要给我4次面试呢。。。感觉白激动了一场
    董老师wenjunoy: @陈寄文 谢谢
  • 我乘一叶小舟:good luck,boy,棒棒哒~
    董老师wenjunoy: @青罗小扇扑流萤 有你这句good luck就够啦。😉
    我乘一叶小舟: @不厌其烦的董小姐 我的面试经验对你来说没啥用啊😄
    董老师wenjunoy: @青罗小扇扑流萤 什么时候跟我分享一下你的面试经验啊,word青。◕‿◕。

本文标题:阿里实习生的四次面试经历(机器学习)

本文链接:https://www.haomeiwen.com/subject/uiqanttx.html