前言
本套Java面試題大全總共分為以下這十三個模塊:
-
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等



面試題,如何獲取?

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/163740.html
標籤:python
上一篇:一文搞懂AQS及其組件的核心原理
