所以說讀者們纔是最優秀的 | 某讀者喜提offer後的分享

這是小編的一個讀者喜提offer後在羣裏做的分享,文中隱藏了讀者的個人隱私信息,小編這裏把他的面經分享出來供大家學習。
羣友們看到後都紛紛表示【我酸了,現在我就是個檸檬精系列】。

file
file

關於如何學習/準備面試的總結

首先說一說本人的情況

本人普通本科,非計算機專業(之前一直對這個耿耿於懷,後來想通了覺得60%從事軟件開發的都是非計算機專業,之後的面試直接說我是非計算機專業,這一塊的誠實很重要,
也沒有必要瞞着,因爲公司看中的是你的開發能力,能不能幫公司解決問題)。對於羣裏的大牛來說,看了之後肯定會笑話我,哈哈,不過我的能力就這麼大,每年有進步就很開心。

怎麼學習羣主的帖子

羣主基本每週都會對帖子有更新,我是一個比較細心的人,每天上班去公司要2個小時左右,然後在地鐵上的時間都會在看羣主的帖子,一是爲了拓展見識,二是爲了夯實基礎知識。對於我公司開發項目有相似的帖子,會進行收藏,之後做好筆記,理解羣主說這個技術棧的思路,爲什麼要這樣搞,而不是單單的對裏邊的理論知識進行記憶,這一點很重要,特別是面試的時候能說出這些東西,都可以讓面試官耳目一新。

我記得特別深刻的是羣主在kafak和spark那一塊的講解,kafka怎麼實現實時性(pagecage頁緩存,順序寫磁盤,零複製技術等等),面試官問到這一塊的時候,我都有說的很詳細,然後面試官都會跟我說:嗯,你的基礎能力很紮實。還有spark調優那一塊,這個是我的強項。我把自己掌握和實踐中用的方法用自己的語言總結了一部分(數據傾斜,內存溢出,開發調優,資源調優,shuffle調優等),每一個點都能夠自己總結出一個例子出來,說給面試官聽,之後面試官都會給出高度的評價。

注意事項

知識的學習要結合自己簡歷中的項目和技術架構,不能原封不動的抄襲;公司做的有哪些項目,那麼安排上,再從羣主的帖子裏去找靈感,這一點很重要,你不能拿着沒有做過的項目來套這些東西,因爲一個項目會牽涉到業務場景,項目背景以及實現中的很多細節,亂編的項目肯定有考慮不到的地方,有一些細節都會被問出來,結果讓面試官對你產生了懷疑。基於真實項目的技術架構,吸收帖子裏邊的一些思想,加上自己的思考,這樣進步就會很快。

遇到的面試題

Java基礎

JVM優化和多線程必問。

數倉必問

mapreduce的底層原理(shuffle重點);hivesql怎麼轉化爲mapreduce;數據傾斜怎麼處理(大表join大表,大小表join,參數調優等等);hive的優化;數倉分層細節,數倉建模;拉鍊表;緩慢變化維;星型模型和雪花模型區別;數據庫三範式;事實表的分類;具體場景寫sql;

Spark部分

spark的運行原理;spark數據傾斜;spark內存溢出;spark的調優;spark的rdd算子細節(map,mappartition,groupbykey,reducebykey等等很多,需要自己逐一的梳理);sparksql(sparksql怎麼解析、dataframe、dateset);spark的內存模型;spark的shuffle原理,shuffle優化。

kafka部分

kafak負載均衡;kafka數據一致性;kafka的ack機制;kafka的exact once語義;kafka分區策略;kafka分區的目的等等。

zk部分

zk選舉機制,zk用到的算法;zk的數據一致性;zk 節點宕機如何處理;負載均衡;zk一些接口。

hbase

讀寫原理;rowkey設計;熱點問題;數據版本;habse的優化。

elasticsearch

es的讀寫原理;es的倒排索引;es的優化(重點必問);場景下的es提問。

自己的感受

感覺越往高級的面,就會傾向於問你組件調優以及架構方面的知識:如分佈式;CAP理論;數據一致性以及知識掌握的全面性,這些部分都是我需要學習的地方,不說了,再說就感覺自己的水平很low了,哈哈。

然後就是寫簡歷的時候不貪多,把每個項目的實現細節都給搞清楚,很容易就面過,基於此我基本每家單位的一面都能過,二面三面的時候一方面看知識的深度,另一方面靠自己的表達能力。最後就是感覺現在好多公司喜歡搞數據中臺,數據治理這一塊,這一塊我在我們公司搞過一點,感覺可能也是一個加分項。

最後弱弱的給小編打個廣告,後臺回覆【知識星球】,可以加到圈子裏來。未來一段時間都在持續更新面試題系列。
歡迎關注,《大數據成神之路》系列文章

歡迎關注,《大數據成神之路》系列文章

歡迎關注,《大數據成神之路》系列文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章