年薪50万大数据开发工程师:给想入门大数据行业的童鞋一些建议

时间:2024-03-28 08:52:03

总结了一些经验送给对大数据行业有兴趣的朋友。

☟☟☟

本人以前某五百强高级数据开发工程师一枚五年工作经验,一年多面试官经验。面试中经常会遇到这种情况:之前专心写web的Java码农突然转型想做大数据了,然后写几个大数据的项目经验跑来面试,结果就是一问三不知,还有好多人只是搭了个Hadoop环境就说自己是搞大数据的,然后来面数据开发,结果肯定悲剧。一这篇文章基本上就是一些经验的汇总。

首先,我个人进入大数据行业也纯属偶然,当年实习的时候做的是纯纯的Java开发,后来正式毕业了以后找了份Java开发的工作,本以为和大多数Java猿一样天天搞增删改查了,但是巧的是搞好部门有个做大数据开发的离职了,数据开发缺人手,然后领导就让我顶上了。

刚开始什么Hadoop,HDFS也是各种不懂,只会写hive,因为毕竟有SQL基础嘛。再后来发现hive实现一些东西很麻烦,就开始学习spark。网上找的例子,从Wordcount入手,边写简单的例子边看《Hadoop权威指南这本书》,不到一周时间就上手写了一个计算报表数据的作业。后来就不断深入,过程之中觉得《Hadoop权威指南》这本书每一次读都有不同的体会,前前后后应该读了有三四遍吧。

总体感受就是理解了分布式计算的模型,就知道如何写mapreduce了。但是如何进行作业优化以及数据处理过程中遇到的问题如何解决就需要更深入的研究。

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

1.对应届生

个人觉得应届生应该打好基础,大学本科一般都会开设数据结构,算法基础,操作系统,编译原理,计算机网络等课程。这些课程一定要好好学,基础扎实了学其他东西问题都不大,而且好多大公司面试都会问这些东西。如果你准备从事IT行业,这些东西对你会很有帮助。

至于学什么语言,我觉得对大数据行业来说,Java还是比较多。有时间有兴趣的话可以学学scala,这个语言写spark比较棒。

集群环境一定要搭起来。有条件的话可以搭一个小的分布式集群,没条件的可以在自己电脑上装个虚拟机然后搭一个伪分布式的集群。一来能帮助你充分认识Hadoop,而来可以在上面做点实际的东西。你所有踩得坑都是你宝贵的财富。

然后就可以试着写一些数据计算中常见的去重,排序,表关联等操作。

对于我来说,面试应届生就问你的基础,笔试大多是数据结构和算法方面的,如果你基础不错而且有一定的大数据方面的经验,基本上都会过。

2. 对有工作经验想转行的

 

年薪50万大数据开发工程师:给想入门大数据行业的童鞋一些建议

 

主要考察三个方面,一是基础,二是学习能力,三是解决问题的能力。

基础很好考察,给几道笔试题做完基本上就知道什么水平了。

学习能力还是非常重要的,毕竟写Javaweb和写mapreduce还是不一样的。大数据处理技术目前都有好多种,而且企业用的时候也不单单使用一种,再一个行业发展比较快,要时刻学习新的东西并用到实践中。

解决问题的能力在什么时候都比较重要,数据开发中尤为重要,我们同常会遇到很多数据问题,比如说最后产生的报表数据对不上,一般来说一份最终的数据往往来源于很多原始数据,中间又经过了n多处理。要求你对数据敏感,并能把握问题的本质,追根溯源,在尽可能短的时间里解决问题。

基础知识好加强,换工作前两周复习一下就行。学习能力和解决问题的能力就要在平时的工作中多锻炼。