6个公司的大数据岗位的面试经验
6 6 个公司的大数据岗位的面试经验个公司的大数据岗位的面试经验 本人住在有人间天堂之称的城市,6 年多开发经验,最近2 年主要在做大数据相关的开发,最近考虑换工作,基本也只考虑大数据相关岗 位。 作者:雪姬来源:36 大数据|2016-11-10 09:26 收藏 分享 本人住在有人间天堂之称的城市,6 年多开发经验,最近 2 年主要在做大数据相关的开发,最近考虑换工作,基本也只 考虑大数据相关岗位。 目前新工作已经找好, 但想分享一下最近面试的失败一些经历(成功的那些就不讲了), 吐槽吐槽, 跟广大吃瓜群众分享一下过程中的经历心得,我的语文体育老师教的,还请大家莫怪。 1. 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.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 后来还打电话问我跟 C