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