回覆列表
-
1 # 夢豆PS設計分享
-
2 # 使用者53071748651
第一、過硬的技術實力:(Java架構師的學習路線)
1、首先是基礎,在成為java架構師之前首先你需要是一個java高階工程師,掌握使用各種框架(spring/springmvc/ibatis),並且對其核心思想、實現原理有一定認知,Java虛擬機器原理、調優,類載入機制,Java反射技術,IO,網路,懂得JVM能讓你寫出效能更好的程式碼。
如何在三到五年內成為BAT級別的Java架構師?
第一、過硬的技術實力:(Java架構師的學習路線)
1、首先是基礎,在成為java架構師之前首先你需要是一個java高階工程師,掌握使用各種框架(spring/springmvc/ibatis),並且對其核心思想、實現原理有一定認知,Java虛擬機器原理、調優,類載入機制,Java反射技術,IO,網路,懂得JVM能讓你寫出效能更好的程式碼。
2、養成一個好的習慣-----讀原始碼,閱讀、分析原始碼是程式設計師最基本的碼程式碼能力也是碼農的根本所在,學習經典原始碼中所用到的經典設計思想及常用設計模式,能夠幫你瞭解大牛是如何寫程式碼的,從而吸收大牛的程式碼功力。在阿里面試中,MyBatis,Spring等框架的底層原理是經常會被問到的。
3、分散式架構原理、策略、中介軟體。阿里巴巴有很多大團隊,這種大團隊裡有很多小團隊,到小團隊之後,做的業務都不相同,如果想立足成為一線網際網路公司中的萬能選手,最主流的分散式架構中有很多知識都是必須要去了解與學習的。並且在阿里面試過程中,面試官會問到實際應用場景的問題:比如微服務化、使用者量、併發量、業務複雜度以及可擴充套件程度等
4、微服務架構,Spring Cloud,Docker與虛擬化。微服務是現在網際網路架構技術中最火熱的話題之一,作為一名開發者,一名有技術夢想的程式設計師微服務架構是現在必須要去了解的主流技術。
5、效能調優,效能指標體系、JVM調優、Tomcat調優、MySQL調優
效能一直是讓程式設計師比較頭疼的問題。當系統架構變得複雜而龐大之後,效能方面就會下降,特別是阿里巴巴這樣的一線網際網路公司最為注重,因此想進入阿里,效能最佳化一定是要去深入學習與理解。
6、併發程式設計,記憶體模型、併發模式、執行緒模型、鎖細節
併發程式設計幾乎是所有網際網路公司面試必問問題,併發程式設計是Java程式設計師最重要的技能之一,也是最難掌握的一種技能。它要求程式設計者對計算機最底層的運作原理有深刻的理解,同時要求程式設計者邏輯清晰、思維縝密,這樣才能寫出高效、安全、可靠的多執行緒併發程式。7、精通shell程式設計,熟練應用awk、sed、grep、strace、tcudump、gdb等常用命令
8、對工具的熟練使用
第二、會變通的軟實力:(主要是溝通和領導力)
1、能夠掌控整體又需要洞悉區域性瓶頸並依據具體的業務場景給出解決方案。因此必須成為開發平臺、語言、工具的大師。
2、很強的業務處理能力,理解產品部門給出的需求,瞭解客戶的需求,根據客戶的需求搭建最完善、最有效、最貼合的高質量架構。確認和評估系統需求,給出開發規範,搭建系統實現的核心構架,並澄清技術細節、掃清主要難點的技術人員。
3、要具有領導能力與團隊協作技能,軟體架構師必須是一個得到承認的技術領導,能在關鍵時候對技術的選擇作出及時、有效的決定。要對所屬的開發團隊有足夠的瞭解,能夠評估自己的團隊實現特定的功能需求需要的代價。
4、具有很強的溝通能力,其實這一點好像什麼角色都最好具備,軟體架構師需要與各路人馬經常打交道,客戶、市場人員、開發人員、測試人員、專案經理、網路管理員、資料庫工程師等等,而且在很多角色之間還要起溝通者的作用。