更新時(shí)間:2019-10-12 09:37:04 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽9759次
今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家分享22Java架構(gòu)師面試題及答案,希望通過(guò)此文能夠幫助到大家,下面就隨小編一起來(lái)看看Java架構(gòu)師面試題及答案吧。
1、你認(rèn)為項(xiàng)目中最重要的過(guò)程是那些?
分析、設(shè)計(jì)階段 盡量找出進(jìn)度的優(yōu)先級(jí)
2、如果給你一個(gè)4-6人的team,怎么分配?
挑選一技術(shù)過(guò)硬的人作為我的替補(bǔ)。其它人平均分配任務(wù),每周進(jìn)行全面的任務(wù)分配,每個(gè)人領(lǐng)取一周的工作量,每天匯報(bào)進(jìn)度。
3、簡(jiǎn)述軟件開發(fā)文檔?
需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、操作手冊(cè)、測(cè)試計(jì)劃
4、你認(rèn)為一個(gè)項(xiàng)目如何才正確?
是企業(yè)利益最大化。
5、你經(jīng)常讀那些書?
Java編程思想 Java模式
6、springmvc的工作原理?
客戶端請(qǐng)求提交到DispacherServlet由DispacherServlet控制器查詢HandlerMapping,找到處理請(qǐng)求的Controller
Controller調(diào)用業(yè)務(wù)邏輯處理后,返回ModelAndView
DispacherServlet查詢視圖解析,找到ModelAndView指定的視圖
視圖負(fù)責(zé)將結(jié)果顯示到客戶端
7、springmvc 和struts2的區(qū)別?
機(jī)制 :springmvc 的入口是servlet,struts2的入口是filter
性能 : springmvc 會(huì)比struts2快一點(diǎn)。springmvc是基于方法設(shè)計(jì),struts2是基于類,每次發(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開發(fā)效率要高、
8、struts2工作原理?
客戶端初始化一個(gè)執(zhí)行servlet的請(qǐng)求
這個(gè)請(qǐng)求經(jīng)過(guò)一系列的過(guò)濾器,被FilterDispatcher調(diào)用,詢問(wèn)ActionMapper來(lái)決定是否調(diào)用Action
FilterDispatcher把請(qǐng)求的處理交給ActionProxy
ActionProxy通過(guò)Configuraction Manager詢問(wèn)相關(guān)的配置文件,找到需要的Action類
ActionProxy創(chuàng)建ActionInvocation的實(shí)例
ActionInvocation調(diào)用Action前后的攔截器
Action執(zhí)行完畢后,根據(jù)struts、xml配置文件找到對(duì)應(yīng)的視圖頁(yè)面
9、Hibernate 工作原理?
讀取并解析配置文件
創(chuàng)建SessionFactory
打開Session
創(chuàng)建事務(wù):transaction
持久化操作
提交事務(wù)
關(guān)閉Session
關(guān)閉SessionFactory
10、為什么要用spring?
spring能夠很好的和各大框架整合
spring 通過(guò)IOC容器管理了對(duì)象的創(chuàng)建和銷毀 工廠模式
在使用hiberna,mybatis的時(shí)候,不用每次都編寫提交的事務(wù)的代碼,可以使用spring的AOP來(lái)管理事務(wù) AOP其實(shí)就是一個(gè)動(dòng)態(tài)代理的實(shí)現(xiàn)
聲明式事務(wù)和編程式事務(wù)
11、mybatis的優(yōu)缺點(diǎn)?
優(yōu)點(diǎn):SQL寫在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)
12、談?wù)凷SH整合?
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è)整合的框架,能夠很好的黏合表示層和持久層。
13、maven是什么?有什么作用?
是一個(gè)項(xiàng)目管理、構(gòu)建工具
作用:幫助下載jar 尋找依賴,幫助下載依賴 熱部署、熱編譯
14、WEB 前端優(yōu)化?
減少HTTP請(qǐng)求的數(shù)量(合并css、js、圖片)
利用瀏覽器的緩存機(jī)制
利用GZIP壓縮機(jī)制:只針對(duì)文本類資源有效
把CSS文件放在HTML開頭
把javascript文件放在HTML結(jié)尾
避免CSS表達(dá)式(判斷瀏覽器)
使用javascript壓縮
減少DNS查找
避免重定向
使用ajax
15、安全性測(cè)試
利用安全性測(cè)試技術(shù),找到潛在的漏洞
16、事務(wù)隔離級(jí)別(4種)
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ù)沒有提交的新插入的記錄的更新,而且能看其它事務(wù)沒有提交到對(duì)已有記錄的更新
17、MYSQL存儲(chǔ)引擎(4種)
MyISAM它不支持事務(wù),也不支持外鍵,尤其是訪問(wèn)速度快,對(duì)事務(wù)完整性沒有要求或者以SELECT、INSERT為主的應(yīng)用基本都可以使用這個(gè)引擎來(lái)創(chuàng)建表。
每個(gè)MyISAM在磁盤上存儲(chǔ)成3個(gè)文件,其中文件名和表名都相同,但是擴(kuò)展名分別為:、frm(存儲(chǔ)表定義) ,YD(MYData,存儲(chǔ)數(shù)據(jù)) , MYI(MYIndex,存儲(chǔ)索引),InnoDB,InnoDB存儲(chǔ)引擎提供了具有提交、回滾和崩潰恢復(fù)能力的事務(wù)安全。但是對(duì)比MyISAM的存儲(chǔ)引擎,InnoDB寫的處理效率差一些并且會(huì)占用更多的磁盤空間以保留數(shù)據(jù)和索引。
(1)自動(dòng)增長(zhǎng)列
(2)外鍵約束
MEMORY
memory使用存在內(nèi)存中的內(nèi)容來(lái)創(chuàng)建表。每個(gè)MEMORY表實(shí)際對(duì)應(yīng)一個(gè)磁盤文件,格式是、frm。MEMORY類型的表訪問(wèn)非常快,因?yàn)樗綌?shù)據(jù)是放在內(nèi)存中的,并且默認(rèn)使用HASH索引,但是一旦服務(wù)器關(guān)閉,表中的數(shù)據(jù)就會(huì)丟失,但表還會(huì)繼續(xù)存在。
MERGE
merge存儲(chǔ)引擎是一組MyISAM表的組合,這些MyISAM表結(jié)構(gòu)必須完全相同,MERGE表中并沒有數(shù)據(jù),對(duì)MERGE類型的表可以進(jìn)行查詢、更新、刪除的操作,這些操作實(shí)際上是對(duì)內(nèi)部的MyISAM表進(jìn)行操作。
18、事務(wù)傳播特性
1、 PROPAGATION_REQUIRED: 如果存在一個(gè)事務(wù),則支持當(dāng)前事務(wù)。如果沒有事務(wù)則開啟
2、 PROPAGATION_SUPPORTS: 如果存在一個(gè)事務(wù),支持當(dāng)前事務(wù)。如果沒有事務(wù),則非事務(wù)的執(zhí)行
3、 PROPAGATION_MANDATORY: 如果已經(jīng)存在一個(gè)事務(wù),支持當(dāng)前事務(wù)。如果沒有一個(gè)活動(dòng)的事務(wù),則拋出異常。
4、 PROPAGATION_REQUIRES_NEW: 總是開啟一個(gè)新的事務(wù)。如果一個(gè)事務(wù)已經(jīng)存在,則將這個(gè)存在的事務(wù)掛起。
5、 PROPAGATION_NOT_SUPPORTED: 總是非事務(wù)地執(zhí)行,并掛起任何存在的事務(wù)。
6、 PROPAGATION_NEVER: 總是非事務(wù)地執(zhí)行,如果存在一個(gè)活動(dòng)事務(wù),則拋出異常
7、 PROPAGATION_NESTED:如果一個(gè)活動(dòng)的事務(wù)存在,則運(yùn)行在一個(gè)嵌套的事務(wù)中、 如果沒有活動(dòng)事務(wù),
19、TCP協(xié)議(傳輸控制協(xié)議Transmission Control Protocol )
建立鏈接:三次握手(1、給對(duì)方撥號(hào) 2、喂,您好,請(qǐng)問(wèn)是哪位 3 我是小劉)
關(guān)閉鏈接:四次揮手保證可靠
20、shiro 是什么
Apache Shiro 是一個(gè)強(qiáng)大易用的java安全框架,提供了認(rèn)證、授權(quán)、加密和會(huì)話管理等功能。
認(rèn)證 :驗(yàn)證用戶來(lái)核實(shí)他們的身份
授權(quán):會(huì)話管理
21、 項(xiàng)目技術(shù)
前臺(tái):面向的客戶
前端:css div js jquery
后端:springmvc spring mybatis
使用的優(yōu)化技術(shù):
(1)頁(yè)面靜態(tài)化(Freemarker)
(2)緩存
1) 頁(yè)面緩存(OSCache)
2)分布式緩存(memcached)
(3) 圖片分離(服務(wù)器)
(4)負(fù)載均衡(解決高并發(fā)終極策略)
后臺(tái):(管理對(duì)象)
前端:css html js jquery
后端:springmvc spring mybatis
數(shù)據(jù)庫(kù):mysql
圖片分離框架:jersey
22、什么RESTful(表現(xiàn)層狀態(tài)轉(zhuǎn)化)架構(gòu)?
(1)每一個(gè)URI代表一種資源;
(2)客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;
(3)客戶端通過(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)小編分享的“22道Java架構(gòu)師面試題及答案”的內(nèi)容,希望對(duì)大家有幫助,更多java架構(gòu)師面試題請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)java架構(gòu)師面試題推薦
Java架構(gòu)師面試題全集:基礎(chǔ)+框架+架構(gòu)
Java架構(gòu)師面試:遇到答不上的問(wèn)題怎么應(yīng)對(duì)?
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743