看看這些被你遺忘的java核心基礎(chǔ)面試題,你還記得多少?

前言:

請各位不要一直刷框架、刷源碼大型項目了.......................

今年面試頻繁失敗的原因在哪兒?敗就敗在那些年被你遺忘的基礎(chǔ)題上面了.

針對最常見、最常問的java面試題,我想這些你是必須要掌握的

不說精準(zhǔn),但是可以參考下,看那些是你掌握了,看一眼就知道原理及解決方案.可以查缺補(bǔ)漏看看.

Java集合22題(基礎(chǔ))

  • ArrayList 和 Vector 的區(qū)別。

  • 說說 ArrayList,Vector, LinkedList 的存儲性能和特性。

  • 快速失敗 (fail-fast) 和安全失敗 (fail-safe) 的區(qū)別是什么?

  • hashmap 的數(shù)據(jù)結(jié)構(gòu)。

  • HashMap 的工作原理是什么?

  • Hashmap 什么時候進(jìn)行擴(kuò)容呢?

  • List、Map、Set 三個接口,存取元素時,各有什么特點(diǎn)?

  • Set 里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用 == 還是 equals()? 它們有何區(qū)別?

  • 兩個對象值相同 (x.equals(y) == true),但卻可有不同的 hash code,這句話對不對?

  • heap 和 stack 有什么區(qū)別。

  • Java 集合類框架的基本接口有哪些?

  • HashSet 和 TreeSet 有什么區(qū)別?

  • HashSet 的底層實現(xiàn)是什么?

  • LinkedHashMap 的實現(xiàn)原理?

  • 為什么集合類沒有實現(xiàn) Cloneable 和 Serializable 接口?

  • 什么是迭代器 (Iterator)?

  • Iterator 和 ListIterator 的區(qū)別是什么?

  • 數(shù)組 (Array) 和列表 (ArrayList) 有什么區(qū)別?什么時候應(yīng)該使用 Array 而不是 ArrayList?

  • Java 集合類框架的最佳實踐有哪些?

  • Set 里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?是用 == 還是 equals()?它們有何區(qū)別?

  • Comparable 和 Comparator 接口是干什么的?列出它們的區(qū)別

  • Collection 和 Collections 的區(qū)別。

JVM與調(diào)優(yōu)21題(算是大廠必問題)

  • Java 類加載過程?

  • 描述一下 JVM 加載 Class 文件的原理機(jī)制?

  • Java 內(nèi)存分配。

  • GC 是什么? 為什么要有 GC?

  • 簡述 Java 垃圾回收機(jī)制

  • 如何判斷一個對象是否存活?(或者 GC 對象的判定方法)

  • 垃圾回收的優(yōu)點(diǎn)和原理。并考慮 2 種回收機(jī)制

  • 垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動通知虛擬機(jī)進(jìn)行垃圾回收?

  • Java 中會存在內(nèi)存泄漏嗎,請簡單描述

  • 深拷貝和淺拷貝。

  • System.gc() 和 Runtime.gc() 會做什么事情?

  • finalize() 方法什么時候被調(diào)用?析構(gòu)函數(shù) (finalization) 的目的是什么?

  • 如果對象的引用被置為 null,垃圾收集器是否會立即釋放對象占用的內(nèi)存?

  • 串行(serial)收集器和吞吐量(throughput)收集器的區(qū)別是什么?

  • 在 Java 中,對象什么時候可以被垃圾回收?

  • 簡述 Java 內(nèi)存分配與回收策略以及 Minor GC 和 Major GC。

  • VM 的永久代中會發(fā)生垃圾回收么?

  • Java 中垃圾收集的方法有哪些?

  • 什么是類加載器,類加載器有哪些?

  • 類加載器雙親委派模型機(jī)制?

