Java面試題(外包公司)


 

 

  來深圳發展呢,開始了面試之旅,年底啦,可能機會並不多,本來自己也是個小菜鳥。聽說學Java的女生很少,我就去碰碰運氣啦。

2019年1月8號下午去噠

  這次面試去了一家外包公司,人事還是比較和氣噠,是個漂亮的小姐姐,沒有筆試,就直接去所謂的經理那里啦。

大概問了我這幾個問題

 

一、SpringMVC的執行流程?

 

1、客戶端將請求提交給DispatcherServlet

2、DispatcherServlet查詢一個或多個HanderMapping,找到處理請求的的Controller

3、DispatcherServlet將請求提交給Controller

4、Controller調用邏輯處理后,返回相應的ModelAndView

5、DispatcherServlet查詢一個或多個ViewResolver視圖解析器,找到ModelAndView指定的視圖

6、視圖解析器渲染后返回到客戶端

 

二、AOP原理

 

aop 面向切面編程  其底層原理就是動態代理,就是把我們程序重復的代碼抽取出來,在需要執行的時候,使用動態代理的技術,在不修改源碼的基礎上,對已有方法進行增強。

 

三、SpringBoot好處

 

使用Java或Groovy開發基於Spring的應用程序非常容易。

減少了大量的開發時間並提高了生產力。避免了編寫大量的樣板代碼,注釋和XML配置。

Spring Boot應用程序與其Spring生態系統集成非常容易。

遵循“自用默認配置”方法,以減少開發工作量。提供嵌入式HTTP服務器,如Tomcat,Jetty等,以開發和測試Web應用程序非常容易。

提供了許多插件來開發和測試Spring啟動應用程序非常容易使用構建工具,如Maven和Gradle。

提供了許多插件,以便與嵌入式和內存數據庫工作非常容易。

 

四、項目中常用注解

 

@Autowired -自動裝配

@Component -支持自動裝配

@Service -Service層實現

@Repository - DAO層實現

@Controller -Web層實現

 

五、Shiro框架重要組件

 

1、Subject - 本質就是當前訪問用戶的抽象描述

2、SecurityManager - Shiro架構中的核心組件,通過它可以協調其他組件完成用戶認證和授權

3、Realm - 定義了訪問數據的方式,用來連接不同的數據源

 

六、Redis支持的數據類型

 

string 、 list 、 set 、zset 、hash

 

七、Linux常用命令,啟動TomCat命令

 

ls - 查看目錄中文件

pwd - 顯示工作路徑

yum - list - 列出當前系統中安裝的所有包

yum clean all - 刪除所有緩存的包和頭文件 

date - 顯示日期

./startup.sh - 啟動TomCat

 

八、Mybatis分頁怎么實現

 

1、項目搭建完成后,引入pagehelper依賴

2、在Mybatis.xml里面配置攔截器插件

3、在mapper文件添加sql

4、dao添加對用方法(@Param)

5、Service添加分頁查詢方法,並實現實現類

 

九、SpringBoot怎么修改修改端口

 

在applicatoin.properties配置文件加入server.port = 修改的端口號

 

十、簡單談談單例模式

 

單例模式是最Java中簡單的設計模式之一,屬於創建型模式。模式提供一個單一的類,該類負責自己創建對象,並提供唯一的一個訪問方式

單例模式分為懶漢式和餓漢式,懶漢式在用到的時候才會去創建單例對象。餓漢式在程序啟動被加載時,單例模式就已經被創建。

 

十一、HashMap和Hashtable區別

 

- HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口

- 主要區別在於HashMap允許空(null)鍵值(key),由於非線程安全,效率上可能高Hashtable

- HashMap允許將null作為一個entry的key或者value,而Hashtable不允許

- 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是

 

十二、創建線程方式,有什么區別

 

第一種方式:使用Runnable接口創建線程

第二種方式:直接繼承Thread類創建對象

使用Runnable接口創建線程

1.可以將CPU,代碼和數據分開,形成清晰的模型

2.線程體run()方法所在的類可以從其它類中繼承一些有用的屬性和方法

3.有利於保持程序的設計風格一致

直接繼承Thread類創建對象

1.Thread子類無法再從其它類繼承(java語言單繼承)。

2.編寫簡單,run()方法的當前對象就是線程對象,可直接操作。
 

 

  嗯嗯,記得就這些了,還有一些項目相關的問題就不描述了。問的還是比較基礎的,可能不想懟我吧。

 
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM