如何成為一名優(yōu)秀的架構(gòu)師?一定要記住這幾個習(xí)慣和經(jīng)驗

工作了挺久,發(fā)現(xiàn)有個挺有意思的現(xiàn)象,從程序員、高級程序員,到現(xiàn)在掛著架構(gòu)師、專家之類的頭銜,伴隨著技術(shù)和能力的提高,想不明白的事情反而越來越多了。這些疑問有些來自于跟小伙伴交流,有些是我的自問自答,有些到現(xiàn)在也想不清楚,這篇文章就來寫一寫這些問題。

如何更高效的學(xué)習(xí)?

很多新人程序員一開始在學(xué)習(xí)上找不到方向,但我想在渡過了一段時間的新手期之后這類問題大多都會變得不再那么明顯,工作的方向也會逐漸變得清晰起來。

?但是沒過多久,能了解到的資料就開始超過每天學(xué)習(xí)的能力,像是買了沒看的書、收藏沒讀的貼、mark了之后再也沒有關(guān)注過的文章越積越多,更別提每天面對各種技術(shù)分享或者微博里的新鮮玩意了。

大多數(shù)人每天能留給自己學(xué)習(xí)的時間有限,這個階段如何提升學(xué)習(xí)效率就成了要解決的重點。 說說自己提升學(xué)習(xí)效率的心得,其實非常簡單:體系化的學(xué)習(xí)。

我曾經(jīng)很喜歡看一些博客或者是一些“看起來”比較通俗易懂的文章,每天在微博微信里刷到什么技術(shù)文章就mark下來,基本上幾分鐘就能讀完。可一段時間下來,雖然讀了不少東西,但是還是有種在原地打轉(zhuǎn)的狀態(tài),并沒有感受到有什么實際的提高。 最后實在忍不住,抱著厚書硬啃了一遍,突然有種豁然開朗的感覺:讀書時自己學(xué)到的是一張完整的知識網(wǎng)絡(luò),每個知識點和其它內(nèi)容相互聯(lián)系和區(qū)別。這種全方位的理解比起一篇篇獨立的文章,不知要高到哪里去了。 而讀了一段時間書之后,漸漸原本不在一個體系之內(nèi)的知識也會慢慢聯(lián)系起來,比如說后端服務(wù)的開發(fā),簡單梳理一下,就成了這樣:


在重復(fù)了幾次痛苦的學(xué)習(xí)-梳理過程后,再去看一些獨立的文章或者資料往往會事半功倍,因為能在體系內(nèi)找到相對應(yīng)的知識,甚至有時候一本書里一頁只需要看一句話,點破那層窗戶紙,就可以掌握新的知識。

?架構(gòu)開發(fā)技術(shù)之路的學(xué)習(xí)經(jīng)驗

一、閱讀源碼

閱讀、分析源碼是程序員最基本的碼代碼能力也是碼農(nóng)的根本所在,學(xué)習(xí)經(jīng)典源碼中所用到的經(jīng)典設(shè)計思想及常用設(shè)計模式,能夠幫你了解大牛是如何寫代碼的,從而吸收大牛的代碼功力。在阿里面試中,MyBatis,Spring等框架的底層原理是經(jīng)常會被問到的



二、分布式架構(gòu)

阿里巴巴有很多大團(tuán)隊,這種大團(tuán)隊里有很多小團(tuán)隊,到小團(tuán)隊之后,做的業(yè)務(wù)都不相同,如果想立足成為一線互聯(lián)網(wǎng)公司中的萬能選手,最主流的分布式架構(gòu)中有很多知識都是必須要去了解與學(xué)習(xí)的。并且在阿里面試過程中,面試官會問到實際應(yīng)用場景的問題:比如微服務(wù)化、用戶量、并發(fā)量、業(yè)務(wù)復(fù)雜度以及可擴(kuò)展程度等,這里不多贅述。本屌提供一個分布式架構(gòu)的學(xué)習(xí)思路也是自己目前還在學(xué)習(xí)中的體系:


三、微服務(wù)架構(gòu)

?微服務(wù)是現(xiàn)在互聯(lián)網(wǎng)架構(gòu)技術(shù)中最火熱的話題之一,也是本屌目前正在學(xué)習(xí)研究的方向。在阿里面試過程中,面試官很少會問到關(guān)于微服務(wù)相關(guān)的問題。但作為一名開發(fā)者,一名有技術(shù)夢想的程序員微服務(wù)架構(gòu)是現(xiàn)在必須要去了解的主流技術(shù),小編給自己制定了一個微服務(wù)技術(shù)的學(xué)習(xí)計劃:


四、并發(fā)編程

并發(fā)編程幾乎是所有互聯(lián)網(wǎng)公司面試必問問題,并發(fā)編程是Java程序員最重要的技能之一,也是最難掌握的一種技能。它要求編程者對計算機(jī)最底層的運(yùn)作原理有深刻的理解,同時要求編程者邏輯清晰、思維縝密,這樣才能寫出高效、安全、可靠的多線程并發(fā)程序。目前網(wǎng)上沒有系統(tǒng)的全面的并發(fā)編程學(xué)習(xí)大綱,我搜集了很多資料總結(jié)出來一個最全面的學(xué)習(xí)大綱:


五、性能優(yōu)化

性能一直是讓程序員比較頭疼的問題。當(dāng)系統(tǒng)架構(gòu)變得復(fù)雜而龐大之后,性能方面就會下降,特別是阿里巴巴這樣的一線互聯(lián)網(wǎng)公司最為注重,因此想進(jìn)入阿里,性能優(yōu)化一定是要去深入學(xué)習(xí)與理解的一環(huán),本屌在性能優(yōu)化這一塊雖然不能算專家,也可以自信的說是精通了(注意:自己的簡歷上一定不要寫精通xxxx,要不然面試官會懟死你。)

一名開發(fā)人員必須有適合自己的兵器,也就是工欲善其事必先利其器,不管是小白,還是資深開發(fā),都需要先選擇好的工具。

下列是我自己常用的開發(fā)工具: Maven的,項目管理 詹金斯,持續(xù)集成 聲納,代碼質(zhì)量管理 Git的,版本管理 對Java后端技術(shù),對架構(gòu)技術(shù)感興趣的朋友,歡迎加交流裙:193086273,一起學(xué)習(xí),相互討論。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容