不知道最近面試是否順利,是否會經常問到一些自己不熟悉的問題,不知道怎么去回答這些問題,今天筆者給大家整理了2020年大廠經常問到了的一些面試真題及決議,內容點包含有java集合,jvm,并發編程,spring,mybatis,springMVC,微服務,Dubbo,netty,網路,zookeeper,kafka,rabbitMQ,readis快取,資料庫,設計模式 等一線大廠互聯網大廠常問到的面試真題,,
Java 集合面試真題22道:
- ArrayList 和 Vector 的區別,
- 說說 ArrayList,Vector, LinkedList 的存盤性能和特性,
- 快速失敗 (fail-fast) 和安全失敗 (fail-safe) 的區別是什么?
- hashmap 的資料結構,
- HashMap 的作業原理是什么?
- Hashmap 什么時候進行擴容呢?
- List、Map、Set 三個介面,存取元素時,各有什么特點?
- Set 里的元素是不能重復的,那么用什么方法來區分重復與否呢?是用 == 還是 equals()? 它們有何區別?
- 兩個物件值相同 (x.equals(y) == true),但卻可有不同的 hashcode,這句話對不對?
- heap 和 stack 有什么區別,
- Java 集合類框架的基本介面有哪些?
- HashSet 和 TreeSet 有什么區別?
- HashSet 的底層實作是什么?
- LinkedHashMap 的實作原理?
- 為什么集合類沒有實作 Cloneable 和 Serializable 介面?
- 什么是迭代器 (Iterator)?
- Iterator 和 ListIterator 的區別是什么?
- 陣列 (Array) 和串列 (ArrayList) 有什么區別?什么時候應該使用 Array 而不是 ArrayList?
- Java 集合類框架的最佳實踐有哪些?
- Set 里的元素是不能重復的,那么用什么方法來區分重復與否呢?是用 == 還是 equals()?它們有何區別?
- Comparable 和 Comparator 介面是干什么的?列出它們的區別,
- Collection 和 Collections 的區別,

JVM面試真題21道:
- Java 類加載程序?
- 描述一下 JVM 加載 Class 檔案的原理機制?
- Java 記憶體分配,
- GC 是什么? 為什么要有 GC?
- 簡述 Java 垃圾回識訓制,
- 如何判斷一個物件是否存活?(或者 GC 物件的判定方法)
- 垃圾回收的優點和原理,并考慮 2 種回識訓制,
- 垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收記憶體嗎?有什么辦法主動通知虛擬機進行垃圾回收?
- Java 中會存在記憶體泄漏嗎,請簡單描述,
- 深拷貝和淺拷貝,
- System.gc() 和 Runtime.gc() 會做什么事情?
- finalize() 方法什么時候被呼叫?解構式 (finalization)的目的是什么?
- 如果物件的參考被置為 null,垃圾收集器是否會立即釋放物件占用的記憶體?
- 什么是分布式垃圾回收(DGC)?它是如何作業的?
- 串行(serial)收集器和吞吐量(throughput)收集器的區別是什么?
- 在 Java 中,物件什么時候可以被垃圾回收?
- 簡 述 Java 內 存分 配與 回 收策 率以 及 Minor GC 和Major GC,
- JVM 的永久代中會發生垃圾回收么?
- Java 中垃圾收集的方法有哪些?
- 什么是類加載器,類加載器有哪些?
- 類加載器雙親委派模型機制?

并發編程面試真題38道:
Synchronized 相關問題:
- Synchronized 用過嗎,其原理是什么?
- 你剛才提到獲取物件的鎖,這個“鎖”到底是什么?如何確定物件的鎖?
- 什么是可重入性,為什么說 Synchronized 是可重入鎖?
- JVM 對 Java 的原生鎖做了哪些優化?
- 為什么說 Synchronized 是非公平鎖?
- 什么是鎖消除和鎖粗化?
- 為什么說 Synchronized 是一個悲觀鎖?樂觀鎖的實作原理又是什么?什么是 CAS,它有什么特性?
- 樂觀鎖一定就是好的嗎?
可重入鎖 ReentrantLock 及其他顯式鎖相關問題:
- 跟 Synchronized 相比,可重入鎖 ReentrantLock 其實作原理有什么不同?
- 那么請談談 AQS 框架是怎么回事兒?
- 請盡可能詳盡地對比下 Synchronized 和 ReentrantLock 的異同,
- ReentrantLock 是如何實作可重入性的?
- 除了 ReetrantLock,你還接觸過 JUC 中的哪些并發工具?
- 請談談 ReadWriteLock 和 StampedLock,
- 如何讓 Java 的執行緒彼此同步?你了解過哪些同步器?請分別介紹下,
- CyclicBarrier 和 CountDownLatch 看起來很相似,請對比下呢?
Java 執行緒池相關問題:
- Java 中的執行緒池是如何實作的?
- 創建執行緒池的幾個核心構造引數?
- 執行緒池中的執行緒是怎么創建的?是一開始就隨著執行緒池的啟動創建好的嗎?
- 既然提到可以通過配置不同引數創建出不同的執行緒池,那么 Java 中默認實作好的執行緒池又有哪些呢?請比較它們的異同,
- 如何在 Java 執行緒池中提交執行緒?
Java 記憶體模型相關問題:
- 什么是 Java 的記憶體模型,Java 中各個執行緒是怎么彼此看到對方的變數的?
- 請談談 volatile 有什么特點,為什么它能保證變數對所有執行緒的可見性?
- 既然 volatile 能夠保證執行緒間的變數可見性,是不是就意味著基于volatile 變數的運算就是并發安全的?
- 請對比下 volatile 對比 Synchronized 的異同,
- 請談談 ThreadLocal 是怎么解決并發安全的?
- 很多人都說要慎用 ThreadLocal,談談你的理解,使用 ThreadLocal 需要注意些什么?

