03.04 金三銀四面試慌?看完MyBatis+MySQL+Spring+Redis+多線程再去吧

這裡為大家分享一些面試的一手資料,供大家迎接接下來的金三銀四跳槽季!

本文收集整理了各大廠常見面試題N道,你想要的這裡都有內容涵蓋:

Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技術棧……

希望大家都能找到適合自己的公司,開開心心的擼代碼

由於題量較多,篇幅的限制,文章中的面試題分享沒有全部附上詳細的解析,但是整理成了一份詳細的PDF文檔可分享給大家,文末獲取免費領取方式


注意!

看面試題可以是為了面試,也可以是對自己學到的東西的一種查漏補缺,更加深刻的去了解一些核心知識點

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)

解釋AOPAspect 切面在Spring AOP 中,關注點和橫切關注的區別是什麼?什麼是引入?什麼是目標對象?什麼是代理?有幾種不同類型的自動代理?什麼是織入。什麼是織入應用的不同點?解釋基於XML Schema方式的切面實現解釋基於註解的切面實現

Spring 的MVC

什麼是Spring的MVC框架?DispatcherServletWebApplicationContext什麼是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內存模型什麼是樂觀鎖和悲觀鎖高併發、任務執行時間短的業務怎樣使用線程池?併發不高、任務執行時間長的業務怎樣使用線程池?併發高、業務執行時間長的業務怎樣使用線程池?沒答案?怎麼可能,光給面試題不給答案不是我的風格。這裡面的面試題也只是鳳毛麟角,還有答案的話會極大的增加文章的篇幅,減少文章的可讀性。

最後

最後就是面試題及答案的獲取方式,也為大家提供一個學習交流的平臺。針對於上面的面試題我總結出了互聯網公司java程序員面試涉及到的絕大部分面試題及答案做成了文檔和架構視頻資料無償分享給大家,希望能幫助到您面試前的複習且找到一個好的工作,也節省大家在網上搜索資料的時間來學習。

資料獲取方式:轉發分享此文給更多有需要的小夥伴後,關注本人,後臺私信:“面試”即可免費領取。

文章所涵蓋的面試知識點絕對真實,以下內容乃本人WP 截圖!

2020 各個大廠面試指南!

收藏不易,如果需要獲取到這些知識點的小夥伴們可以關注轉發文章之後私信我【面試】來免費獲取到!