標籤:jvm原理 box spring 讀取 相關 反射 創業公司 mongo orm
分享總結
title: java 成長之路
tags:
grammar_cjkRuby: true
經驗差異
最近一年比較忙,經曆了創業公司的倒閉。這次又來到一個創業公司。由於要分享經驗,而且很久沒有寫部落格了。所以就把這次分享的寫一下吧,希望以後能一直堅持下去。
做java的麼。總要有學習路線。有一個大綱,知道幾年經驗應該會些什麼,而不是混日子。要記住
工作年限!=經驗
1-3年要求
我以前面試1年經驗的人,基本不會去問架構,只會問一些api,例如:[email protected],怎麼提取使用者名稱。怎麼尋找123中是否包含1這個字等等簡單的。如果api都不熟,可能你真的之前沒怎麼寫過代碼。
2年左右的工作經驗的人,主要就問一下架構的使用了。現在都是spring mvc麼。問問平時怎麼用的,及常用的架構註解。以及瞭解一下他工作中使用什麼orm架構。所以2-3年經驗的人,對於架構就要有一定的掌握了。最好知其原理。
sql也是一定要會的。能夠在不考慮效能的情況下寫出想要的sql。
建議
寫寫寫,熟能生巧。
當面對一個問題時,首先要靠自己去解決問題。相信這對於新手來說是一個比較困難的過程,但這也是一個積累。解決這個問題以後,把這個問題寫到雲筆記上。做一個記錄。
對於初學者,最好的老師就是搜尋引擎,而不是論壇或貼吧
對於剛入行的人來說,最重要的就是一個思維的轉變。把人的思維變成機器的思維。要知道,這個世界就是規則群組成的,你在編程中每遇到的一個bug,都是你前面不遵守規則而出現的結果。這裡強調的是邏輯思維。有果必有因。
工欲善其事,必先利其器:調整一個好的編程環境(idea社區版)。選一個好的雲筆記。
忘記滑鼠,盡量做一個鍵盤流。我認為鍵盤的速度始終要比滑鼠快的。如果有可能的話,學一下vim
費曼技巧:一種學習方法,推薦自己搜尋一下,我覺得很不錯的一種方法。
努力提升自己,未自己的3到5年階段做努力,如果這個階段不努力,那麼3-5年的階段,你進入知名公司的機會將很少。如果為了進入好的公司,可以把3-5年的一些內容拿到現在來學習。
3-5年
這個屬於中級的程度了。對於架構就要究其根本了,最好自己造過一個輪子。比如:自己寫一個mvc架構。在寫這個架構的時候,你可以掌握很多知識,包括反射,自訂註解,通過反射讀取註解值,安全執行緒等。或者自己寫一個orm架構。看一看事務怎麼實現的,或者研究一下hibernate是怎麼能夠自動產生表的等等。就是一定要深入的去瞭解。而不能只停的表面,會用。
有用一個自己的git.你要知道你的這些代碼都是財富。在這個網路的時候,不要在放到硬碟裡了。放到git上。
有自己常用的工具包。對於經常行的重複工作,你需要有一個工具來解決他們。寫好代碼放到git上。
3-5年應該可以達到的水準是 看到問題就能迅速的定位問題所在。並且瞭解jvm原理。並對效能有一定的要求。
建議
已經過了寫寫寫的階段了。這個階段應該注重一下自己的代碼風格了。推薦看看 代碼整潔之道 代碼大全
深刻的理解DRP原則並在實際中運用。
應該有一個部落格了。整理一下自己初級階段以及現在所遇到的問題。然後分享出來。
可以研讀設計模式了,這個大約要在4年左右開始做。設計模式你可能需要看很久很多遍才可以。
這幾年中,選一個好的行業做下去。不要不停的換不同的行業。積累一些行業知識對你5年以後有很大的協助。
5年+
這個階段基本成為進階工程師了。如果你一直在一個行業中的話,我想你已經可以稱為一個領域專家了。當然,如果你換了不同的行業,並且在不停的進步而不是在搬運代碼的話,那麼也許你已經稱為一個編程專家了。
5年這個階段,無論你是一個什麼專家,記得 選一個好的公司很重要很重要,公司有多大,你的成長就能有多快。如果你一直在一個小公司,根本接觸不到大並發類系統。那麼你的發展將受到很大的制約。
多瞭解架構相關的工作,因為這個階段的人,基本編碼能力已經不是問題了,更多的是開闊眼界。把握當前流行的知識,弄懂soa與微服務的區別與聯絡(2016年階段),springboot,springcloud,dubbo,dubbox,mysql主從,docker,vue,mongodb,redis,nginx等等。。
切記:一個好的平台,是你今後成長的關鍵。。。
java 成長之路[轉載u]