并發(fā)編程28題(并發(fā)多重要,就不要我多說了)

  • Synchronized 用過嗎,其原理是什么?

  • 你剛才提到獲取對象的鎖,這個“鎖”到底是什么?如何確定對象的鎖?

  • 什么是可重入性,為什么說 Synchronized 是可重入鎖?

  • VM 對 Java 的原生鎖做了哪些優(yōu)化?48

  • 為什么說 Synchronized 是非公平鎖?49

  • 什么是鎖消除和鎖粗化?49

  • 為什么說 Synchronized 是一個悲觀鎖?樂觀鎖的實現(xiàn)原理又是什么?什么是 CAS,它有什么特性?

  • 樂觀鎖一定就是好的嗎?

  • 跟 Synchronized 相比,可重入鎖 ReentrantLock 其實現(xiàn)原理有什么不同?

  • 那么請談?wù)?AQS 框架是怎么回事兒?

  • 請盡可能詳盡地對比下 Synchronized 和 ReentrantLock 的異同。

  • ReentrantLock 是如何實現(xiàn)可重入性的?

  • 除了 ReetrantLock,你還接觸過 JUC 中的哪些并發(fā)工具?

  • 請談?wù)?ReadWriteLock 和 StampedLock。

  • 如何讓 Java 的線程彼此同步?你了解過哪些同步器?請分別介紹下。

  • CyclicBarrier 和 CountDownLatch 看起來很相似,請對比下呢?

  • Java 線程池相關(guān)問題

  • Java 中的線程池是如何實現(xiàn)的?

  • 創(chuàng)建線程池的幾個核心構(gòu)造參數(shù)?

  • 線程池中的線程是怎么創(chuàng)建的?是一開始就隨著線程池的啟動創(chuàng)建好的嗎?

  • 既然提到可以通過配置不同參數(shù)創(chuàng)建出不同的線程池,那么 Java 中默認(rèn)實現(xiàn)好的線程池又有哪些呢?請比較它們的異同

  • 如何在 Java 線程池中提交線程?

  • 什么是 Java 的內(nèi)存模型,Java 中各個線程是怎么彼此看到對方的變量的?

  • 請談?wù)?volatile 有什么特點(diǎn),為什么它能保證變量對所有線程的可見性?

  • 既然 volatile 能夠保證線程間的變量可見性,是不是就意味著基于 volatile 變量的運(yùn)算就是并發(fā)安全的?

  • 請對比下 volatile 對比 Synchronized 的異同。

  • 請談?wù)?ThreadLocal 是怎么解決并發(fā)安全的?

  • 很多人都說要慎用 ThreadLocal,談?wù)勀愕睦斫?,使?ThreadLocal 需要注意些什么?

spring 25題(開源框架中的核心知識點(diǎn))

  • 1、什么是 Spring 框架?Spring 框架有哪些主要模塊?

  • 2、使用 Spring 框架能帶來哪些好處?

  • 3、什么是控制反轉(zhuǎn)(IOC)?什么是依賴注入?

  • 4、請解釋下 Spring 框架中的 IoC?

  • 5、BeanFactory 和 ApplicationContext 有什么區(qū)別?

  • 6、Spring 有幾種配置方式?

  • 7、如何用基于 XML 配置的方式配置 Spring?

  • 8、如何用基于 Java 配置的方式配置 Spring?

  • 9、怎樣用注解的方式配置 Spring?

  • 10、請解釋 Spring Bean 的生命周期?

  • 11、Spring Bean 的作用域之間有什么區(qū)別?

  • 12、什么是 Spring inner beans?

  • 13、Spring 框架中的單例 Beans 是線程安全的么?

  • 14、請舉例說明如何在 Spring 中注入一個 Java Collection?

  • 15、如何向 Spring Bean 中注入一個 Java.util.Properties?

  • 16、請解釋 Spring Bean 的自動裝配?

  • 17、請解釋自動裝配模式的區(qū)別?

  • 18、如何開啟基于注解的自動裝配?

  • 19、請舉例解釋@Required 注解?

  • 20、請舉例解釋@Autowired 注解?

  • 21、請舉例說明@Qualifier 注解?

  • 22、構(gòu)造方法注入和設(shè)值注入有什么區(qū)別?

  • 23、Spring 框架中有哪些不同類型的事件?

  • 24、FileSystemResource 和 ClassPathResource 有何區(qū)別?

  • 25、Spring 框架中都用到了哪些設(shè)計模式?

