java架構師面試
A. java程序員如何成為優秀的架構師
架構師,有過項目開發經歷,精通多門編程語言且熟悉資料庫。
架構師的主要職責
1 確認需求
2 系統分解
3 技術選型
4 制定技術規格說明
B. 請問從java工程師成為一名架構師的學習路線是什麼樣的
對於java工程師成為一名架構師如何進階學習及掌握應有的技能體系在這做出一些建議!同時大家可以到知乎專欄「動力節點視頻教程資源庫」看更架構師的文章,歡迎大家來關注閱讀!
可以驕傲地說,Java程序員應該是這個世界上最為廣泛的工程師群體。在最新的2019年3月編程語言排行榜中,第一寶座依舊是Java,可見Java強大的生命力。不過,我發現身邊不少程序員朋友,對Java的掌握僅限於使用 Java 語言和 Java 生態里的技術框架做功能實現,很少有人去了解 Java 的底層動力 JVM 的運營機制,以至於技術水平和認知停滯不前,最終成了CRUD 研究員。
同時也為那些針對2到5年及以上工作經驗的想在技術上提升到一定高度甚至想往架構師發展的Java程序員提供一份系統詳情的架構進階路線,從廣度到深度架構圖還比較全面的,裡面的技術包涵了Java高並發、微服務、源碼分析、源碼分析、高性能、分布式等技術,這些也是目前互聯網企業比較常用的技術,那麼來詳細看看。
JVM與性能優化
JVM作為Java語言的基礎,雖然平時工作中真正運用到的時候可能並不多,一個程序員想要上升到高級層次,那就必須知道Java到底是怎麼運行的,這就逃不開JVM。想要告別增刪改查和簡單開發,而是去做Java性能分析和調優工作,那麼,Java虛擬機絕對是一把助力的利劍。學習Java虛擬機的原因,本質是讓你了解Java程序是如何被執行且優化的。這樣一來,你才可以從內部入手,達到高效編程的目的。同時,你也可以為學習更深層、更核心的Java技術打好基礎。
框架源碼解讀
我認為有三個維度來說明:這個框架是為了解決什麼問題而誕生的?這個框架的核心思想是什麼?這個框架適合應用到哪些場景?說到思想,我覺得編程的靈魂就是思想,沒有思想的編程和咸魚沒什麼區別。「不要重復造輪子」,當時聽了趕腳這句話挺高大上的,現在我認為這句話只能在某一方面是正確了。首先我來說一下為什麼要學會造輪子--因為你會造輪子後,用別人的輪子時才會明白其原理,用的時候才會得心應手,如果你對一個框架的理解只是停留在用,用的多熟練的階段的話,那麼你就是一個「碼畜」,別人隨時可以替代你。或許有人會說,項目時間緊根本不允許你寫一個輪子、你寫的還有那些大牛們寫的好嗎等理由反駁。但我想說的是:我沒說項目中非得用自己寫的輪子,自己寫的輪子不一定要和別人比,因為造輪子的目的是要理解這些輪子的思想。說這么多其實就是想告訴大家學習框架要理解框架的底層的原理,要掌握的就是最常用的原理。
分布式架構
近年來隨著服務體系的不斷龐大以及用戶量的迅速增長,傳統單一應用架構已經無法滿足我們系統的需求,尤其是大型互聯網系統的快速發展,各種靈活多變的系統架構模型層出不窮。分布式的處理方式越來越受到業界的青睞——計算機系統正在經歷一場前所未有的從集中式向分布式架構的變革。同時分布式也成為Java程序員面試不可缺少的一部分知識,尤其是對現在工作2到5年的工程師來說分布式無疑不是一項加分技術。
微服務架構
雖然很多文章都說微服務架構是復雜的、會帶來很多分布式的問題,但只要我們了解這些問題,並找到解法,就會有種撥開雲霧的感覺。微服務架構也不是完美的,世上沒有完美的架構,微服務架構也是隨著業務、團隊成長而不斷演進的。最開始可能就幾個、十幾個微服務,每個服務是分庫的,通過 API Gateway 並行進行服務數據合並、轉發。隨著業務擴大、不斷地加入搜索引擎、緩存技術、分布式消息隊列、數據存儲層的數據復制、分區、分表等!
總結
不管是學什麼技術,最終都需要你進行歸納、整理,才能把所學的東西變為自己的。工作為什麼要寫日誌,平時學習為什麼要寫博客,其實就是在構建自己的知識體系。在學習的過程中多做筆記,多做總結,習慣一旦形成,久而久之,便會印在你的腦海里,你下次再被問到這一問題時,你就可以用自己之前總結過的內容來回答。
C. 考Sun的Java認證程序員,架構師 有沒有意義
scjp沒什麼用.
不過,想考架構師,必須先過scjp.
應聘小企業起不到任何作用.
D. 如何才能做到Java架構師呢
不同人對架構師的理解也不一樣,之前去面過一家國內也算大公司了,面試官就認為你只要會搭集群系統,知道怎麼優化jvm,用過memcache才算架構師,其實架構這個詞本身就太抽象了,架構需要考慮的東西太多,架構師也就更難定義,這里我簡而言之,在團隊里能夠貼合實際情況,比如現有的人力和硬體資源,給出合理的解決方案,解決需求中碰到的問題,是架構師最基本的工作,就上面提到那次經歷,其實很多東西比集群配置和優化jvm更重要,這里涉及一個「重要性」的概念,改動成本越大的東西,重要性就越高,設想資料庫設計,代碼組織結構,介面標准,一旦成型後期就很難修改,反而集群什麼的,改起來幾乎對代碼沒有什麼太大的影響,J2EE水太深,隨隨便便就能說出太多需要深入了解的東西,凡事多問「我為什麼要這么做」,不要總問自己「怎麼做」
E. java架構師 需要什麼條件
java架構師,現在很多新手都知道的名詞,這個職位最早在IT領域是沒有的,是由於最近幾年來,互聯網的迅猛發展,網站對於對數據量和高並的活躍度發所引發的需求,引起了眾多傳統的技術人員的力不從心,越來越多的企業關注到了系統架構的重要性,所以不同行業開始招募架構技術人員,架構師就誕生了。
那麼架構師的薪資一般是多少呢:
所以,你的疑慮和擔憂不應該放在java架構師有沒有前途,因為問出這個問題,說明你對「java的力量一無所知」。你應該先搞清楚,自己適不適合這個行業,適不適合學習java,Java架構師在公司那是除了cto之外技術發展路線最高成就了!
原文地址:https://www.hu.com/question
F. java架構師培訓多久能學會
Java發展到一定程度,尤其是三五年這個時間節點都會遇到一個瓶頸,從這里道路分成兩個方向,要麼成為管理者,要麼朝著技術方向繼續開拓,兩者的終極分別對應著CTO和架構師!
最後說一下CTO和架構師
1.CTO
「CTO(首席技術官)英文Chief Technology Officer,即企業內負責技術的最高負責人。這個名稱在1980年代從美國開始時興。起於做很多研究的大公司,如General Electric,AT&T,ALCOA,主要責任是將科學研究成果成為盈利產品。1990年代,因計算機和軟體公司熱門,很多公司把CTO的名稱給予管理計算機系統和軟體的負責人。有時CTO和CIO(Chief Information Officer信息管理最高負責人)是同一個人(尤其在軟體公司),有時CTO歸於比較精通科學技術的CIO手下。在不同領域的公司,CTO工作性質不同;即使在同一領域,工作性質也可能大不相同。一般CTO會有以下責任:長期技術方向(戰略性)、短期技術方向(戰術性)、管理研究對公司經營活動和營利的影響、公司中使用的軟體等等。
在國內,CTO一般在IT企業中才有,是分管技術的副總,非IT企業大都設置總工程師、技術副總這樣的職位,例如在IT企業中,負責軟體開發的副總也叫CTO,而技術總監則不是CTO,總監只是部門的負責人,副總是企業的負責人。而CIO是分管IT的副總,例如分管企業IT管理的副總,或者分管信息化的副總。
在國內CTO通常是由軟體工程師(程序員)一步步成長起來的,而CIO通常是由IT工程師(網管)成長起來的,一個傾向於程序開發、一個傾向於IT管理。」
G. Java架構師要掌握哪些知識和框架
首先必須具有豐富的軟體設計與開發經驗,這有助於理解並解釋所進行的設計是如何映射到實現中去。
其次要具有領導能力與團隊協作技能,軟體架構師必須是一個得到承認的技術領導,能在關鍵時候對技術的選擇作出及時、有效的決定。
第三是具有很強的溝通能力,軟體架構師需要與各路人馬經常打交道,客戶、市場人員、開發人員、測試人員、項目經理、網路管理員、資料庫工程師等等,而且在很多角色之間還要起溝通者的作用。
一般來講,系統架構師應該擁有以下幾方面的能力:
1:具備 5-8 年以上軟體行業工作經驗;
2:具備 4 年以上 C/S 或 B/S 體系結構軟體產品開發及架構和設計經驗;
3:具備 3 年以上的代碼編寫工作經驗;
4:具備豐富的大中型開發項目的總體規劃、方案設計及技術隊伍管理經驗;
5:對相關的技術標准有深刻的認識,對軟體工程標准規范有良好的把握;
6:對 .Net/JAVA 技術及整個解決方案有深刻的理解及熟練的應用,並且精通WebService/J2EE 架構和設計模式,並在此基礎上設計產品框架;
7:具有面向對象分析、設計、開發能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟練使用 Rational Rose、PowerDesigner 等工具進行設計開發;
8:精通大型資料庫如 Oracle、Sql Server 等的開發;
9:對計算機系統、網路和安全、應用系統架構等有全面的認識,熟悉項目管理理論,並有實踐基礎;
10:在應用系統開發平台和項目管理上有深厚的基礎,有大中型應用系統開發和實施的成功案例;
11:良好的團隊意識和協作精神,有較強的內外溝通能力。
H. 眾所周知java程序員經常加班 小弟想問下成長為java架構師還需要加班嗎
加班與否與是不是java程序員或者架構師無關。
常規來講,項目需要,時間不夠的時候就需要加班。只不過相對於普通程序原來說,經驗豐富,能力強的人加班頻率小而已。不要把加班與職稱或者級別聯系在一起。能力越強責任也越大,無論什麼行業,都有加班的可能。
關鍵是自己的心態,如何看待加班。