java架构师_前谷歌高级Java架构师分享工作8年经验(如何成为一名架构师)
很多工作一定年限的程序員感覺(jué)自己到了瓶頸不知道怎么去突破,其實(shí)這個(gè)時(shí)候就要沖破傳說(shuō)中的架構(gòu)師。
架構(gòu)師是個(gè)很神秘人物,那么架構(gòu)師的技術(shù)一般在什么程度呢?怎樣才能被稱為架構(gòu)師?
技術(shù)深度
- 有沒(méi)有看過(guò)JDK源碼,看過(guò)的類實(shí)現(xiàn)原理是什么。
- HTTP協(xié)議
- TCP協(xié)議
- 一致性Hash算法
- JVM如何加載字節(jié)碼文件
- 類加載器如何卸載字節(jié)碼
- IO和NIO的區(qū)別,NIO優(yōu)點(diǎn)
- Java線程池的實(shí)現(xiàn)原理,keepAliveTime等參數(shù)的作用。
- HTTP連接池實(shí)現(xiàn)原理
- 數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn)原理
- 數(shù)據(jù)庫(kù)的實(shí)現(xiàn)原理
技術(shù)框架
- 看過(guò)哪些開(kāi)源框架的源碼
- 為什么要用Redis,Redis有哪些優(yōu)缺點(diǎn)?Redis如何實(shí)現(xiàn)擴(kuò)容?
- Netty是如何使用線程池的,為什么這么使用
- 為什么要使用Spring,Spring的優(yōu)缺點(diǎn)有哪些
- Spring的IOC容器初始化流程
- Spring的IOC容器實(shí)現(xiàn)原理,為什么可以通過(guò)byName和ByType找到Bean
- Spring AOP實(shí)現(xiàn)原理
- 消息中間件是如何實(shí)現(xiàn)的,技術(shù)難點(diǎn)有哪些
系統(tǒng)架構(gòu)
- 如何搭建一個(gè)高可用系統(tǒng)
- 哪些設(shè)計(jì)模式可以增加系統(tǒng)的可擴(kuò)展性
- 介紹設(shè)計(jì)模式,如模板模式,命令模式,策略模式,適配器模式、橋接模式、裝飾模式,觀察者模式,狀態(tài)式,訪問(wèn)者模式。
- 抽象能力,怎么提高研發(fā)效率。
- 什么是高內(nèi)聚低耦合,請(qǐng)舉例子如何實(shí)現(xiàn)
- 什么情況用接口,什么情況用消息
- 如果AB兩個(gè)系統(tǒng)互相依賴,如何解除依賴
- 如何寫一篇設(shè)計(jì)文檔,目錄是什么
- 什么場(chǎng)景應(yīng)該拆分系統(tǒng),什么場(chǎng)景應(yīng)該合并系統(tǒng)
- 系統(tǒng)和模塊的區(qū)別,分別在什么場(chǎng)景下使用
分布式系統(tǒng)
- 分布式事務(wù),兩階段提交。
- 如何實(shí)現(xiàn)分布式鎖
- 如何實(shí)現(xiàn)分布式Session
- 如何保證消息的一致性
- 負(fù)載均衡
- 正向代理(客戶端代理)和反向代理(服務(wù)器端代理)
- CDN實(shí)現(xiàn)原理
- 怎么提升系統(tǒng)的QPS和吞吐量
實(shí)戰(zhàn)能力
- 有沒(méi)有處理過(guò)線上問(wèn)題?出現(xiàn)內(nèi)存泄露,CPU利用率標(biāo)高,應(yīng)用無(wú)響應(yīng)時(shí)如何處理的。
- 開(kāi)發(fā)中有沒(méi)有遇到什么技術(shù)問(wèn)題?如何解決的
- 如果有幾十億的白名單,每天白天需要高并發(fā)查詢,晚上需要更新一次,如何設(shè)計(jì)這個(gè)功能。
- 新浪微博是如何實(shí)現(xiàn)把微博推給訂閱者
- Google是如何在一秒內(nèi)把搜索結(jié)果返回給用戶的。
- 12306網(wǎng)站的訂票系統(tǒng)如何實(shí)現(xiàn),如何保證不會(huì)票不被超賣。
- 如何實(shí)現(xiàn)一個(gè)秒殺系統(tǒng),保證只有幾位用戶能買到某件商品。
軟能力
- 如何學(xué)習(xí)一項(xiàng)新技術(shù),比如如何學(xué)習(xí)Java的,重點(diǎn)學(xué)習(xí)什么
- 有關(guān)注哪些新的技術(shù)
- 工作任務(wù)非常多非常雜時(shí)如何處理
- 項(xiàng)目出現(xiàn)延遲如何處理
- 和同事的設(shè)計(jì)思路不一樣怎么處理
- 如何保證開(kāi)發(fā)質(zhì)量
- 職業(yè)規(guī)劃是什么?短期,長(zhǎng)期目標(biāo)是什么
- 團(tuán)隊(duì)的規(guī)劃是什么
- 能介紹下從工作到現(xiàn)在自己的成長(zhǎng)在那里
總結(jié)一下:
- 表示層:spring mvc 3.1 + annotation
- 控制層:spring 3.1
- 持久層:hibernate 3.6 +jdbcTemplate
- 后臺(tái)列表控件:displaytag 1.2
- Ajax框架: DWR 3
- JS框架 : Jquery
- 緩存機(jī)制:spring 3.1 cache + ehcache/memcached
- 靜態(tài)化機(jī)制: Freemarker靜態(tài)化/spring mvc偽靜態(tài)化
- 頁(yè)面技術(shù): EL + JSTL +JSP
- 安全框架 spring security
- 搜索引擎: Lucene
- 中文分詞:IKAnalyzer
- 模板引擎: apache tiles 2.22
- Linux、nginx、php、mysql,幾乎是標(biāo)配
- 部署視圖所需:
- 數(shù)據(jù)庫(kù): mysql
- Web 服務(wù)器: windows 下用apache, linux 下用ngnix
- 應(yīng)用服務(wù)器: Tomcat Jboss,tomcat,weblogic
想成為架構(gòu)師不是懂了一大堆技術(shù)就可以了,這些是解決問(wèn)題的基礎(chǔ)、是工具,不懂這些怎么去提解決方案呢?這是成為架構(gòu)師的必要條件。
架構(gòu)師還要針對(duì)業(yè)務(wù)特點(diǎn)、系統(tǒng)的性能要求提出能解決問(wèn)題成本最低的設(shè)計(jì)方案才合格,人家一個(gè)幾百人用戶的系統(tǒng),訪問(wèn)量不大,數(shù)據(jù)量小,你給人家上集群、上分布式存儲(chǔ)、上高端服務(wù)器為了架構(gòu)而架構(gòu),這是最扯淡的,架構(gòu)師的作用就是第一滿足業(yè)務(wù)需求,第二最低的硬件網(wǎng)絡(luò)成本和技術(shù)維護(hù)成本。
架構(gòu)師還要根據(jù)業(yè)務(wù)發(fā)展階段,提前預(yù)見(jiàn)發(fā)展到下一個(gè)階段系統(tǒng)架構(gòu)的解決方案,并且設(shè)計(jì)當(dāng)前架構(gòu)時(shí)將架構(gòu)的升級(jí)擴(kuò)展考慮進(jìn)去,做到易于升級(jí);否則等系統(tǒng)瓶頸來(lái)了,出問(wèn)題了再去出方案,或現(xiàn)有架構(gòu)無(wú)法擴(kuò)展直接扔掉重做,或擴(kuò)展麻煩問(wèn)題一大堆,這會(huì)對(duì)企業(yè)造成損失。
成為架構(gòu)師需要時(shí)間的積累的,不但要知其然還要知其所以然。平時(shí)的一點(diǎn)一滴你感覺(jué)不到特別用處,但某天你會(huì)發(fā)現(xiàn)所有東西都沒(méi)有白學(xué)的。
據(jù)不完全統(tǒng)計(jì),截至目前(2017.07)為止,中國(guó)Java程序員的數(shù)量已經(jīng)超過(guò)了1000萬(wàn)。而且,隨著IT培訓(xùn)業(yè)的持續(xù)發(fā)展和大量的應(yīng)屆畢業(yè)生進(jìn)入社會(huì),Java程序員面臨的競(jìng)爭(zhēng)壓力越來(lái)越大。那么,作為一名Java程序員,怎樣努力才能快速成長(zhǎng)為一名高級(jí)的程序員或者架構(gòu)師,或者說(shuō)一名優(yōu)秀的高級(jí)工程師或架構(gòu)師應(yīng)該有怎樣的技術(shù)知識(shí)體系,這不僅是一個(gè)剛剛踏入職場(chǎng)的初級(jí)程序員,也是工作三五年之后開(kāi)始迷茫的老程序員,都必須要面對(duì)和想明白的問(wèn)題。為了幫助大家少走彎路,我們總結(jié)出一個(gè)Java程序員的工作2-5年成長(zhǎng)路線圖。
作為一名合格的架構(gòu)師,必須懂各種網(wǎng)絡(luò)產(chǎn)品及特性,懂各種中間件,能夠知道坑在哪兒,深諳各種技術(shù)方案的優(yōu)缺點(diǎn),懂整合各種資源并達(dá)到最優(yōu)…了解各種技術(shù)及應(yīng)用場(chǎng)景,有足夠的工作經(jīng)驗(yàn)解決集成中遇到的各種奇葩問(wèn)題。
?我特意整理了一下,有很多問(wèn)題不是靠幾句話能講清楚,所以干脆找朋友錄制了一些視頻,希望能幫助這個(gè)階段的Java程序員。很多問(wèn)題其實(shí)答案很簡(jiǎn)單,但是背后的思考和邏輯不簡(jiǎn)單,要做到知其然還要知其所以然。如果想學(xué)習(xí)Java工程化、高性能及分布式、高性能、深入淺出。性能調(diào)優(yōu)、Spring,MyBatis,Netty源碼分析的朋友可以關(guān)注我,私信回復(fù)“架構(gòu)資料”獲取架構(gòu)進(jìn)階學(xué)習(xí)資料。
總結(jié)
以上是生活随笔為你收集整理的java架构师_前谷歌高级Java架构师分享工作8年经验(如何成为一名架构师)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: adobe flash player p
- 下一篇: 充电桩用什么写软件_充电桩云平台是什么?