更新時(shí)間:2020-06-16 11:34:46 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3869次
java架構(gòu)師是碼農(nóng)們所向往的,成為java架構(gòu)師以后在薪資水平上也會(huì)有很大提升,企業(yè)在招聘架構(gòu)師的時(shí)候也會(huì)出一些java面試題,動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編就為大家準(zhǔn)備了一份java架構(gòu)師面試題匯總,希望對(duì)大家能夠有些幫助。

分析、設(shè)計(jì)階段 盡量找出進(jìn)度的優(yōu)先級(jí)
挑選一技術(shù)過(guò)硬的人作為我的替補(bǔ)。其它人平均分配任務(wù),每周進(jìn)行全面的任務(wù)分配,每個(gè)人領(lǐng)取一周的工作量,每天匯報(bào)進(jìn)度。
需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、操作手冊(cè)、測(cè)試計(jì)劃
是企業(yè)利益最大化。
客戶(hù)端請(qǐng)求提交到DispacherServlet由DispacherServlet控制器查詢(xún)HandlerMapping,找到處理請(qǐng)求的Controller
Controller調(diào)用業(yè)務(wù)邏輯處理后,返回ModelAndView
DispacherServlet查詢(xún)視圖解析,找到ModelAndView指定的視圖
機(jī)制 :springmvc 的入口是servlet,struts2的入口是filter
性能 : springmvc 會(huì)比struts2快一點(diǎn)。springmvc是基于方法設(shè)計(jì),struts2是基于類(lèi),每次發(fā)一次請(qǐng)求都會(huì)實(shí)例一個(gè)action,每個(gè)Action都會(huì)被注入屬性。
參數(shù)傳遞:struts2是在接受參數(shù)的時(shí)候,可以采用屬性來(lái)接收參數(shù),這家說(shuō)明可以讓多個(gè)方法共享攔截器機(jī)制:struts2有自己的interceptor機(jī)制,springmvc用的是獨(dú)立的AOP方式,strtus2的配置文件還是比springmvc大,springmvc使用簡(jiǎn)潔,springMVC比struts2開(kāi)發(fā)效率要高。
客戶(hù)端初始化一個(gè)執(zhí)行servlet的請(qǐng)求
這個(gè)請(qǐng)求經(jīng)過(guò)一系列的過(guò)濾器,被FilterDispatcher調(diào)用,詢(xún)問(wèn)ActionMapper來(lái)決定是否調(diào)用Action
FilterDispatcher把請(qǐng)求的處理交給ActionProxy
ActionProxy通過(guò)Configuraction Manager詢(xún)問(wèn)相關(guān)的配置文件,找到需要的Action類(lèi)
ActionProxy創(chuàng)建ActionInvocation的實(shí)例
ActionInvocation調(diào)用Action前后的攔截器
Action執(zhí)行完畢后,根據(jù)struts.xml配置文件找到對(duì)應(yīng)的視圖頁(yè)面
讀取并解析配置文件
創(chuàng)建SessionFactory
打開(kāi)Session
創(chuàng)建事務(wù):transaction
持久化操作
提交事務(wù)
關(guān)閉Session
關(guān)閉SessionFactory
spring能夠很好的和各大框架整合
spring 通過(guò)IOC容器管理了對(duì)象的創(chuàng)建和銷(xiāo)毀 工廠模式
在使用hiberna,mybatis的時(shí)候,不用每次都編寫(xiě)提交的事務(wù)的代碼,可以使用spring的AOP來(lái)管理事務(wù) AOP其實(shí)就是一個(gè)動(dòng)態(tài)代理的實(shí)現(xiàn)
聲明式事務(wù)和編程式事務(wù)
優(yōu)點(diǎn):SQL寫(xiě)在XML中,便于統(tǒng)一管理和優(yōu)化
提供映射標(biāo)簽,支持對(duì)象和數(shù)據(jù)庫(kù)的orm字段關(guān)系映射
可以對(duì)SQL進(jìn)行優(yōu)化
缺點(diǎn): SQL工作量大
mybagtis移植姓不好
不支持級(jí)聯(lián)
struts(表示層)+spring(業(yè)務(wù)層)+hibernate(持久層)
struts是一個(gè)表示層的框架,主要用于接收請(qǐng)求,分發(fā)請(qǐng)求。struts其實(shí)屬于MVC中的VC層次的hibernate是一個(gè)持久層的框架,主要負(fù)責(zé)與關(guān)系數(shù)據(jù)庫(kù)的操作spring是一個(gè)業(yè)務(wù)層的框架,是一個(gè)整合的框架,能夠很好的黏合表示層和持久層。
是一個(gè)項(xiàng)目管理、構(gòu)建工具
作用:幫助下載jar 尋找依賴(lài),幫助下載依賴(lài) 熱部署、熱編譯
減少HTTP請(qǐng)求的數(shù)量(合并css、js、圖片)
利用瀏覽器的緩存機(jī)制
利用GZIP壓縮機(jī)制:只針對(duì)文本類(lèi)資源有效
把CSS文件放在HTML開(kāi)頭
把javascript文件放在HTML結(jié)尾
避免CSS表達(dá)式(判斷瀏覽器)
使用javascript壓縮
減少DNS查找
避免重定向
使用ajax
利用安全性測(cè)試技術(shù),找到潛在的漏洞
Serializable(串行化):一個(gè)事務(wù)在執(zhí)行過(guò)程中完全看不到其他事物對(duì)數(shù)據(jù)庫(kù)所做的更新(事務(wù)執(zhí)行的時(shí)候不允許別的事務(wù)并發(fā)執(zhí)行,事務(wù)只能一個(gè)接著一個(gè)地執(zhí)行,而不能并發(fā)執(zhí)行)
Repeatable Read(可重復(fù)讀):一個(gè)事務(wù)在執(zhí)行過(guò)程中可以看到其它事務(wù)已經(jīng)提交的新插入的記錄,但是不能看到其它事務(wù)對(duì)已有記錄的更新
Read Commited(讀已提交數(shù)據(jù)):一個(gè)事務(wù)在執(zhí)行過(guò)程中可以看到其它事務(wù)已經(jīng)提交的新插入的記錄,而且能看到其它事務(wù)已經(jīng)提交的對(duì)已有記錄的更新。
Read Uncommitted(讀未提交數(shù)據(jù)):一個(gè)事務(wù)在執(zhí)行過(guò)程中可以看到其它事務(wù)沒(méi)有提交的新插入的記錄的更新,而且能看其它事務(wù)沒(méi)有提交到對(duì)已有記錄的更新
建立鏈接:三次握手(1.給對(duì)方撥號(hào) 2.喂,您好,請(qǐng)問(wèn)是哪位 3 我是小劉)
關(guān)閉鏈接:四次揮手保證可靠
(1)每一個(gè)URI代表一種資源;
(2)客戶(hù)端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;
(3)客戶(hù)端通過(guò)四個(gè)HTTP動(dòng)詞,對(duì)服務(wù)器端資源進(jìn)行操作,實(shí)現(xiàn)"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“java架構(gòu)師面試題匯總”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)