作为一个应届生程序员,我是怎么通过阿里的三轮面试的

全部回答1
默认 最新
  • 首先,自我介绍。 我:“我做过两个项目。写过几篇论文和专利。还参加过阿里巴巴大数据竞赛。同时,出于个人兴趣,我还阅读了一下HDFS的少部分源码,理解了一下HDFS的核心思想,实现了一个功能非常简单,并且还不完善的HDFS。” 面试官1:“说一说你写的论文中的某一篇的创新点?” 我:“我写的文章或者专利,主要遵循一个原则:将已有的理论或者模型应用到新的场景中。所以,都是偏向应用的。重点说说这篇论文吧。首先,从奇异值分解说起吧……” 大概讲了几分钟后,面试官1打断我:“你做的这些东西都偏向数据挖掘方向,为什么没有投数据挖掘呢?” 我:“因为,按照我的理解,数据挖掘这个岗位需要对机器学习算法有深入研究,然而,我做的偏向于对数据挖掘算法的应用。所以,我想投研发,偏向数据挖掘和分布式方向,从基础做起。” 面试官1:“其实,你的优势是做过数据挖掘。这样吧,我先找一个数据研发的面试官对你进行一下面试。等会儿,你再来我这。” 虽然自己也系统地学习过机器学习算法,但是接触时间太短(几个月),研究不够深入,只在比赛中用过少数几种算法:LR、RF和GBRT。自己的优势在于对数据的理解和特征的提取,以及算法的应用。 而算法推导过程并不清楚,只是理解了其思想。我怕被问得太细致,所以不是很情愿。不过,在面试官1的坚持下,最终还是同意了。 看到第二个面试官的牌子上写着“数据研发”,我稍微舒了口气;幸好不是“数据挖掘”。 今年,“数据研发”岗位招人挺多的,很多都是去小微金服。面试完之后,我觉得“数据研发”的岗位要求是这样子的: 熟练掌握基本的SQL语句;因为有一道笔试题目。我觉得阿里应该用自己的ODPS-SQL(类似于Hive)进行数据研发,虽然这个平台挺复杂的,但是面试的时候的要求并不高。只要掌握基本的内建函数和SQL语句就行了:select, group by… 我在比赛过程中,写过几万行SQL代码(去重之后几千行),没有用到过索引和视图;经常用到内建函数,偶尔使用UDF(用户自定义函数)。但是,写的代码不包含索引、视图和UDF。也没有考优化(其实我也不懂)。 有数据研发方面的相关经历,面试官似乎很注重这一项。我参加过阿里巴巴大数据竞赛。 对数据研发有一些自己的看法。这个很关键,一定要思路清晰。我主要在讲比赛中的模型:数据的预处理->训练集、预测集->特征提取->进一步处理->正负样本比例->训练->预测。 当然会用写MapReduce的话就过更好了。阿里的平台提供了MapReduce,估计工作中会用到。 然后,跟第二个技术面试官开始交流。 面试官2:“自我介绍一下吧。” 我:“刚才介绍过其他经历了。那我主要介绍下与数据研发相关的经历吧。”然后,简单说了下自己参加的阿里巴巴大数据竞赛。 面试官2:“行。先做一道题目吧。” 面试官给了我一道SQL的题目:给定一个表,共四列:user_id, brand_id, time, cnt(花的钱数)。从这个表里面选出用户B对每个品牌brand购买的总额度。 一看到,有点窃喜,这跟我竞赛做的东西太相似了。 跟面试官进行简单沟通后,很快写出来了。不过还是怕做错,检查了很久才拿给面试官2。顺便提了一下,如果需要处理字符串的话,我会用ODPS-SQL里面的UDF。面试官看了下程序,没说什么,就放到了一边。 后面,我们主要在讨论阿里巴巴大数据竞赛:我做了什么,用什么模型、算法做的,准确率是多少。(这块讨论时间最多) 还好,我主要讨论的是对业务和数据的理解,没有深入讨论数据挖掘算法。 讨论很顺利。结束之后,面试官2把我带回面试官1。 回来后,继续与面试官1主要讨论我写的论文。由于之前对自己写的论文进行过总结,思路很清晰。并谈论了写论文的体会和收获。 总之,第一面的面试官很和蔼,交谈也很开心。 再次稍微提一下:个人觉得面试官主要有两类,一类是用技术把你问死,从而判断你对技术的掌握深度。 另一类是,简单的技术问题之后,让你去表现,引导你来讲,从而看你这个人的思想、表达能力、个人观点等综合素质。 当然,一个面试官如果看到你不善于表达,就只能一直问你问题了。很荣幸,我碰到的是第二种面试官。面试跟聊天一样轻松。 最终,顺利通过。 应该是这个样子的吧 哈哈【ITjob]
    0 点赞

没有更多内容了

返回顶部
产品求购 求购