不少工做必定年限的程序員感受本身到了瓶頸不知道怎麼去突破,其實這個時候就要衝破傳說中的架構師。php
架構師是個很神祕人物,那麼架構師的技術通常在什麼程度呢?怎樣才能被稱爲架構師?mysql
技術深度linux
-
有沒有看過JDK源碼,看過的類實現原理是什麼。nginx
-
HTTP協議程序員
-
TCP協議web
-
一致性Hash算法算法
-
JVM如何加載字節碼文件spring
-
類加載器如何卸載字節碼sql
-
IO和NIO的區別,NIO優勢數據庫
-
Java線程池的實現原理,keepAliveTime等參數的做用。
-
HTTP鏈接池實現原理
-
數據庫鏈接池實現原理
-
數據庫的實現原理
技術框架
-
看過哪些開源框架的源碼
-
爲何要用Redis,Redis有哪些優缺點?Redis如何實現擴容?
-
Netty是如何使用線程池的,爲何這麼使用
-
爲何要使用Spring,Spring的優缺點有哪些
-
Spring的IOC容器初始化流程
-
Spring的IOC容器實現原理,爲何能夠經過byName和ByType找到Bean
-
Spring AOP實現原理
-
消息中間件是如何實現的,技術難點有哪些
系統架構
-
如何搭建一個高可用系統
-
哪些設計模式能夠增長系統的可擴展性
-
介紹設計模式,如模板模式,命令模式,策略模式,適配器模式、橋接模式、裝飾模式,觀察者模式,狀態式,訪問者模式。
-
抽象能力,怎麼提升研發效率。
-
什麼是高內聚低耦合,請舉例子如何實現
-
什麼狀況用接口,什麼狀況用消息
-
若是AB兩個系統互相依賴,如何解除依賴
-
如何寫一篇設計文檔,目錄是什麼
-
什麼場景應該拆分系統,什麼場景應該合併系統
-
系統和模塊的區別,分別在什麼場景下使用
分佈式系統
-
分佈式事務,兩階段提交。
-
如何實現分佈式鎖
-
如何實現分佈式Session
-
如何保證消息的一致性
-
負載均衡
-
正向代理(客戶端代理)和反向代理(服務器端代理)
-
CDN實現原理
-
怎麼提高系統的QPS和吞吐量
實戰能力
-
有沒有處理過線上問題?出現內存泄露,CPU利用率標高,應用無響應時如何處理的。
-
開發中有沒有遇到什麼技術問題?如何解決的
-
若是有幾十億的白名單,天天白天須要高併發查詢,晚上須要更新一次,如何設計這個功能。
-
新浪微博是如何實現把微博推給訂閱者
-
Google是如何在一秒內把搜索結果返回給用戶的。
-
12306網站的訂票系統如何實現,如何保證不會票不被超賣。
-
如何實現一個秒殺系統,保證只有幾位用戶能買到某件商品。
軟能力
-
如何學習一項新技術,好比如何學習Java的,重點學習什麼
-
有關注哪些新的技術
-
工做任務很是多很是雜時如何處理
-
項目出現延遲如何處理
-
和同事的設計思路不同怎麼處理
-
如何保證開發質量
-
職業規劃是什麼?短時間,長期目標是什麼
-
團隊的規劃是什麼
-
能介紹下從工做到如今本身的成長在那裏
總結一下:
-
表示層:spring mvc 3.1 + annotation
-
控制層:spring 3.1
-
持久層:hibernate 3.6 +jdbcTemplate
-
後臺列表控件:displaytag 1.2
-
Ajax框架: DWR 3
-
JS框架 : Jquery
-
緩存機制:spring 3.1 cache + ehcache/memcached
-
靜態化機制: Freemarker靜態化/spring mvc僞靜態化
-
頁面技術: EL + JSTL +JSP
-
安全框架 spring security
-
搜索引擎: Lucene
-
中文分詞:IKAnalyzer
-
模板引擎: apache tiles 2.22
-
Linux、nginx、php、mysql,幾乎是標配
-
部署視圖所需:
-
數據庫: mysql
-
Web 服務器: windows 下用apache, linux 下用ngnix
-
應用服務器: Tomcat Jboss,tomcat,weblogic
想成爲架構師不是懂了一大堆技術就能夠了,這些是解決問題的基礎、是工具,不懂這些怎麼去提解決方案呢?這是成爲架構師的必要條件。
架構師還要針對業務特色、系統的性能要求提出能解決問題成本最低的設計方案才合格,人家一個幾百人用戶的系統,訪問量不大,數據量小,你給人家上集羣、上分佈式存儲、上高端服務器爲了架構而架構,這是最扯淡的,架構師的做用就是第一知足業務需求,第二最低的硬件網絡成本和技術維護成本。
架構師還要根據業務發展階段,提早預見發展到下一個階段系統架構的解決方案,而且設計當前架構時將架構的升級擴展考慮進去,作到易於升級;不然等系統瓶頸來了,出問題了再去出方案,或現有架構沒法擴展直接扔掉重作,或擴展麻煩問題一大堆,這會對企業形成損失。
下面是總結出的一個腦圖:
源碼分析
分佈式架構
微服務架構