分析如何成为一名大数据开发工程师


1.关于我

本人如今北京某大型互联网公司高级数据开发工程师一枚,三年工做经验,一年多面试官经验。web

2.为啥要写这篇文章?

面试中常常会遇到这种状况:以前专心写web的Java码农忽然转型想作大数据了,而后写几个大数据的项目经验跑来面试,结果就是一问三不知,还有好多人只是搭了个Hadoop环境就说本身是搞大数据的,而后来面数据开发,结果确定悲剧。通常状况下,面试失败的我都会送走,而后针对不一样的人给点建议。面试候选人一激动就要加微信,最后的结果就是人没招来几个,微信好友加了很多。这篇文章基本上就是一些经验的汇总。面试


3.正题

首先,我我的进入大数据行业也纯属偶然,当年实习的时候作的是纯纯的Java开发,后来正式毕业了之后找了份Java开发的工做,本觉得和大多数Java猿同样每天搞增删改查了,可是巧的是搞好部门有个作大数据开发的离职了,数据开发缺人手,而后领导就让我顶上了。刚开始什么Hadoop,HDFS也是各类不懂,只会写hive,由于毕竟有SQL基础嘛。再后来发现hive实现一些东西很麻烦,就开始学习spark。网上找的例子,从Wordcount入手,边写简单的例子边看《Hadoop权威指南这本书》,不到一周时间就上手写了一个计算报表数据的做业。后来就不断深刻,过程之中以为《Hadoop权威指南》这本书每一次读都有不一样的体会,前先后后应该读了有三四遍吧。 
整体感觉就是理解了分布式计算的模型,就知道如何写mapreduce了。可是如何进行做业优化以及数据处理过程当中遇到的问题如何解决就须要更深刻的研究。 
算法

前面提到来面试的有应届生也有工做几年的,针对不一样的人给一些不一样的建议。api


3.1 对应届生

我的以为应届生应该打好基础,大学本科通常都会开设数据结构,算法基础,操做系统,编译原理,计算机网络等课程。这些课程必定要好好学,基础扎实了学其余东西问题都不大,并且好多大公司面试都会问这些东西。若是你准备从事IT行业,这些东西对你会颇有帮助。 
至于学什么语言,我以为对大数据行业来讲,Java仍是比较多。有时间有兴趣的话能够学学scala,这个语言写spark比较棒。 
集群环境必定要搭起来。有条件的话能够搭一个小的分布式集群,没条件的能够在本身电脑上装个虚拟机而后搭一个伪分布式的集群。一来能帮助你充分认识Hadoop,而来能够在上面作点实际的东西。你全部踩得坑都是你宝贵的财富。 
而后就能够试着写一些数据计算中常见的去重,排序,表关联等操做。 
微信

对于我来讲,面试应届生就问你的基础,笔试大可能是数据结构和算法方面的,若是你基础不错并且有必定的大数据方面的经验,基本上都会过。网络


3.2 对有工做经验想转行的

主要考察三个方面,一是基础,二是学习能力,三是解决问题的能力。 
基础很好考察,给几道笔试题作完基本上就知道什么水平了。 
学习能力仍是很是重要的,毕竟写Javaweb和写mapreduce仍是不同的。大数据处理技术目前都有好多种,并且企业用的时候也不仅仅使用一种,再一个行业发展比较快,要时刻学习新的东西并用到实践中。 
解决问题的能力在何时都比较重要,数据开发中尤其重要,咱们同常会遇到不少数据问题,好比说最后产生的报表数据对不上,通常来讲一份最终的数据每每来源于不少原始数据,中间又通过了n多处理。要求你对数据敏感,并能把握问题的本质,追根溯源,在尽量短的时间里解决问题。 
基础知识好增强,换工做前两周复习一下就行。学习能力和解决问题的能力就要在平时的工做中多锻炼。 
社招的最低要求就上面三点,若是你平日还自学了一些大数据方面的东西,都是很好的加分项。 
以上是我的的一些经历和看法,但愿能帮到你。固然也不彻底正确,若是你认为不妥能够评论开喷,哈哈。 数据结构

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------数据结构和算法