是什麼讓我從一名求職困難戶成功變身月薪25K

回首過去,剛開始步入這個行業的Java程序員是迷茫的,處在金字塔的最底端,拿著少之又少的薪水,不間斷的加班,但是在短短3年間,從7k工資到現在的25k,憑現有的項目經驗和工作經歷也可以算得上是一個業內頗具資歷的成功人士了。在我看來我取得成功不僅僅是我對Java的獨到掌握。

在這裡我就比方說一個最熟悉的數據結構吧,又或者,再簡單一點,說一下LinkedList和ArrayList的區別。相信很多面試者都遇到過這道看上去很蠢的題,答案在網上是各種各樣的,他們說的基本都沒有錯,但是,按這些答案來回答,不會給出很高的評價。

這樣提問:為什麼LinkedList查詢會比ArrayList慢?又或者,如果java沒有提供LinkedList,你要如何實現出來呢?

這裡考驗的能力有兩個,兩者有其一,都可以打出高分的。

1、對於需求的理解能力

2、閱讀源碼的興趣和能力

鏈表的定義是“表由一系列結點(鏈表中每一個元素稱為結點)組成,每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域”。

把這一段話當成需求,那麼,名詞有:表、結點、數據域、指針域。

同時又能得出它們的包含關係,表裡有多個結點,結點裡有數據域和指針域兩個部分。

完成了這一部分分析,自然就能設計出對應的LinkedList類。查詢為什麼會慢一些呢?查詢對應的是get方法,get(i)自然是要從頭結點的指針域迭代i次,取出對應結點數據域,這個迭代過程導致了慢。

無論是通過自行分析還是閱讀過源碼懂得這個道理的,都說明是具備一定能力或潛力的。

我們該如何正確學習JAVA呢?

1、要培養程序思維,生活中處處皆對象,學會用程序員的思維去思考周圍的世界。

2、要學會總結,每天在能知道自己學到了什麼,並提供的自己語言表達和概括能力。

3、每天花時間去複習和預習,提高自己學習效率。

4、學會做計劃,安排好自己的時間,這樣才能在這五個月java基礎學習的時間裡高效率的學習,快速入門。

5、關注IT和互聯網行業,瞭解最新動態和技術。

6、拓展鞏固子自己 的能力,並培養高效學習的能力

我總結了這幾年的工作和項目經驗,也是為了幫助大家在取得成功的道路上少走彎路,我做了一個Java程序員的工作歷程圖供大家參考和學習

是什麼讓我從一名求職困難戶成功變身月薪25K

其實如果你要想取得成功,你必須比別人更加努力,要培養自己的理解和思考能力,這樣說著可能大家不是特別能理解,為了讓學習變得輕鬆、高效,我對上面圖裡的技術我也特意整理了一番,找朋友特地錄製了一些視頻給大家免費分享,這套免費視頻課程詳細講解了Spring,MyBatis,Netty源碼分析,高分佈式架構等這些成為架構師的必備的內容!很多問題答案其實很簡單,但是背後的邏輯思維可不是我們想象那樣容易,要做到知其然還要知其所以然。

現在私信我“資料”即可獲取Java工程化、高性能及分佈式、高性能、高架構。性能調優、Spring,MyBatis,Netty源碼分析和大數據等多個知識點高級進階乾貨的直播免費學習權限及領取相關資料,助你早日升職加薪!


分享到:


相關文章: