很多同學想成為一名架構師,但是對於其中的技能掌握程度,以及編程功底的要求?設計能力的要求有哪些?
我簡要從以下7點來談,從技能的角度拋磚引玉。
編程基本功:數據結構和算法
1.數據結構相關的哈希表、鏈表、二叉樹等等
2.常見的算法有哪些?至少下圖的算法我認為應該要掌握。
比如:HashMap如何擴容,重點就是考底層數據結構。
編程基本功:Java編程
這些都算是編程基本功底:多線程、JVM、併發容器、併發類、NIO等。
Web開發
其實web開發這個領域,如果你要掌握好了,發展也非常不錯的。
比如:現在的H5、小程序等,對於掌握前端技術的開發人員,競爭力也是槓槓的。
當然作為後端開發人員,多掌握點前端的技術,那也是必須的。
數據庫
重點就看圖了,這裡涉及的技術還是蠻多的,mysql、oracle、nosql相關的mongodb,以及如今大家都熟知的分庫分表、讀寫分離等技術。
這些都是大家熟知的,我補充點設計相關的:數據庫設計範式、索引、事務、數據庫相關的慢查詢、長事務。
這些也算是數據庫技術的編程功底。
研發相關的框架工具
Java程序員對於下圖應該都是比較熟悉的,這些框架與工具都是經常使用。
架構設計
談到設計,就不得不提到項目中的概要設計和詳細設計,這就會涉及到UML。
除此之外,整個項目的設計,這個時候考驗你的架構設計能力。
這裡的架構設計,包含的系列非常多,特別是Redis、應用程序拆分、拆分後涉及到的RPC微服務等技術,以及後端數據庫的拆分技術,以及拆分後的分佈式集群部署。
分佈式會涉及到:分佈式鎖、全局唯一ID的生成、分佈式Session...這裡還有蠻多的,其實大部分我都分享過了,基本都在如下的的分佈式系列分享專題資料。
以上分佈式,資料獲取方式:
轉發+私信發送這三個字【分佈式】即可獲取!
閱讀更多 優知學院 的文章