6个公司的大数据岗位的面试经验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6个公司的大数据岗位的面试经验
本人住在有人间天堂之称的城市,6年多开发经验,最近2年主要在做大数据相关的开发,最近考虑换工作,基本也只考虑大数据相关岗位。
作者:雪姬来源:36大数据|2016-11-10 09:26
收藏
分享
本人住在有人间天堂之称的城市,6年多开发经验,最近2年主要在做大数据相关的开发,最近考虑换工作,基本也只考虑大数据相关岗位。目前新工作已经找好,但想分享一下最近面试的失败一些经历(成功的那些就不讲了),吐槽吐槽,跟广大吃瓜群众分享一下过程中的经历心得,我的语文体育老师教的,还请大家莫怪。
1.公司:国内知名电信运营商,其下面的大数据研究院,面两轮
一面:技术人员面,先自我介绍,项目经验相关介绍,问比较细,问了一些Hadoop、HBase的问题,JAVA基础,JVM 内存分配小于32G原因,G1和CMS对比,问关系型数据库事务级别,脏读、幻读意思。
问题回答情况:其中G1与CMS区别我只讲了G1比CMS更耗CPU,但回收更快效果更好,两者内存划分设计不同,G1更适合大内存等,具体原因及细节没讲清;脏读、幻读只回答出跟数据库事务有关,面试当时忘记了具体什么叫脏读,什么叫幻读,有点分不清。这两个好像都没有答好,然后面试官问了我待遇期望。
二面:隔了4天,打电话过来让我去二面,是部门经理面,其也是做技术的。上来让我自我介绍,然后就围绕我讲的开始问。讲到之前项目中通过hbase的coprocessor的endpoint方式在服务端通过jni调用c++写的算法库实现数据计算过滤功能,然后这位经理就问为什么你们图像识别相关的CV算法不用JAVA写,要用C++?
我感觉有点懵逼,惊叹怎么会有这么小白的问题,但面上不能表现出来,简单回答说现在大部分算法都是通过C/C++写的,JAVA因为JAVA是完全面向对象的特性及jvm的关系,不适合做这么底层的事情,性能会有损耗。但似乎对方没有理解和听懂,表情带着不理解和质疑,半天从他嘴里吐出一个结论:你们不用JAVA写算法是因为你们公司搞算法那帮人只用C/C++去搞。
我当时有点无语,不知道该怎么跟这种对CV算法一无所知的人解释(或许我该说很多算法库都是C/C++写的,让你用JAVA调用cuda的库你累不累),但对方又接着问下一个问题,你怎么看待大数据领域接下来的发展趋势?
这个问题我从来也没想过,脑袋里突然冒出前阵子参加的云栖大会有个分会上讲得一些片段,糊里糊涂的瞎说了几句,说spark很热,使用的人非常多,后续也会集成流处理技术的一些新特性,另外说现在很多集群完全部署在云上,将来网络瓶颈解决有可能会往云上和云下自己管理的集群结合的这种方式发展。
这个答得的确不好,有点以偏概全了,对方显然对我这个回答很不满意,又问你认为磁盘IO性能会是瓶颈吗?
我回复说这个是目前大数据领域集群的主要瓶颈,但这个问题还好,应该会被克服改善(我想说可以把冷、热数据分离,热数据用速度快的SSD之类存储,但我没说出来)。
对方的目光有点嘲弄的感觉,不是很友好,后来就是问一些期望待遇及让我提问之类的环节。
结果:over,好吧,无所谓了,安慰自己,本来就不是很想去那边,因为自己偏实干型怕活太少(有点自虐),大概了解到的是对方的员工都过得偏安逸。
2.公司:某跨境电商企业,为一些国家和地区的特色产品做电商服务。
先跟他们HR聊,HR人不错,说话比较客气礼貌。
接着是技术面,一共4个面试官,分4轮面。
第1个哥们人挺逗,先让我自我介绍,看我简历上写着对CV相关算法有一定了解,好像跑了题似开始不断问我CV相关问题,我跟他说我工作早几年自己研究过一段时间这方面的东西,但不是很擅长,很长时间也没研究了,只是相比没接触过这方面的人来说要厉害一些,我也没有研究过Spark MLLib。不知道他哪根筋不对,问我你们公司深度学习相关的程序你有没有研究过,我说没,他又问我通常图像识别的一些流程,我大概说了一下,说得不是很细,他不停的惋惜的说道,哎呀,你这相比其他人没有特别的优势呀,你要是精通算法这方面再加上大数据就有亮点。我非常纳闷,心想难道你们公司是传说中人工智能和大数据结合的非常好的公司吗,莫非还是把无监督机器学习自我优化集成到你们的大数据系统中了吗?不应该呀,看你们的样子好像还没有那么NB,再说现在搞大数据的有几个会深度学习算法的,大多还是偏框架数据采集存储挖掘方面的。
第2个哥们,是搞大数据相关的,不过他基本不像是在面试我,反而是在跟我吐槽他们公司,说自己也是刚来了3个月,公司哪里流程不对,自己意愿无法左右其他团队等,不过就简单跟我说了这么一通就完了。
第3个哥们,具体是负责哪方面技术不是很清楚,感觉有点偏算法,就问了我一个题目,像是脑筋急转弯的编程题,题目是N个人围成一圈,从第1个人开始报数,第一个人报1,第二个人报2,依次下去,报到数字X的人退出圈子,下面的人继续报,请写个程序问最后留下的哪个人。我说这好像有一个便捷的方法或公式能计算最后一个人,不过我脑子想不出来,只能想一个简单的递归函数去实现,他说行,然后我就写了一个,写得马马虎虎。
第4个,是他们CTO面,这人阴沉板着一副脸,还没说话就感觉气氛不对,估计他觉得我看着比较年轻竟敢要那么高薪水,这种人的表情我也没少见。语气有点冷,先让我自我介绍,我介绍的比较简单,然后又说了一些项目中的情况,产品数据流之类的。
我们的产品的数据源是从ORACLE数据库里面定时去拿的,这个模块叫数据获取服务,流程很简单,就是定时读取数据后交给另一个模块,然后他说问怎么把这个数据获取服务拆分成两个模块,我很无语,说这个就是这么简单的去拿数据,没有可以再拆分的,他说就是要拆分成2个模块,我表示不知道他脑袋里怎么想的,说不知道。
然后问了我做的一些架构经验,我说自己设计写过过一个分布式实时计算框架,是借助了一个RPC中间件去实现的,整体各模块有点类似Hadoop MapReduce,但更像Impala,不需要每次创建启动Job。我跟他简单说了一下这个RPC中间件,说了一些优缺点,例如它的消息发布订阅机制没有像Kafka那样有很好的持久化机制,程序退出了,这些消息就没了。
他一脸的质疑,说怎么可能没有持久化,他问我那个中间件的名字,然后百度去搜,搜出来某个帖子上有人说的那个中间件的一些特性,讲到一个模块是专门做持久化的,然后他就拿来阴沉着脸质疑我说,你看,这不是持久化吗?我看他那样表情,不想再多解释什么,想说艹尼玛,有点常识好不,那帖子讲得完全不是一个东西,那个持久化不是指消息发布订阅的持久化,这中间件我好歹也用了小半年,你这么百度一搜就敢理直气壮质疑我,这水平真是CTO?
结果:他们HR后来还打电话问我跟CTO聊完感觉怎么样,我感觉自己脾气太好了,没有抨击一下那个CTO,就说他不太清楚我做的东西。HR把我的期望压得很低问我愿不愿意去,我直接说不去了。见过这么奇葩的CTO,就算加薪让我去,我还得重新考虑。
3.公司:某视频监控安防行业的知名公司,面试其下的大数据研究院的一个大数据开发岗位。
面试我的是他们的一个技术主管和另外一个技术人员,上来先自我介绍,详细问了一些项目相关的信息,然后问了很多Hadoop、HBase的一些原理,项目中rowkey和分区设计,问了spark streaming 并发度、createDirectStream和createDStream 的区别,一段时间内分别生成了几个RDD,问了Kafka分区各副本是如何在集群各台机器上分布的等。
有好几个问题没回答清楚,感觉自己表现和准备不是很好。
结果:等通知。后来隔了好多天通知我去HR面,鉴于我当时已经收到其他offer,而且面试情况不是很好,估计会被压offer,就委婉放弃了。
4.公司:国内知名互联网公司,Hadoop研发工程师岗位。
电话面试:面试了25分钟左右,问了很多大数据的基础的技术问题。如Map Reduce相关,Reduce时如何Sort,HBase 优缺点,LSM相关,前面基本上全部答出来了,但是最后问到有没有做过用Map Reduce处理数据join,因为我之前做