Java架構師常見基礎面試題(附答案)

隨著每日確診病例人數的減少以及治癒患者人數增多,隨著這場抗“疫”戰爭即將以勝利告終,接踵而來的是企業復工、金三銀四求職高峰季的來臨。有很多Java工程師想要把握住這個機會,實現升職加薪、成為Java架構師。但你知道企業在招聘面試時會提問什麼嗎?接下來千鋒廣州Java小編就給大家分享一些基礎面試題答疑。

Java架構師常見基礎面試題(附答案)

1、什麼是Spring框架?Spring框架有哪些主要模塊?

Spring框架是一個為Java應用程序的開發提供了綜合、廣泛的基礎性支持的Java平臺。Spring幫助開發者解決了開發中基礎性的問題,使得開發人員可以專注於應用程序的開發。Spring框架至今已集成了20多個模塊。這些模塊主要被分如下圖所示的核心容器、數據訪問/集成,、Web、AOP(面向切面編程)、工具、消息和測試模塊。

2、SpringMVC工作原理?

1)客戶端發送請求到DispatcherServlet

2)DispatcherServlet查詢handlerMapping找到處理請求的Controller

3)Controller調用業務邏輯後,返回ModelAndView

4)DispatcherServlet查詢ModelAndView,找到指定視圖

5)視圖將結果返回到客戶端

3、講下MyBatis的緩存

MyBatis的緩存分為一級緩存和二級緩存,一級緩存放在session裡面,默認就有,二級緩存放在它的命名空間裡,默認是不打開的,使用二級緩存屬性類需要實現Serializable序列化接口(可用來保存對象的狀態),可在它的映射文件中配置。

4、簡述Mybatis的插件運行原理,以及如何編寫一個插件?

1)Mybatis僅可以編寫針對ParameterHandler、ResultSetHandler、StatementHandler、Executor這4種接口的插件,Mybatis通過動態代理,為需要攔截的接口生成代理對象以實現接口方法攔截功能,每當執行這4種接口對象的方法時,就會進入攔截方法,具體就是InvocationHandler的invoke()方法,當然,只會攔截那些你指定需要攔截的方法。

2)實現Mybatis的Interceptor接口並複寫intercept()方法,然後在給插件編寫註解,指定要攔截哪一個接口的哪些方法即可,記住,別忘了在配置文件中配置你編寫的插件。

5、springmvc和struts2的區別?

機制:springmvc的入口是servlet,struts2的入口是filter。

性能:springmvc會比struts2快一點。springmvc是基於方法設計,struts2是基於類,每次發一次請求都會實例一個action,每個Action都會被注入屬性。

參數傳遞:struts2是在接受參數的時候,可以採用屬性來接收參數,這家說明可以讓多個方法共享。

攔截器機制:struts2有自己的interceptor機制,springmvc用的是獨立的AOP方式,strtus2的配置文件還是比springmvc大,springmvc使用簡潔,springMVC比struts2開發效率要高。

6、談談SSH整合?

struts(表示層)+spring(業務層)+hibernate(持久層)

struts是一個表示層的框架,主要用於接收請求,分發請求。struts其實屬於MVC中的VC層次的;

hibernate是一個持久層的框架,主要負責與關係數據庫的操作;

spring是一個業務層的框架,是一個整合的框架,能夠很好的黏合表示層和持久層。

以上就是今天千鋒廣州Java小編給大家分享的內容,希望對大家有幫助哦!


分享到:


相關文章: