想成爲一名架構師,可是架構師對應的技能,我應該掌握哪些啊?以及掌握的程度是什麼樣的?如何成爲一名真正的實戰性架構師?前端
我簡要分爲如下7點來談談,從技能的角度拋磚引玉,但願你對你架構師之路有必定的參考。mysql
若是你一直關注,會發現我以前分享的阿里面試題系列,有許多關於算法內容,好比:HashMap如何擴容,底層的數據結構發生了怎樣的轉變。程序員
這就是典型的數據結構基本功,這些掌握很差,在實際編程過程當中,對於性能效率你是不清楚的。所以,我一直強調要重視算法,而且認爲至少應該掌握下圖中的這幾種經常使用算法:數據結構相關的哈希表、鏈表、二叉樹等等。web
編程基本功:Java編程面試
這些都算是編程基本功底:多線程、JVM、併發容器、併發類、NIO等。算法
web開發這個領域,若是你要掌握好了,發展也很是不錯。sql
好比:如今的H五、小程序等,對於掌握前端技術的開發人員,競爭力槓槓。mongodb
固然做爲後端開發人員,多掌握點前端的技術,那也是必須的。數據庫
重點都圈在下圖了,這裏涉及的技術仍是蠻多的,mysql、oracle、nosql相關的mongodb,以及現在你們都熟知的分庫分表、讀寫分離等技術。編程
除了你們熟知的部分,我補充幾個設計相關的內容:數據庫設計範式、索引、事務、數據庫相關的慢查詢、長事務,這些在高併發的狀況下,這些也算是數據庫技術的編程功底。
Java程序員對於下圖應該都是比較熟悉的,這些框架與工具都是常常使用。
談到設計,就不得不提到項目中的概要設計和詳細設計,這就會涉及到UML。
除此以外,整個項目的設計,這個時候考驗你的架構設計能力。
這裏的架構設計,包含的系列很是多,特別是Redis、應用程序拆分、拆分後涉及到的RPC微服務等技術,以及後端數據庫的拆分技術,以及拆分後的分佈式集羣部署。
分佈式會涉及到:分佈式鎖、全局惟一ID的生成、分佈式Session…這裏還有蠻多的,其實大部分我都分享過了,基本都在以下的的分佈式系列分享專題資料。
從程序員到架構師,是很大的職業轉變,也是很多程序員的職場規劃路線。以上是我多年從業經驗總結,分享給喜歡Java,喜歡編程,有夢想成爲架構師的程序員們,但願可以幫助到大家。
我是mike,10年+程序員。曾前後就任於淘寶、盛大、百度、攜程 ,歷程高級研發工程師、研發經理、架構師、事業部CTO。堅持寫文1年多,原創內容接近400篇,目前粉絲總數7萬+,主要分享:BAT面試、架構、招聘等技術內容。
歡迎留言或進個人我的羣179961551,本羣專用於學習交流技術、分享面試機會,拒絕廣告,我也會在羣內不按期答題、探討。