Java基礎知識面試題
Java異常面試題
JVM面試題
Spring面試題
Spring MVC面試題
Spring Boot面試題
Spring Cloud面試題
MyBatis面試題
Redis面試題
Dubbo面試題
Tomcat面試題
ZooKeeper面試題
Netty面試題
一、Java基礎知識面試題
1、Java概述
何為程式設計?
什麼是Java?
jdk1.5之後的三大版本?
JVM、JRE和JDK的關係?
什麼是跨平臺性?原理是什麼?
Java語言有哪些特點?
什麼是位元組碼?採用位元組碼的最大好處是什麼?
什麼是Java程式的主類?應用程式和小程式的主類有何不同?
Java應用程式與小程式之間有那些差別?
Java和C++的區別?
Oracle JDK 和 OpenJDK 的對比?
2、基礎語法
①. 資料型別
Java有哪些資料型別
switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上
用最有效率的方法計算 2 乘以 8
Math.round(11.5) 等於多少?Math.round(-11.5)等於多少
float f=3.4;是否正確
short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎
②. 編碼
Java語言採用何種編碼方案?有何特點?
③. 註釋
什麼Java註釋
④. 存取修飾符
存取修飾符 public,private,protected,以及不寫(預設)時的區別
⑤. 運運算元
&和&&的區別
⑥. 關鍵字
Java 有沒有 goto
final 有什麼用?
final finally finalize區別
this關鍵字的用法
super關鍵字的用法
this與super的區別
static存在的主要意義
static的獨特之處
static應用場景
static注意事項
⑦. 流程控制語句
break ,continue ,return 的區別及作用
在 Java 中,如何跳出當前的多重巢狀迴圈
3、物件導向
①. 物件導向概述
物件導向和程式導向的區別
②. 物件導向三大特性
物件導向的特徵有哪些方面
什麼是多型機制?Java語言是如何實現多型的?
物件導向五大基本原則是什麼(可選)
③. 類與介面
抽象類和介面的對比
普通類和抽象類有哪些區別?
抽象類能使用 final 修飾嗎?
建立一個物件用什麼關鍵字?物件範例與物件參照有何不同?
④. 變數與方法
成員變數與區域性變數的區別有哪些
在Java中定義一個不做事且沒有引數的構造方法的作用
在呼叫子類構造方法之前會先呼叫父類別沒有引數的構造方法,其目的是?
一個類的構造方法的作用是什麼?若一個類沒有宣告構造方法,改程式能正確執行嗎?為什麼?
構造方法有哪些特性?
靜態變數和範例變數區別
靜態變數與普通變數區別
靜態方法和實體方法有何不同?
在一個靜態方法內呼叫一個非靜態成員為什麼是非法的?
什麼是方法的返回值?返回值的作用是什麼?
⑤. 內部類
什麼是內部類?
內部類的分類有哪些
內部類的優點
內部類有哪些應用場景
區域性內部類和匿名內部類存取區域性變數的時候,為什麼變數必須要加上final?
內部類相關,看程式說出執行結果
⑥. 重寫與過載
構造器(constructor)是否可被重寫(override)
過載(Overload)和重寫(Override)的區別。過載的方法能否根據返回型別進行區分?
⑦. 物件相等判斷
== 和 equals 的區別是什麼
hashCode 與 equals (重要)
物件的相等與指向他們的參照相等,兩者有什麼不同?
⑧. 值傳遞
當一個物件被當作引數傳遞到一個方法後,此方法可改變這個物件的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是參照傳遞
為什麼 Java 中只有值傳遞
值傳遞和參照傳遞有什麼區別
⑨. Java包
JDK 中常用的包有哪些
import java和javax有什麼區別
4、IO流
java 中 IO 流分為幾種?
BIO,NIO,AIO 有什麼區別?
Files的常用方法都有哪些?
5、反射
什麼是反射機制?
反射機制優缺點
反射機制的應用場景有哪些?
Java獲取反射的三種方法
6、網路程式設計
7、常用API
①. String相關
字元型常數和字串常數的區別
什麼是字串常數池?
String 是最基本的資料型別嗎
String有哪些特性
String為什麼是不可變的嗎?
String真的是不可變的嗎?
是否可以繼承 String 類
String str="i"與 String str=new String("i")一樣嗎?
String s = new String("xyz");建立了幾個字串物件
如何將字串反轉?
陣列有沒有 length()方法?String 有沒有 length()方法
String 類的常用方法都有那些?
在使用 HashMap 的時候,用 String 做 key 有什麼好處?
String和StringBuffer、StringBuilder的區別是什麼?String為什麼是不可變的
②. Date相關
③. 包裝類相關
自動裝箱與拆箱
int 和 Integer 有什麼區別
Integer a= 127 與 Integer b = 127相等嗎
8、常用工具類庫
9、單元測試
10、紀錄檔
二、Java異常面試題
1、Error 和 Exception 區別是什麼?
2、執行時異常和一般異常(受檢異常)區別是什麼?
3、JVM 是如何處理異常的?
4、throw 和 throws 的區別是什麼?
5、final、finally、finalize 有什麼區別?
6、NoClassDefFoundError 和 ClassNotFoundException 區別?
7、try-catch-finally 中哪個部分可以省略?
8、try-catch-finally 中,如果 catch 中 return 了,finally 還會執行嗎?
9、類 ExampleA 繼承 Exception,類 ExampleB 繼承ExampleA?
10、常見的 RuntimeException 有哪些?
11、Java常見異常有哪些?
三、JVM面試題
1、Java記憶體區域
說一下 JVM 的主要組成部分及其作用?
說一下 JVM 執行時資料區?
深拷貝和淺拷貝?
說一下堆疊的區別?
佇列和棧是什麼?有什麼區別?
2、HotSpot虛擬機器器物件探祕
物件的建立
為物件分配記憶體
處理並行安全問題
物件的存取定位
3、記憶體溢位異常
Java會存在記憶體漏失嗎?請簡單描述
4、垃圾收集器
簡述Java垃圾回收機制
GC是什麼?為什麼要GC
垃圾回收的優點和原理。並考慮2種回收機制
垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收記憶體嗎?有什麼辦法主動通知虛擬機器器進行垃圾回收?
Java 中都有哪些參照型別?
怎麼判斷物件是否可以被回收?
在Java中,物件什麼時候可以被垃圾回收
JVM中的永久代中會發生垃圾回收嗎
說一下 JVM 有哪些垃圾回收演演算法?
說一下 JVM 有哪些垃圾回收器?
詳細介紹一下 CMS 垃圾回收器?
新生代垃圾回收器和老年代垃圾回收器都有哪些?有什麼區別?
簡述分代垃圾回收器是怎麼工作的?
5、記憶體分配策略
①. 簡述java記憶體分配與回收策率以及Minor GC和Major GC
物件優先在 Eden 區分配
大物件直接進入老年代
長期存活物件將進入老年代
6、虛擬機器器類載入機制
簡述java類載入機制?
描述一下JVM載入Class檔案的原理機制
什麼是類載入器,類載入器有哪些?
說一下類裝載的執行過程?
什麼是雙親委派模型?
7、JVM調優
說一下 JVM 調優的工具?
常用的 JVM 調優的引數都有哪些?
由於篇幅原因這裡只給大家展示了前三個模組,剩下的那十個模組就不再一一展示了哈~
都收集到了我的這分明Java大廠面試題合集裡面了
於是就有了這份《Java大廠面試題合集》,並且按照細分了41個方向。
包括Java基礎、Java異常、Spring、SpirngMVC、MyBatis、SpringBoot、SpringCloud、BIO、NIO、AIO、Netty、Tomcat、Redis、MySQL、Memcache、ElasticSearch、zookeeper、RabbitMQ、Vue、Dubbo、並行程式設計、Java虛擬機器器、TCP、Http、巨量資料、設計模式、Linux等