1. 程式人生 > >年薪500k大數據開發工程師:給想入門大數據行業童鞋的一點忠告

年薪500k大數據開發工程師:給想入門大數據行業童鞋的一點忠告

word 過程 問題 alt sql基礎 畢業 開始 悲劇 數據倉庫

技術分享圖片

程序員

本人以前某五百強高級數據開發工程師一枚五年工作經驗,一年多面試官經驗。 面試中經常會遇到這種情況:之前專心寫web的Java碼農突然轉型想做大數據了,然後寫幾個大數據的項目經驗跑來面試,結果就是一問三不知,還有好多人只是搭了個Hadoop環境就說自己是搞大數據的,然後來面數據開發,結果肯定悲劇。一般情況下,面試失敗的我都會送走,然後針對不同的人給點建議。面試候選人一激動就要加微信,最後的結果就是人沒招來幾個,微信好友加了不少。這篇文章基本上就是一些經驗的匯總。

技術分享圖片

代碼表示愛

首先,我個人進入大數據行業也純屬偶然,當年實習的時候做的是純純的Java開發,後來正式畢業了以後找了份Java開發的工作,本以為和大多數Java猿一樣天天搞增刪改查了,但是巧的是搞好部門有個做大數據開發的離職了,數據開發缺人手,然後領導就讓我頂上了。剛開始什麽Hadoop,HDFS也是各種不懂,只會寫hive,因為畢竟有SQL基礎嘛。再後來發現hive實現一些東西很麻煩,就開始學習spark。網上找的例子,從Wordcount入手,邊寫簡單的例子邊看《Hadoop權威指南這本書》,不到一周時間就上手寫了一個計算報表數據的作業。後來就不斷深入,過程之中覺得《Hadoop權威指南》這本書每一次讀都有不同的體會,前前後後應該讀了有三四遍吧。

推薦一個大數據學習群 119599574晚上20:10都有一節【免費的】大數據直播課程,專註大數據分析方法,大數據編程,大數據倉庫,大數據案例,人工智能,數據挖掘都是純幹貨分享,你願意來學習嗎?

技術分享圖片

總體感受就是理解了分布式計算的模型,就知道如何寫mapreduce了。但是如何進行作業優化以及數據處理過程中遇到的問題如何解決就需要更深入的研究。

前面提到來面試的有應屆生也有工作幾年的,針對不同的人給一些不同的建議。

1.對應屆生

技術分享圖片

女程序員

個人覺得應屆生應該打好基礎,大學本科一般都會開設數據結構,算法基礎,操作系統,編譯原理,計算機網絡等課程。這些課程一定要好好學,基礎紮實了學其他東西問題都不大,而且好多大公司面試都會問這些東西。如果你準備從事IT行業,這些東西對你會很有幫助。

至於學什麽語言,我覺得對大數據行業來說,Java還是比較多。有時間有興趣的話可以學學scala,這個語言寫spark比較棒。

集群環境一定要搭起來。有條件的話可以搭一個小的分布式集群,沒條件的可以在自己電腦上裝個虛擬機然後搭一個偽分布式的集群。一來能幫助你充分認識Hadoop,而來可以在上面做點實際的東西。你所有踩得坑都是你寶貴的財富。

然後就可以試著寫一些數據計算中常見的去重,排序,表關聯等操作。

對於我來說,面試應屆生就問你的基礎,筆試大多是數據結構和算法方面的,如果你基礎不錯而且有一定的大數據方面的經驗,基本上都會過。

2. 對有工作經驗想轉行的

技術分享圖片

深思

主要考察三個方面,一是基礎,二是學習能力,三是解決問題的能力。

基礎很好考察,給幾道筆試題做完基本上就知道什麽水平了。

學習能力還是非常重要的,畢竟寫Javaweb和寫mapreduce還是不一樣的。大數據處理技術目前都有好多種,而且企業用的時候也不單單使用一種,再一個行業發展比較快,要時刻學習新的東西並用到實踐中。 解決問題的能力在什麽時候都比較重要,數據開發中尤為重要,我們同常會遇到很多數據問題,比如說最後產生的報表數據對不上,一般來說一份最終的數據往往來源於很多原始數據,中間又經過了n多處理。要求你對數據敏感,並能把握問題的本質,追根溯源,在盡可能短的時間裏解決問題。

技術分享圖片

基礎知識好加強,換工作前兩周復習一下就行。學習能力和解決問題的能力就要在平時的工作中多鍛煉。

年薪500k大數據開發工程師:給想入門大數據行業童鞋的一點忠告