設(shè)計模式 10題

  • 1.請列舉出在 JDK 中幾個常用的設(shè)計模式?

  • 2.什么是設(shè)計模式?你是否在你的代碼里面使用過任何設(shè)計模式?

  • 3.Java 中什么叫單例設(shè)計模式?請用 Java 寫出線程安全的單例模式

  • 4.在 Java 中,什么叫觀察者設(shè)計模式(observer design pattern)?

  • 5.使用工廠模式最主要的好處是什么?在哪里使用?

  • 6.舉一個用 Java 實現(xiàn)的裝飾模式(decorator design pattern)?它是作用于對象層次還是類 層次?

  • 7.在 Java 中,為什么不允許從靜態(tài)方法中訪問非靜態(tài)變量?

  • 8.設(shè)計一個 ATM 機(jī),請說出你的設(shè)計思路?

  • 9.在 Java 中,什么時候用重載,什么時候用重寫?

  • 10.舉例說明什么情況下會更傾向于使用抽象類而不是接口

springboot 22題(中小型企業(yè)的占比使用率較高,還有spring cloud)

  • 什么是 Spring Boot?

  • Spring Boot 有哪些優(yōu)點(diǎn)?

  • 什么是 JavaConfig?

  • 如何重新加載 Spring Boot 上的更改,而無需重新啟動服務(wù)器?

  • Spring Boot 中的監(jiān)視器是什么?

  • 如何在 Spring Boot 中禁用 Actuator 端點(diǎn)安全性?

  • 如何在自定義端口上運(yùn)行 Spring Boot 應(yīng)用程序?

  • 什么是 YAML?

  • 如何實現(xiàn) Spring Boot 應(yīng)用程序的安全性?

  • 如何集成 Spring Boot 和 ActiveMQ?

  • 如何使用 Spring Boot 實現(xiàn)分頁和排序?

  • 什么是 Swagger?你用 Spring Boot 實現(xiàn)了它嗎?

  • 什么是 Spring Profiles?

  • 什么是 Spring Batch?

  • 什么是 FreeMarker 模板?

  • 如何使用 Spring Boot 實現(xiàn)異常處理?

  • 您使用了哪些 starter maven 依賴項?

  • 什么是 CSRF 攻擊?

  • 什么是 WebSockets?

  • 什么是 AOP?

  • 什么是 Apache Kafka?

  • 我們?nèi)绾伪O(jiān)視所有 Spring Boot 微服務(wù)?

Netty10題

  • BIO、NIO和AIO的區(qū)別?

  • NIO的組成?

  • Netty的特點(diǎn)?

  • Netty的線程模型?

  • TCP 粘包/拆包的原因及解決方法?

  • 了解哪幾種序列化協(xié)議?

  • 如何選擇序列化協(xié)議?

  • Netty的零拷貝實現(xiàn)?

  • Netty的高性能表現(xiàn)在哪些方面?

  • NIOEventLoopGroup源碼?

Redis 16題(優(yōu)勢以及使用場景都需要了解一下)

  • 什么是redis?

  • Reids的特點(diǎn)

  • Redis支持的數(shù)據(jù)類型

  • Redis是單進(jìn)程單線程的

  • 虛擬內(nèi)存

  • Redis鎖

  • 讀寫分離模型

  • 數(shù)據(jù)分片模型

  • Redis的回收策略

  • 使用Redis有哪些好處?

  • redis相比memcached有哪些優(yōu)勢?4

  • redis常見性能問題和解決方案

  • MySQL里有2000w數(shù)據(jù),redis中只存20w的數(shù)據(jù),如何保證redis中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)245

  • Memcache與Redis的區(qū)別都有哪些?

  • Redis 常見的性能問題都有哪些?如何解決?

  • Redis 最適合的場景

篇幅有限,這里收集了各方面的,當(dāng)前公司的,還有自己收集總結(jié)的,下面的圖片截取的有pdf,有如果有需要的自取.

各大公司面試題集合:

image

簡歷模板:
image

鏈接: https://pan.baidu.com/s/1DO6XGkbmak7KIt6Y7JQqyw
提取碼:fgj6
不知道會不會失效,如果失效點(diǎn)擊(778490892)或者掃描下面二維碼,進(jìn)群獲取,鏈接補(bǔ)發(fā)不過來,謝謝。
在這里插入圖片描述

最后

歡迎大家評論區(qū)一起交流,相互提升;整理資料不易,如果喜歡文章記得點(diǎn)個贊哈,感謝大家支持!??!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容