阿里巴巴数据研发工程师面试

        之前师兄内推,不想简历在评估阶段就被否定了,直接失去了面试机会。后来自己走的自主投递这条路,通过了笔试,笔试题目难度还可以,最后一道大题涉及sql语句的运用,在我的数据库Oracle里面已经补齐了答案了,其它还有两条开放大题,大体是写阿里巴巴公司车位不足问题,以及食堂如何取得最大利润的开放大题,要求最好能运用模型和算法,考试我倒也没有提供什么实质的模型与算法,大体上从多个角度思考了一下,然后写上自己的一些简单想法,笔试就这么通过了,然后等待的就是面试了。

        面试之前准备了两三天,把之前学的知识体系归纳了一下,大体上就是java语言,java数据结构,hadoop集群搭建以及程序编写、运行机制,(本人学生,尚且还没有项目经验,这确实是短板),以及自己熟悉的几个算法以及相关编程实现,还有就是网上查了些相关的面试题目,最后重新准备了简历。

        好了,下面来说说面试问题吧,面试官一30多岁的人,外表精神,作了一个简单的自我介绍后,他便开始问问题了。看了我的简历之后说我的语言是java,然后直接就问了句java的多态你能讲讲吗?一听这问题,我当时还有些紧张,主要是问题太大,不知从何作答,于是我就简单地说了下,主要是向上转型,向下转型,接口都说了下,自己都觉得语言没有组织好,第一题自我感觉不是很满意。第二个问题是谈谈java的反射?我想,怎么竟是这类开发语言表达题呢,其实东西都知道,却不知道从何答起,于是我就几句话说了下只知道框架就是利用这样的原理来写的,以及.class,class.forName,getClass这几个词了,其它的一时真想不到,这一题自己也不是很满意。第三个问题,就是问了下我对于hadoop的研究到了哪一步,我说实验室自己搭起来的3个节点,主要做一些实验性的研究,后来他就开始考我一些问题。让我讲讲mapreduce的工作机制,这个我倒是很通,一口气就讲了下来,当然细节部分忽略了一点。后来,他以一个wordcount的例子来问我问题,map输出后,下一步reduce该怎么进行,并且问了我多个reducer的情况,这是对于map的输出该如何处理,这部分尽管我曾经考虑过,大体上就是个shuffle阶段,但是《Hadoop权威指南》中一直没有写明白,后来我也就没有进行,顿时郁闷了,纠缠了很久最终没有搞出来,我想这是致命的吧。

        过了上面那个问题后,问我对linux管道操作有什么理解,我说出了命令形式,然后我其实不了解内部实现机制,然后用java的IO知识讲了一下自己的理解,大体就是前一个命令从文件中输入流到内存,后一个命令从内存中读出来,就是一个重定向的问题,大体就是这个意思了,其实我后来回来查阅,大体上原理是这样的,但是如果我当时把内存替换成管道,大体上就差不多了。再然后,问了我对数据结构内部的知识,比如linkedlist,简单讲讲,其实这也是我在简历上写的对数据结构内部了解,于是我介绍了下它的内部实现机理,并将其与ArrayList作了比较,当然是基于java语言的,总感觉面试官其实不是很懂java,期间他也不做多的提问,就我讲完了就算了。

        最后问了我一下几个简单的推荐算法,主要还是我简历上面的,KNN,以及k-means聚类,我大体上说出个所以然,然后对于之前的一个推荐项目,介绍了一下算法实现的流程,面试官就细细听着,也不作任何评价。其次他还说了下,我简历上关于web的项目倒是蛮多的,我解释了下,因为早期那时开发基本就是用的web什么的,然后他也没说什么,整个过程中对于web项目一点都没提。最后,还问我今天有没同学和我一起来,我还蛮好奇的,为什么问这么一句话,看团队精神,看人际交流?因为和我一届的两个女孩子都是搞模型的,都没参加笔试,因此都没来,然后我干巴巴的回答了没有了。最后,他就和我说:继续努力吧!我大体就知道结果了。

不得不说这是一次失败的面试经历,总结如下:

        内在的:致命的在于他问到shuffle阶段时,我居然模糊不清了,这个真的是自己基础不牢;其次,对于java语言,反射和多态部分真是答的不行;最后,就是缺乏hadoop相关项目的经历了。

        外在的:我都感觉岗位投错了一样,虽然有web开发经验,但是面试官一点没问,而且觉得面试官貌似不怎么懂java语言。

        还是继续努力吧,前路漫漫,致有同样经历的人,一起加油!

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值