這裡為大家分享一些面試的一手資料,供大家迎接接下來的金三銀四跳槽季
Spring
Spring 概述
什麼是spring?
使用Spring框架的好處是什麼?
Spring由哪些模組組成?
解釋AOP模組
Spring配置檔案
什麼是Spring IOC 容器?
依賴注入
什麼是Spring的依賴注入?
有哪些不同型別的IOC(依賴注入)方式?
哪種依賴注入方式你建議使用,構造器注入,還是 Setter方法注入?
Spring Beans
什麼是Spring beans?一個 Spring Bean 定義 包含什麼?
如何給Spring 容器提供配置後設資料?
你怎樣定義類的作用域?
解釋Spring支援的幾種bean的作用域
解釋Spring框架中bean的生命週期
在 Spring中如何注入一個java集合?
什麼是bean裝配?什麼是bean的自動裝配?
解釋不同方式的自動裝配
Spring註解
什麼是基於Java的Spring註解配置? 給一些註解的例子
什麼是基於註解的容器配置?
怎樣開啟註解裝配?
@Required 註解、@Autowired 註解、@Qualifier 註解
Spring資料訪問
在Spring框架中如何更有效地使用JDBC?
JdbcTemplate
使用Spring通過什麼方式訪問Hibernate?
如何通過HibernateDaoSupport將Spring和Hibernate結合起來?
Spring框架的事務管理有哪些優點?
你更傾向用那種事務管理型別?
Spring面向切面程式設計(AOP)
解釋AOP
Aspect 切面
在Spring AOP 中,關注點和橫切關注的區別是什麼?
什麼是引入?什麼是目標物件?什麼是代理?
有幾種不同型別的自動代理?
什麼是織入。什麼是織入應用的不同點?
解釋基於XML Schema方式的切面實現
解釋基於註解的切面實現
Spring 的MVC
什麼是Spring的MVC框架?
DispatcherServlet
WebApplicationContext
什麼是Spring MVC框架的控制器?
@Controller 註解、@RequestMapping 註解
Redis
什麼是Redis?
Redis相比memcached有哪些優勢?
Redis支援哪幾種資料型別?
Redis主要消耗什麼物理資源?
Redis的全稱是什麼?
Redis有哪幾種資料淘汰策略?
Redis叢集方案應該怎麼做?都有哪些方案?
Redis有哪些適合的場景?
Redis支援的Java客戶端都有哪些?官方推薦用哪個?
Redis回收程式如何工作的?
你知道有哪些Redis分割槽實現方案?
Redis分割槽有什麼缺點?
Redis持久化資料和快取怎麼做擴容?
分散式Redis是前期做還是後期規模上來了再做好?為什麼?
Redis與其他key-value儲存有什麼不同?
Redis的記憶體佔用情況怎麼樣?
Redis常見效能問題和解決方案?
Redis提供了哪幾種持久化方式?
如何選擇合適的持久化方式?
修改配置不重啟Redis會實時生效嗎?
MyBatis
#{}和${}的區別是什麼?
通常一個Xml對映檔案,都會寫一個Dao介面與之對應,請問,這個Dao介面的工作原理是什麼?Dao介面裡的方法,引數不同時,方法能過載嗎?
Mybatis是如何進行分頁的?分頁外掛的原理是什麼?
Mybatis是如何將sql執行結果封裝為目標物件並返回的?都有哪些對映形式?
Xml對映檔案中,除了常見的select|insert|update|delete標籤之外,還有哪些標籤?
簡述Mybatis的外掛執行原理,以及如何編寫一個外掛
一級、二級快取
Mybatis是否支援延遲載入?如果支援,它的實現原理是什麼?
Mybatis對映檔案中,如果A標籤通過include引用了B標籤的內容,請問,B標籤能否定義在A標籤的後面,還是說必須定義在A標籤的前面?
簡述Mybatis的Xml對映檔案和Mybatis內部資料結構之間的對映關係?
MySQL
一張表,裡面有ID自增主鍵,當insert了17條記錄之後,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?
Mysql的技術特點是什麼?
Heap表是什麼?
Mysql伺服器預設埠是什麼?
如何區分FLOAT和DOUBLE?
區分CHAR_LENGTH和LENGTH?
請簡潔描述Mysql中InnoDB支援的四種事務隔離級別名稱,以及逐級之間的區別?
在Mysql中ENUM的用法是什麼?
如何定義REGEXP?
CHAR和VARCHAR的區別?
Mysql查詢是否區分大小寫?
Mysql中有哪些不同的表格?
什麼樣的物件可以使用CREATE語句建立?
什麼是通用SQL函式?
MYSQL支援事務嗎?
mysql裡記錄貨幣用什麼欄位型別好
Mysql中有哪幾種鎖?
MYSQL資料庫伺服器效能分析的方法命令有哪些?
多執行緒
多執行緒有什麼用?
建立執行緒的方式
start()方法和run()方法的區別
Runnable介面和Callable介面的區別
CyclicBarrier和CountDownLatch的區別
volatile關鍵字的作用
什麼是執行緒安全
Java中如何獲取到執行緒dump檔案
怎麼檢測一個執行緒是否持有物件監視器
ConcurrentHashMap的併發度是什麼
Linux環境下如何查詢哪個執行緒使用CPU最長
Java程式設計寫一個會導致死鎖的程式
什麼是Java記憶體模型
什麼是樂觀鎖和悲觀鎖
高併發、任務執行時間短的業務怎樣使用執行緒池?併發不高、任務執行時間長的業務怎樣使用執行緒池?併發高、業務執行時間長的業務怎樣使用執行緒池?
沒答案?怎麼可能,光給面試題不給答案不是我的風格。這裡面的面試題也只是鳳毛麟角,還有答案的話會極大的增加文章的篇幅,減少文章的可讀性。
最後
最後就是面試題及答案的獲取方式,也為大家提供一個學習交流的平臺:878249276。針對於上面的面試題我總結出了網際網路公司java程式設計師面試涉及到的絕大部分面試題及答案做成了文件和架構視訊資料免費分享給大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分散式、高併發等架構技術資料),希望能幫助到您面試前的複習且找到一個好的工作,也節省大家在網上搜尋資料的時間來學習