1.關于我
本人現在北京某大型互聯網公司高級數據開發工程師一枚,三年工作經驗,一年多面試官經驗。
2.為啥要寫這篇文章?
面試中經常會遇到這種情況:之前專心寫web的Java碼農突然轉型想做大數據了,然后寫幾個大數據的項目經驗跑來面試,結果就是一問三不知,還有好多人只是搭了個Hadoop環境就說自己是搞大數據的,然后來面數據開發,結果肯定悲劇。一般情況下,面試失敗的我都會送走,然后針對不同的人給點建議。面試候選人一激動就要加微信,最后的結果就是人沒招來幾個,微信好友加了不少。這篇文章基本上就是一些經驗的匯總。
3.正題
首先,我個人進入大數據行業也純屬偶然,當年實習的時候做的是純純的Java開發,后來正式畢業了以后找了份Java開發的工作,本以為和大多數Java猿一樣天天搞增刪改查了,但是巧的是搞好部門有個做大數據開發的離職了,數據開發缺人手,然后領導就讓我頂上了。剛開始什么Hadoop,HDFS也是各種不懂,只會寫hive,因為畢竟有SQL基礎嘛。再后來發現hive實現一些東西很麻煩,就開始學習spark。網上找的例子,從Wordcount入手,邊寫簡單的例子邊看《Hadoop權威指南這本書》,不到一周時間就上手寫了一個計算報表數據的作業。后來就不斷深入,過程之中覺得《Hadoop權威指南》這本書每一次讀都有不同的體會,前前后后應該讀了有三四遍吧。
總體感受就是理解了分布式計算的模型,就知道如何寫mapreduce了。但是如何進行作業優化以及數據處理過程中遇到的問題如何解決就需要更深入的研究。
前面提到來面試的有應屆生也有工作幾年的,針對不同的人給一些不同的建議。
3.1 對應屆生
個人覺得應屆生應該打好基礎,大學本科一般都會開設數據結構,算法基礎,操作系統,編譯原理,計算機網絡等課程。這些課程一定要好好學,基礎扎實了學其他東西問題都不大,而且好多大公司面試都會問這些東西。如果你準備從事IT行業,這些東西對你會很有幫助。
至于學什么語言,我覺得對大數據行業來說,Java還是比較多。有時間有興趣的話可以學學scala,這個語言寫spark比較棒。
集群環境一定要搭起來。有條件的話可以搭一個小的分布式集群,沒條件的可以在自己電腦上裝個虛擬機然后搭一個偽分布式的集群。一來能幫助你充分認識Hadoop,而來可以在上面做點實際的東西。你所有踩得坑都是你寶貴的財富。
然后就可以試著寫一些數據計算中常見的去重,排序,表關聯等操作。
對于我來說,面試應屆生就問你的基礎,筆試大多是數據結構和算法方面的,如果你基礎不錯而且有一定的大數據方面的經驗,基本上都會過。
3.2 對有工作經驗想轉行的
主要考察三個方面,一是基礎,二是學習能力,三是解決問題的能力。
基礎很好考察,給幾道筆試題做完基本上就知道什么水平了。
學習能力還是非常重要的,畢竟寫Javaweb和寫mapreduce還是不一樣的。大數據處理技術目前都有好多種,而且企業用的時候也不單單使用一種,再一個行業發展比較快,要時刻學習新的東西并用到實踐中。
解決問題的能力在什么時候都比較重要,數據開發中尤為重要,我們同常會遇到很多數據問題,比如說最后產生的報表數據對不上,一般來說一份最終的數據往往來源于很多原始數據,中間又經過了n多處理。要求你對數據敏感,并能把握問題的本質,追根溯源,在盡可能短的時間里解決問題。
基礎知識好加強,換工作前兩周復習一下就行。學習能力和解決問題的能力就要在平時的工作中多鍛煉。
社招的最低要求就上面三點,如果你平日還自學了一些大數據方面的東西,都是很好的加分項。
以上是個人的一些經歷和見解,希望能幫到你。當然也不完全正確,如果你認為不妥可以評論開噴,哈哈。
最后祝各位看官都找到稱心如意的工作!
-
工程師
+關注
關注
59文章
1566瀏覽量
68441 -
大數據
+關注
關注
64文章
8863瀏覽量
137300
發布評論請先 登錄
相關推薦
評論