自己有句口頭禪,最近也一直在說:最討厭你們這幫語文好的。
實際上在學(xué)生時代的最初,我并不是一個偏科的孩子,起碼沒有那么偏科。但是也不知怎么的,語文 歷史成了自己的心病,對于一些要背誦的東西,總是有種不可描述的排斥(如果我告訴你,我愣是在“抵御”“抵抗”這些詞中糾結(jié)該用哪個好,愣是想了一分多鐘才想到"排斥"這個詞,你信么)。因此任何“寫作文”類似的行為,是更加得不可描述得排斥。
馬上要碩士畢業(yè)了,作為一個半路自學(xué)出生的準(zhǔn)碼農(nóng),最初是實習(xí)期間的導(dǎo)師給我提的“建議”,同時也是尤其在最近的學(xué)習(xí)過程中,愈發(fā)地感受到“自己整理,記錄”這個看似耗時 吃力不討好的行為的重要性。為了自己的長期發(fā)展,為了打好自己的基礎(chǔ)然后能在技術(shù)的道路上越走越遠(yuǎn),故有了這一篇《Brand New Beginning》。當(dāng)然,在這里也希望自己確實能夠長久地堅持下去。
作為一個開始,還是希望先給自己樹立目標(biāo)。盡管現(xiàn)在AI很火,但既然已經(jīng)在Java后端的路上走了一年半有余,還是希望先做好當(dāng)下。故整理了接下來三年五年內(nèi)自己要深耕的Java后端技術(shù)路線,同時分享給看到這篇文章的各位。
Java基礎(chǔ)
- 熟悉IO、多線程、網(wǎng)絡(luò)、數(shù)據(jù)庫操作、集合操作等基礎(chǔ)技能;JVM原理(內(nèi)存模型、類加載機(jī)制以及性能優(yōu)化;)
- 常用設(shè)計模式;.面向?qū)ο蟮姆治龊驮O(shè)計技術(shù),包括設(shè)計模式、UML建模
- java框架(理解核心思想、實現(xiàn)原理):Tomcat、Jboss、Nginx、Spring、MyBatis、springmvc、springboot、elasticsearch
- java8 、java9
- 協(xié)程、回調(diào)、future
- Velocity
- JSP/Servlet
- 對互聯(lián)網(wǎng)企業(yè)里軟件的研發(fā)、發(fā)布流程比較了解,熟悉Maven、Jenkins、Git等工具,了解DevOps和持續(xù)性交付等理念;
- 熟練使用前端技術(shù):jeasyui/jquery/html5/angularjs/bootstrap
CS基礎(chǔ)
- Linux、操作系統(tǒng)
- 掌握數(shù)據(jù)結(jié)構(gòu)、常用算法;
- 熟悉Internet基本協(xié)議(如TCP/IP. HTTP HTTPS等)內(nèi)容及相關(guān)應(yīng)用;
- shell,python,javascript
- 異步同步 阻塞非阻塞
分布式
- 熟悉分布式架構(gòu)、緩存、消息隊列(JMS或AMQ,如activemq,rabbitmq等)等中間件技術(shù);
- 熟悉常見的中間件、分布式解決方案及其原理:分布式緩存、SOA、消息中間件,負(fù)載均衡、連接池、RPC等;
- 分布式事務(wù)處理框架
- 熟悉常見的分布式計算平臺Hadoop、MPI或Storm
數(shù)據(jù)庫
- 熟悉mysql數(shù)據(jù)庫的基本操作;數(shù)據(jù)庫設(shè)計; sql調(diào)優(yōu);
- NOSQL數(shù)據(jù)庫,緩存技術(shù),流式計算,如Hbase、memcached、redis、mongodb等;
經(jīng)驗
- 編程能力、大型分布式系統(tǒng)研發(fā)設(shè)計經(jīng)驗
- 高并發(fā)、大數(shù)據(jù)建模、大數(shù)據(jù)存儲、大數(shù)據(jù)分析處理
- 大型分布式、高并發(fā)、高負(fù)載、高可用性系統(tǒng)設(shè)計和穩(wěn)定性經(jīng)驗優(yōu)先;
- 識別業(yè)務(wù)關(guān)鍵需求、領(lǐng)域建模能力
- 至少參與開發(fā)過5個大型項目