Spring面試真題25道:
- 什么是 Spring 框架?Spring 框架有哪些主要模塊?
- 使用 Spring 框架能帶來哪些好處?
- 什么是控制反轉(IOC)?什么是依賴注入?
- 請解釋下 Spring 框架中的 IoC?
- BeanFactory 和 ApplicationContext 有什么區別?
- Spring 有幾種配置方式?
- 如何用基于 XML 配置的方式配置 Spring?
- 如何用基于 Java 配置的方式配置 Spring?
- 怎樣用注解的方式配置 Spring?
- 請解釋 Spring Bean 的生命周期?
- Spring Bean 的作用域之間有什么區別?
- 什么是 Spring inner beans?
- Spring 框架中的單例 Beans 是執行緒安全的么?
- 請舉例說明如何在 Spring 中注入一個 Java Collection?
- 如何向 Spring Bean 中注入一個 Java.util.Properties?
- 請解釋 Spring Bean 的自動裝配?
- 請解釋自動裝配模式的區別?
- 如何開啟基于注解的自動裝配?
- 請舉例解釋@Required 注解?
- 請舉例解釋@Autowired 注解?
- 構造方法注入和設值注入有什么區別?
- Spring 框架中有哪些不同型別的事件?
- FileSystemResource 和 ClassPathResource 有何區別?
- Spring 框架中都用到了哪些設計模式?

MyBatis面試真題24道:
- 什么是 Mybatis?
- Mybaits 的優點:
- MyBatis 框架的缺點:
- MyBatis 框架適用場合:
- MyBatis 與 Hibernate 有哪些不同?
- #{}和${}的區別是什么?
- 當物體類中的屬性名和表中的欄位名不一樣 ,怎么辦 ?
- 模糊查詢 like 陳述句該怎么寫?
- 通常一個 Xml 映射檔案,都會寫一個 Dao 介面與之對應,請問,這個 Dao 介面的作業原理是什么?Dao 介面里的方法,引數不同時,方法能多載嗎?
- Mybatis 是如何進行分頁的?分頁插件的原理是什么?
- Mybatis 是如何將 sql 執行結果封裝為目標物件并回傳的?都有哪些映射形式?
- 如何執行批量插入?
- 如何獲取自動生成的(主)鍵值?
- Mybatis 動態 sql 有什么用?執行原理?有哪些動態 sql?
- Xml 映射檔案中,除了常見的 select|insert|updae|delete 標簽之外,還有哪些標簽?
- Mybatis 的 Xml 映射檔案中,不同的 Xml 映射檔案,id 是否可以重復?
- 為什么說 Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪里?
- MyBatis 實作一對一有幾種方式?具體怎么操作的?
- MyBatis 實作一對多有幾種方式,怎么操作的?
- Mybatis 是否支持延遲加載?如果支持,它的實作原理是什么?
- Mybatis 的一級、二級快取:
- 什么是 MyBatis 的介面系結?有哪些實作方式?
- 使用 MyBatis 的 mapper 介面呼叫時有哪些要求?
- 簡述 Mybatis 的插件運行原理,以及如何撰寫一個插件,

后面還有關于 springMVC,微服務,Dubbo,netty,網路,zookeeper,kafka,rabbitMQ,readis快取,資料庫,設計模式,就不在這里一一給大家展示了,
需要這份PDF面試資料的讀者朋友可以幫忙點贊后,私信【面試】就可以了(一定要記得關注我,不然沒辦法回復陌生人私信),希望大家都能夠拿到一個心怡的offer,


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/120366.html
標籤:其他
上一篇:SpringBoot與JWT整合
