2019BATJ面試題彙總詳解:MyBatis+MySQL+Spring+Redis+多線程

這裏爲你們分享一些面試的一手資料,供你們迎接接下來的金三銀四跳槽季java

Spring

Spring 概述

什麼是spring?mysql

使用Spring框架的好處是什麼?程序員

Spring由哪些模塊組成?面試

解釋AOP模塊spring

Spring配置文件sql

什麼是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內存模型

什麼是樂觀鎖和悲觀鎖

高併發、任務執行時間短的業務怎樣使用線程池?併發不高、任務執行時間長的業務怎樣使用線程池?併發高、業務執行時間長的業務怎樣使用線程池?

沒答案?怎麼可能,光給面試題不給答案不是個人風格。這裏面的面試題也只是百裏挑一,還有答案的話會極大的增長文章的篇幅,減小文章的可讀性。

最後

最後就是面試題及答案的獲取方式,也爲你們提供一個學習交流的平臺:855801563。針對於上面的面試題我總結出了互聯網公司java程序員面試涉及到的絕大部分面試題及答案作成了文檔和架構視頻資料免費分享給你們(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分佈式、高併發等架構技術資料),但願能幫助到您面試前的複習且找到一個好的工做,也節省你們在網上搜索資料的時間來學習

相關文章
相關標籤/搜索