Java程序員跳槽的首選面試題最新合集(2021下半年),初中高級程序員!

考慮到大家找工作時的困難,大家可以看看這個小程序內涵大量整理好的面試題(含答案),下面只是列舉了部分面試題題目。具體答案大家可以在微信中搜索小程序:Java精選面試題

面向對象編程有哪些特徵?

JDK、JRE、JVM 之間有什麼關係?

如何使用命令行編譯和運行 Java 文件?

Java 中常用的集合有哪些?

進程與線程之間有什麼區別?

什麼是 JVM?

數據庫中什麼是事務?

MySQL 事務都有哪些特性?

MyBatis 是什麼框架?

什麼是 Redis?

什麼是 Spring 框架?

什麼是 Spring MVC 框架?

什麼是 Spring Boot 框架?

什麼是 Spring Cloud 框架?

Spring Cloud 框架有哪些優缺點?

什麼是消息隊列?

消息隊列有哪些應用場景?

什麼是 Linux 操作系統?

什麼是數據結構?

什麼是設計模式?

什麼是 Zookeeper?

應用服務 8080 端口被意外佔用如何解決?

什麼是 Dubbo 框架?

什麼是 Maven?

應用層中常見的協議都有哪些?

Java 中的關鍵字都有哪些?

Java 中基本類型都有哪些?

爲什麼 Map 接口不繼承 Collection 接口?

Collection 和 Collections 有什麼區別?

堆和棧的概念,它們有什麼區別和聯繫?

Class.forName 和 ClassLoader 有什麼區別?

爲什麼要使用設計模式?

爲什麼 String 類型是被 final 修飾的?

​final 關鍵字的基本用法?

如何理解 final 關鍵字?

ArrayList 和 LinkedList 有什麼區別?

HashMap 和 HashTable 有什麼區別?

線程的生命週期包括哪幾個階段?

Thread 類中 start() 和 run() 方法有什麼區別?

notify() 和 notifyAll() 方法有什麼區別?

什麼是樂觀鎖,什麼是悲觀鎖?

Java 中 volatile 關鍵字有什麼作用?

Spring 中常用的註解包含哪些?

Spring MVC 中常用的註解包含哪些?

爲什麼說 MyBatis 是半自動 ORM 映射?

main 方法中 args 參數是什麼含義?

什麼是高內聚、低耦合?

Spring Boot 框架的優缺點?

Spring Boot 核心註解都有哪些?

Spring Boot 的目錄結構是怎樣的?

Spring Boot 需要獨立的容器運行嗎?

Spring Boot 運行方式有哪幾種?

Spring Boot 自動配置原理是什麼?

Spring Boot 熱部署有幾種方式?

MyBatis 中 ${} 和 #{} 傳參有什麼區別?

MyBatis 如何實現分頁?

MyBatis 如何獲取自動生成的主鍵 ID 值?

TCP 和 UDP 協議有什麼區別?

MyBatis 中 Integer 類型值是 0 ,爲什麼 != '' 無法執行?

MySQL 的索引有哪些設計原則?

爲什麼要使用自增 ID 作爲主鍵?

Linux 如何切換用戶?

su root 和 su - root 有什麼區別?

Linux 怎麼切換目錄?

Dubbo 支持哪些協議,推薦用哪種?

Dubbo 默認使用什麼註冊中心,還有別的選擇嗎?

爲什麼 Redis 需把數據放到內存中? 

Zookeeper 怎麼保證主從節點的狀態同步?

Dubbo 停止更新了嗎?

爲什麼選用 Maven 進行構建?

Maven 規約是什麼?

Maven 常用命令有哪些?

什麼是鏈式存儲結構?

說說幾種常見的排序算法和複雜度?

Java 遞歸遍歷目錄下的所有文件?

JSP 獲取 ModelAndView 傳參數據問題?

Linux 運行 SQL 語句文件報錯?

如何解決 Linux 顯示中文亂碼問題?

IDEA 中 Maven 項目無法自動識別 pom.xml?

面向過程與面向對象有什麼區別?

Java 編程語言有哪些特點?

重載和重寫有什麼區別?

靜態方法和實例方法有什麼不同?

== 和 equals 兩者有什麼區別?

HashMap 是怎麼擴容的?

JDK1.8 和 JDK1.7 中 ArrayList 的初始容量多少?

Arrays.asList() 有什麼使用限制?

Set 爲什麼是無序的?

Comparable 和 Comparator有什麼區別?

HashMap 中如何實現同步?

List、Set、Map 三者有什麼區別?

多線程實現的方式有幾種?

什麼是線程局部變量?

Java 中常見的阻塞隊列有哪些?

創建線程池的有幾種方式?

查看文件內容有哪些命令?

命令中可以使用哪幾種通配符?

根據文件名搜索文件有哪些命令?

bash shell 中 hash 命令有什麼作用?

Linux 中進程有哪幾種狀態?

Integer 和 int 兩者有什麼區別?

什麼是 Java 內部類?

常用的垃圾收集器有哪些?

生產環境中應用的 JVM 參數有哪些?

什麼情況下會發生棧內存溢出?

常用的 JVM 調優配置參數有哪些?

什麼是類加載器?

類加載器分爲哪幾類?

可以自定義一個 java.lang.String 嗎?

MyBatis 實現批量插入數據的方式有幾種?

什麼是自動裝箱?什麼是自動拆箱?

Mybatis 中一級緩存和二級緩存有什麼區別?

Redis 支持那些數據類型?

什麼是 Redis 持久化?Redis 有哪幾種持久化方式?

什麼是緩存穿透?如何避免?

什麼是緩存雪崩?何如避免?

MyBatis 是否支持延遲加載?其原理是什麼?

如何解決 MyBatis 轉義字符的問題?

Zookeeper 是如何保證事務的順序一致性的?

Zookeeper 有哪幾種部署模式?

Zookeeper 集羣最少要幾臺服務器,什麼規則?

Zookeeper 有哪些典型應用場景?

Paxos 和 ZAB 算法有什麼區別和聯繫?

Zookeeper 中 Java 客戶端都有哪些?

Zookeeper 集羣支持動態添加服務器嗎?

Zookeeper 和 Nginx 的負載均衡有什麼區別?

Zookeeper 節點宕機如何處理?

Socket 前後端通信是如何實現服務器集羣?

爲什麼要用 Redis 而不用 Map、Guava 做緩存?

Redis 是單線程的嗎?爲什麼這麼快?

爲什麼使用消息隊列?

RabbitMQ是什麼?

Kafka 的分區策略有哪些?

RabbitMQ 有哪些重要組件?

RabbitMQ 有哪些重要角色?

RabbitMQ 如何保證消息順序性?

如何保證消息消費的冪等性?

Kafka 消費者如何取消訂閱?

設計模式有多少種,都有哪些設計模式?

設計模式的六大原則是什麼?

什麼是單例模式?

單例模式中餓漢式和懶漢式有什麼區別?

單例模式都有哪些應用場景?

什麼是線程安全?

Spring 框架中使用了哪些設計模式?

Spring MVC 執行流程是什麼?

Spring MVC 如何解決請求中文亂碼問題?

Spring MVC 請求轉發和重定向有什麼區別?

Spring MVC 中系統是如何分層?

如何開啓註解處理器和適配器?

Spring MVC 如何設置重定向和轉發?

Spring MVC 中函數的返回值是什麼?

Spring MVC 中 @RequestMapping 註解有什麼屬性?

Spring MVC 控制器是單例的嗎?

RequestMethod 可以同時支持POST和GET請求訪問嗎?

Spring 依賴注入有幾種實現方式?

Spring 中允許注入一個null 或一個空字符串嗎?

Spring 支持哪幾種 bean 作用域?

JDK1.8 中 ConcurrentHashMap 不支持空鍵值嗎?

Spring 中通知有哪些類型?

Spring AOP 連接點和切入點是什麼?

Spring AOP 代理模式是什麼?

Spring 框架有哪些特點?

Spring 是由哪些模塊組成的?

Spring 提供幾種配置方式設置元數據?

HTTP1.0 和 HTTP1.1 有什麼區別?

HTTP1.1 和 HTTP2.0 有什麼區別?

Spring Boot 支持哪幾種內嵌容器?

什麼是 Spring Boot Stater?

Spring Boot Stater 有什麼命名規範?

Spring Boot 啓動器都有哪些?

Spring Cloud 斷路器的作用是什麼?

Spring Cloud 核心組件有哪些?

Spring Cloud 如何實現服務的註冊?

什麼是 Spring Cloud Config?

Spring Cloud Eureka 自我保護機制是什麼?

常用的併發工具類有哪些?

什麼是 Java 內存模型?

JSP 模版引擎如何解析 ${} 表達式?

什麼是服務熔斷?什麼是服務降級?

Spring Boot 和 Spring Cloud 之間有什麼聯繫?

你都知道哪些微服務技術棧?

接口(interface)和抽象類(abstract class)有什麼區別?

什麼是線程死鎖?

如何避免線程死鎖?

父類中靜態方法能否被子類重寫?

什麼是不可變對象?有什麼好處?

靜態變量和實例變量有什麼區別?

Object 類都有哪些公共方法?

Java 創建對象有哪幾種方式?

a==b 與 a.equals(b) 有什麼區別?

Object 中 equals() 和 hashcode() 有什麼聯繫?

hashcode() 中可以使用隨機數字嗎?

Java 中 & 和 && 有什麼區別?

一個 .java 類文件中可以有多少個非內部類?

Java 中如何正確退出多層嵌套循環?

淺拷貝和深拷貝有什麼區別?

Java 中 final關鍵字有哪些用法?

String s = new String("abc"); 創建了幾個String對象?

String 和 StringBuffer 有什麼區別?

Java 中 3*0.1 == 0.3 返回值是什麼?

a=a+b 和 a+=b 有什麼區別嗎?

Java 中線程阻塞都有哪些原因?

Callable 和 Runnable 有什麼區別?

synchronized 和 ReentrantLock 有什麼區別?

Java 中 int a[] 和 int []a 有什麼區別?

Java 中 Math. round(-1.5) 等於多少?

String 類的常用方法都有哪些?

Java 中 IO 流有哪幾種?

Java 中 BIO、NIO、AIO 有什麼區別?

Java 中 Files 類常用方法都有哪些?

抽象類能使用 final 修飾嗎?

MySQL支持哪些分區類型?

如何判斷 MySQL 是否支持分區?

MySQL 中有哪幾種隔離級別?

MySQL 中行級鎖都有哪些優缺點?

Dubbo 有哪幾種集羣容錯方案,默認是哪種?

什麼是 Maven 存儲庫?

Maven 構建階段是什麼?

Maven 的內置構建生命週期是什麼?

Maven 中 什麼是 MOJO?

Maven 如何管理多模塊項目依賴?

Maven 版本管理都有哪些規範?

HashMap 底層是如何實現的?

HashMap 長度爲什麼是2的冪次方?

HashMap 爲什麼多線程會導致死循環?

Redis 過期鍵都有哪些刪除策略?

Spring 中單例 bean 是線程安全的嗎?

Spring 中 @Component 和 @Bean 註解有什麼區別?

Spring 事務管理的方式有幾種?

Spring 中事務有哪幾種隔離級別?

Spring 中事務有哪幾種傳播行爲?

switch 中能否使用 String 作爲參數?

什麼是樹?

什麼是二叉樹?

二叉樹基本概念是什麼?

樹和二叉樹有什麼區別和聯繫?

什麼是冒泡排序算法?

Java 中如何編寫一個冒泡排序算法?

Spring 事務都有哪些特性?

數據庫引擎都有哪些?

MySQL 索引優化原則都有哪些?

什麼是代理模式?

Java 中代理模式如何實現靜態代理?

Java 中代理模式如何實現動態代理?

Java 中什麼是解釋器模式?

Java 中如何實現解釋器模式?

Java 中什麼是替換法則(LSP)?

Java 中爲什麼不允許從靜態方法中訪問非靜態變量?

微服務架構的六種常用設計模式是什麼?

同步、異步、阻塞、非阻塞概念是什麼?

什麼是 Java 序列化(串行化)?

序列化都有哪些使用場景?

序列化使用都有哪些注意事項?

TCP/IP連接時有幾次握手?釋放幾次?

Linux 如何統計系統當前進程連接數?

Linux 常見目錄結構都有哪些?

Linux 中什麼是硬鏈接和軟鏈接?

Linux 設置 DNS 修改哪個配置文件?

Linux 常見服務佔用端口都有哪些?

Dubbo內置服務容器都有哪些?

Dubbo 默認使用什麼通信框架,還有別的選擇嗎?

Dubbo 支持服務多協議嗎?

Dubbo 服務之間調用是阻塞的嗎?

Dubbo 支持服務降級嗎?

Dubbo 如何優雅停機?

Dubbo 和 Spring Cloud 有哪些區別?

Redis 官方爲什麼不提供 Windows 版本?

Redis 各數據類型最大容量是多少?

Redis 和 Redisson 有什麼關係?

Jedis 和 Redisson 有什麼優缺點?

Redis 如何設置密碼及驗證密碼?

Redis 集羣最大節點個數是多少?

Redis 集羣如何選擇數據庫?

Redis 如何測試連通性?

Redis 事務命令都有哪幾個?

Redis key 如何設置過期時間和永久有效?

Redis 回收進程是如何工作的?

Redis 回收使用的是什麼算法?

Redis 如何實現大量數據插入?

Redis 和其他key-value存儲有什麼不同?

什麼是泛型?

泛型都有哪些規則?

泛型有什麼使用場景?

Java 泛型中 E、T、K、V等標記符是什麼含義?

Java 數組中可以使用泛型嗎?

Java 中常見線程安全的 Map 都有哪些?

前端傳輸參數保存數據到 MySQL 中亂碼問題?

MySQL 中日期函數時間不準確?

Maven 打包提示 “程序包不存在” 的問題?

thymeleaf 模板引擎在 Linux 解析報 500 問題?

Java 項目第一次登錄頁面加載很慢問題?

Spring Cloud Config 使用 SSH 連接 GitHub 報錯?

Zookeeper 中 Server 都有哪些工作狀態?

Zookeeper 常用命令都有哪些?

ZooKeeper 客戶端如何註冊 Watcher 實現?

ZooKeeper 服務端如何處理 Watcher 實現?

ZooKeeper 客戶端如何回調 Watcher?

ZooKeeper 中 什麼是 ACL 權限控制機制?

分佈式集羣中爲什麼會有 Master?

ZooKeeper 命名服務是什麼?

Java 中字符型常量和字符串常量有什麼區別?

Java 泛型有什麼優點?

Java 迭代器 Iterator 是什麼?

Iterator 和 Enumeration 接口有哪些區別?

Iterator 和 Enumeration 接口有哪些區別?

Iterater 和 ListIterator 都有哪些區別?

Java 中遍歷 List 集合都有哪些方式?

fail-fast 與 fail-safe 有什麼區別?

ArrayList 和 CopyOnWriteArrayList 有什麼區別?

Java 中迭代集合如何避免 ConcurrentModificationException?

Java 中 UnsupportedOperationException 是什麼?

Java 中 throw 和 throws 有什麼區別?

什麼是數據庫三範式?

Java 中如何將字符串反轉,列舉幾種方式?

Redis 和 Memcached 都有哪些區別?

Redis 都有哪些使用場景?

HTTP 協議中常用的請求方法有哪些?

HTTP 狀態碼常見的都有哪些?

什麼是網絡協議?

網絡傳輸協議本質和作用是什麼?

Java 中什麼是隱式的類型轉換?

MySQL 中內連接、左連接、右連接有什麼區別?

什麼是多線程?

Java 中 ++ 操作符是線程安全的嗎?

Java 中 volatile 和 synchronized 有什麼區別?

Java 中如何判斷 “java.util.LinkedList” 字符串實現 List 接口?

Java 中如何獲取 List 集合泛型類型?

Maven 下載依賴包如何更換數據源?

Java 中 i++ 和 ++i 有什麼區別?

Java 中 Integer a= 128 與 Integer b = 128 相等嗎?

兩個對象 hashCode() 相同,equals()判斷一定爲 true 嗎?

Java 中如何判斷 JVM 是 32 位 或 64 位?

Java 中能否保證 GC 執行嗎?

Java 中什麼是分區收集算法?

Java 中什麼是強引用?

Java 中什麼是軟引用?

Java 中什麼是弱引用?

Java 中什麼是虛引用?

Java 中引用類型有什麼區別?

MyBatis 中 模糊查詢 like 語句如何使用?

MyBatis 框架適用哪些場景?

MyBatis 和 Hibernate 都有哪些區別?

什麼是微服務?

微服務通信方式有哪幾種?

Shell 腳本是什麼?

Linux 中什麼是默認登錄 Shell ?

Linux 中 Shell 腳本如何增加註釋?

Shell 腳本中 $? 標記有什麼用途?

Linux 中如何修改文件權限?

Linux 中如何進入含有空格的目錄?

Linux 中 ll 和 ls 命令有什麼區別?

Linux 中如何切換到上 N 級目錄?

Linux 中如何快速切換到上 N 級目錄?

Java 中如何生成隨機數?

HashMap 集合如何按 value 值排序?

Java 中 List 集合如何排序?

什麼是 Nginx?

爲什麼要使用 Nginx?

Nginx 如何處理服務請求?

爲什麼 Nginx 性能這麼高?

正向代理和反向代理都有哪些區別?

Nginx 都有哪些應用場景?

Nginx目錄結構都有哪些?

Nginx 中如何解決前端跨域問題?

Nginx 中 location指令的作用是什麼?

Nginx 中如何禁止某IP不可訪問?

Nginx 中實現負載均衡的策略都有哪些?

Nginx 中如何限制併發連接數?

RabbitMQ 有幾種廣播類型?

RabbitMQ都有哪些特點?

如何保證 RabbitMQ 消息隊列的高可用?

RabbitMQ 中 broker 和 cluster 分別是指什麼?

vhost 是什麼?有什麼作用?

RabbitMQ 中消息是基於什麼傳輸?

RabbitMQ 中如何解決丟數據的問題?

使用消息隊列都有哪些缺點?

如何避免消息重複投遞或重複消費?

AMQP是什麼?

AMQP 協議層都有哪些?

AMQP 模型有哪幾大組件?

什麼是雙親委派模型?

Java 中類加載器都有哪些?

Spring MVC 中文件上傳有哪些需要注意事項?

Spring MVC 和 Struts2 有哪些區別?

Spring MVC 中 @RequestMapping 註解用在類上有什麼作用?

Spring MVC 中 @PathVariable 和 @RequestParam 有哪些區別?

Spring MVC 中如何進行異常處理?

Spring MVC 如何將 Model 中數據存放到 Session?

Maven 中 <dependencie/> 是什麼?

Maven 中 LASTEST、RELEASE、SNAPSHOT 有哪些區別?

Maven 中工程都有哪些類型?

Maven 中有哪些依賴原則?

Java 中常量和變量有哪些區別?

Java 中變量命名有哪些規則?

Java 中 this 和 super 有哪些用法區別?

Java 中 static 可以修飾局部變量嗎?

Java 中 short s1=1; s1=s1+1; 有錯嗎?

Java 中 short s1=1; s1+=1; 有錯嗎?

Java 中 數組有 length() 方法嗎? String 呢?

Java 中 Error 和 Exception都有哪些區別?

Linux 中如何返回到切換目錄之前的目錄?

Java 中 while 和 do while 有什麼區別?

Java 中可以一次 catch 多個異常嗎?

Java 中 String.trim() 方法有什麼作用?

Java 中 Log4j 日誌都有哪些級別?

Java 中 WEB-INF 目錄有什麼作用?

Java 中 hh:mm:ss 和 HH:mm:ss 有什麼區別?

什麼是AQS?

Java 中 AQS 實現方式是什麼?

Java 中 AQS 核心思想是什麼?

Java 中 AQS 底層原理是什麼?

Spring 中如何開啓定時任務?

Spring 中自動裝配 Bean 有哪些方式?

Spring 中自動裝配有那些侷限性?

Spring 管理事務默認回滾的異常有哪些?

Spring 中事務如何指定回滾的異常?

什麼是Spring IOC 容器?

Spring 中 IOC的優點是什麼?

Spring 中 ApplicationContext 通常的實現是什麼?

Bean 工廠和 Application contexts 有什麼區別?

什麼是Spring beans?

一個 Spring Bean 定義包含什麼?

Spring 中如何定義類的作用域?

Spring 中內部 bean 是什麼?

Spring 中如何注入一個 java 集合?

Spring 中什麼是 bean 裝配?

Spring 中什麼是 bean 的自動裝配?

FileSystemResource 和 ClassPathResource 有何區別?

form 表單嵌套如何解決表單提交問題?

什麼是基於註解的容器配置?

Spring 中如何開啓註解裝配?

Spring 中如何更有效地使用 JDBC?

Spring 中支持那些 ORM?

什麼是 Spring AOP?

Spring AOP 中關注點和橫切關注點有什麼不同?

Spring AOP 中切入點和連接點什麼關係?

Spring AOP 代理是什麼?

程序計數器爲什麼是私有的?

虛擬機棧和本地方法棧爲什麼是私有的?

爲什麼要使用多線程呢?

使用多線程可能帶來什麼問題?

sleep() 方法和 wait() 方法有什麼區別和共同點?

什麼是多線程中的上下文切換?

死鎖與活鎖都有哪些區別?

死鎖與飢餓都有哪些區別?

Java 中 Request 和 Response 對象都有哪些區別?

Java 中用到的線程調度算法是什麼?

什麼是線程組,爲什麼 Java不推薦使用?

爲什麼使用 Executor 框架?

Java 中 Executor 和 Executors 有什麼區別?

什麼是原子操作?

Java Concurrency API 中有哪些原子類?

什麼是Executors框架?

Java Concurrency API 中 Lock 接口是什麼?對比同步有什麼優勢?

Java 中如何喚醒一個阻塞的線程?

什麼是 Callable 和 Future?

什麼是FutureTask?

什麼是併發容器的實現?

多線程同步和互斥有幾種實現方法?

什麼是競爭條件?如何發現和解決競爭?

爲什麼調用start()方法時需執行run()方法?

Java 中 CycliBarriar 和 CountdownLatch 有什麼區別?

什麼是不可變對象,對寫併發應用有什麼幫助?

Java 中如何實現多線程之間的通訊和協作?

什麼是可重入鎖(ReentrantLock)?

CopyOnWriteArrayList 可以用於什麼應用場景?

Java 中爲什麼代碼會重排序?

線程運行時發生異常會造成什麼問題?

如何保證兩個線程間共享數據?

什麼是 ThreadLocal 變量?

Java 中 interrupted 和 isInterrupted 方法有什麼區別?

爲什麼 wait() 和 notify() 方法要在同步塊中調用?

Java 中同步集合與併發集合有什麼區別?

如何檢測一個線程是否擁有鎖?

Java 中如何獲取線程堆棧?

Thread 類中 yield() 方法有什麼作用?

Java 中 ConcurrentHashMap 併發度是什麼?

Java 中 Semaphore 是什麼?

Java 線程池中 submit() 和 execute() 方法有什麼區別?

Java 中 volatile 變量和 atomic 變量有什麼不同?

如何保證運行中的線程暫停一段時間?

線程優先級是什麼?

什麼是線程調度器和時間分片?

JVM 中什麼參數用於控制線程的棧堆大小?

什麼是併發?

併發和並行有什麼區別?

什麼是進程

什麼是線程?

ConcurrentHashMap 和 Hashtable 有什麼區別?

線程池都有哪些拒絕策略?

什麼是線程池?

爲什麼要使用線程池?

Java 中創建線程池有哪些參數?

什麼是 ABA 問題?

如何解決 ABA 問題?

Java 中無鎖隊列的原理是什麼?

Java 中延遲阻塞隊列的原理是什麼?

String變量可以存放在 DelayQueue 隊列嗎?

SynchronousQueue 隊列的大小是多少?

超出 LinkedBlockingQueue 容量值會出現什麼情況?

什麼是協程?

Java 支持協程嗎?

什麼是 CAS?

CAS 有什麼缺點?

如何保證線程按順序執行?

什麼是守護線程?

公平鎖和非公平鎖有什麼區別?

鎖優化的方法有哪些?

爲什麼 HashMap 負載因子是 0.75?

HashMap 爲什麼初始化值是 2 的指數冪?

Java 中標識符有哪些命名規則?

Java 類命名規則是什麼?

Java 方法命名規則是什麼?

Java 變量命名規則是什麼?

Java 常量命名規則是什麼?

Java 中如何定義一個常量?

Java 中常量有哪幾種類型?

Java 中如何創建和遍歷單鏈表?

Java 中求單鏈表中節點的個數?

Java 中如何查找單鏈表中的中間結點?

Java 中如何合併兩個有序單鏈表後依然有序?

Java 中如何實現單鏈表的反轉?

Redis 持久化數據如何實現擴容?

Redis主要佔用什麼物理資源?

Redis 將內存佔滿後會發生什麼問題?

Redis 如何處理數據存儲實現內存優化?

支持一致性哈希的客戶端有哪些?

什麼是 Redis 事務?

Redis 如何查看使用情況及狀態信息?

Redis 事務支持隔離性嗎?

Redis 事務能否保證原子性,是否支持回滾嗎?

Redis 哈希槽的概念是什麼?

Redis 集羣會產生數據丟失情況嗎?

Redis 集羣之間是如何複製的?

Redis 是單線程的,如何提高多核 CPU 的利用率?

說說 Dubbo Monitor 實現原理?

Dubbo 需要 Web 容器啓動嗎?

爲什麼 Dubbo 不需要 Web 容器啓動?

Dubbo 支持哪幾種配置方式?

Dubbo 啓動時依賴服務不可用會造成什麼問題?

Dubbo 推薦使用什麼序列化框架,還有別的選擇嗎?

Provider 上配置 Consumer 端的屬性有哪些?

註冊同一服務,如何指定某一服務?

Dubbo 中服務上線如何兼容舊版本?

Dubbo 支持對結果進行緩存嗎?

Dubbo 支持分佈式事務嗎?

Dubbo 中使用了哪些設計模式?

你瞭解過 Dubbo 源碼嗎?

Dubbo 中服務暴露的過程?

Dubbo 服務降級失敗,如何重試?

服務提供者服務失效踢出是什麼原理?

Dubbo 和 Dubbox 有哪些區別?

Dubbo 必須依賴的包有哪些?

Dubbo telnet 命令有什麼用處?

Dubbo SPI 和 JDK SPI 有哪些區別?

Dubbo 配置文件如何加載到 Spring 中?

Dubbo 在大數據量情況下使用什麼協議?

Dubbo 服務讀寫如何實現容錯策略?

Dubbo 管理控制檯有什麼功能?

Dubbo 中有哪些節點角色?

Dubbo 支持集成 Spring Boot 嗎?

除了 Dubbo,還了解那些分佈式框架嗎?

Dubbo四種負載均衡策略

Dubbo 中服務提供者正常但註冊中心不可見如何處理?

Dubbo 適用於哪些場景?

Dubbo 調用超時問題,如何處理?

Dubbo 中如何保證服務安全調用?

Dubbo 超時設置的優先級是什麼?

Dubbo 超時的實現原理是什麼?

爲什麼 Dubbo 不用 JDK SPI,而是要自己實現?

Dubbo 服務接口多種實現,如何註冊調用?

ZooKeeper 支持哪種類型的數據節點?

chubby 和 zookeeper 有哪些區別?

Dubbo 中都有哪些核心的配置?

Dubbo 中如何解決服務調用鏈過長的問題?

Dubbo 中拋出 RpcException:No provider available for remote service 異常如何處理?

什麼是微服務架構?

什麼是 Spring Cloud Netflix?

什麼是 Spring Cloud Bus?

什麼是 Spring Cloud Consul?

什麼是 Spring Cloud Security?

什麼是 Spring Cloud Sleuth?

什麼是 Spring Cloud Stream?

什麼是 Spring Cloud Task?

什麼是 Spring Cloud Zookeeper?

什麼是 Spring Cloud Gateway?

什麼是 Spring Cloud OpenFeign?

什麼是 Hystrix?如何實現容錯機制?

微服務有哪些優缺點?

Eureka 和 Zookeeper 有哪些區別?

ZooKeeper 提供了什麼?

Zookeeper 和文件系統有哪些區別?

Zookeeper 中什麼是 ZAB 協議?

Zookeeper 中 Watcher 工作機制和特性?

Zookeeper 中 Chroot 特性有什麼作用?

Zookeeper 中會話管理使用什麼策略和分配原則?

Zookeeper 中都有哪些服務器角色?

Zookeeper 隊列有哪些類型?

Zookeeper 中如何實現通知機制的?

Zookeeper 中對節點是永久watch監聽通知嗎?

說一說 Zookeeper 中數據同步流程?

說一說 Zookeeper 工作原理?

Zookeeper 中數據複製有什麼優點?

Zookeeper 中如何選取主 leader 的?

ZooKeeper 集羣中如何實現服務器之間通信?

Zookeeper 中支持自動清理日誌?

ZooKeeper 中節點增多時,什麼情況導致 PtBalancer 速度變慢?

ZooKeeper 中支持臨時節點創建子節點嗎?

ZooKeeper 中什麼情況下刪除臨時節點?

ZooKeeper 中是否支持禁止某一 IP 訪問?

Zookeeper 中都有哪些默認端口?

Zookeeper 節點存儲數據有沒有限制?

Zookeeper 中如何識別請求的先後順序?

Zookeeper 中 Stat 記錄有哪些版本相關數據?

Zookeeper 中定義了幾種操作權限?

Zookeeper 中什麼情況下導致 ZAB 進入恢復模式並選取新的 Leader?

Java 中常用的併發集合有哪些?

什麼是 HashSet?

什麼是 HashMap?

HashSet 和 HashMap 有什麼區別?

說一說 HashMap 的特性?

HashMap 中 put 是如何實現的?

HashMap 參數 loadFacto 作用是什麼?

HashMap 中一般使用什麼類型元素作爲 Key?

HashMap 超出負載因子 0.75 時有什麼操作?

Java 中兩個對象 hashCode 相等會產生什麼問題?

Java 中兩個鍵 hashCode 相等,如何獲取對象?

爲什麼不直接將key作爲哈希值而是與高16位做異或運算?

Java 中 List 和 Array 如何相互轉換?

Java 中什麼是 fail-fast?

Java 中什麼是 fail-safe?

Java 中如何確保一個集合不能被修改?

Java 中如何優化 ArrayList 集合插入萬條數據量?

什麼是 Servlet?

Servlet 的生命週期有哪幾個階段?

Servlet接口中有哪些方法?

Servlet 是線程安全的嗎?

Servlet 是單例還是多例?

Servlet 和 JSP 有什麼區別?

如何實現自定義一個 Servlet?

get 和 post 請求有什麼區別?

doGet 和 doPost 方法的兩個參數是什麼?

什麼情況下調用 doGet() 和 doPost()?

轉發(Forward)和重定向(Redirect)有什麼區別?

Servlet 中如何實現自動刷新(Refresh)?

Java 中 Request 對象都有哪些方法?

JSP 內置對象都有什麼作用?

Servlet API 中有哪些主要包?

編寫 Servlet 需要繼承什麼類?

編寫 Servlet 通常需要重寫哪兩個方法?

Servlet 執行時一般實現哪幾個方法?

Servlet 如何獲取傳遞的參數信息?

Servlet 中如何返回響應信息?

Servlet 中如何獲取 Session 對象?

Servlet 中過濾器有什麼作用?

ServletContext 接口包括哪些功能?分別用代碼示例。

如何實現 Servlet 單線程模式?

爲什麼要使用 Servlet?

說一說 Servlet 容器對 url 匹配過程?

jsp/servlet 中如何保證 browser 保存在 cache 中?

Servlet 中如何獲取客戶端機器的信息?

什麼是 Servlet 鏈?

Java 中 Servlet 主要功能作用是什麼?

JavaWeb 中四大域對象及作用範圍?

JSP 中靜態包含和動態包含有什麼區別?

JSP 和 HTML之間有什麼關係?

什麼是 Cookie?

什麼是 Session?

Session 和 Cookie 有什麼區別?

JSP 中動態 include 和靜態 include 有什麼區別?

什麼是 B/S 和 C/S?

Servlet 接口的層次結構?

什麼是 ServletContext?

Java 中如何獲取 ServletContext 實例?

Java 中 ServletContext 的生命週期?

Java 中 ServletContext 應用場景有哪些?

如何配置 Servlet 初始化參數?

如何讀取 Servlet 初始化參數?

Serlvet 中 init() 方法執行次數是多少?

Servlet 和 GCI 有什麼區別?

Java 中有哪些會話跟蹤技術作用域?

JSP 中 7 個動作指令和作用?

Java 中自定義標籤要繼承哪個類?

B/S 和 C/S 有什麼聯繫與區別?

JSP 中 <%…%> 和 <%!…%> 有什麼區別?

JSP 中如何解決中文亂碼問題?

Java 中什麼是重寫(Override)?

Java 中什麼是重載(Overload)?

Static Nested Class 和 Inner Class 有什麼區別?

GC是什麼?爲什麼要有GC?

Java 中常見都有哪些 RuntimeException?

Java 中常見的 Exception 和 Error 有哪些對象?

Java 中異常有分類哪幾種?

構造器 Constructor 是否可被重寫(Override)?

Java 中能否繼承 String 類?

Java 中最有效率方法算出 2 乘以 8 等於幾?

Java 中 >、>>、>>> 三者有什麼區別?

簡述邏輯操作(&,|,^)和條件操作(&&,||)有什麼區別?

Java 中實現多態的機制是什麼?

內部類引用其他類的成員有什麼限制?

Java 中 JDBC 調用數據庫有哪幾步驟?

JSP 中隱含對象都有哪些?

JSP 中 pageContext 對象有什麼作用?

JSP 中 config 對象有什麼作用?

JSP 中內置對象映射表?

JSP 中 request 對象有什麼作用?

JSP 中 response 對象有什麼作用?

JSP 中 session 對象有什麼作用?

JSP 中 application 對象有什麼作用?

JSP 中 out 對象有什麼作用?

JSP 中 cookie 對象有什麼作用?

JSP 中 exception 對象有什麼作用?

什麼是跨域?

爲什麼會出現跨域問題?

跨域問題有哪些解決方法?

Cookie 禁用,Session 還能用嗎?

Java 中存在內存泄漏嗎?

64 位 JVM 中 int 類型長度是多少?

Serial 與 Parallel GC 之間有什麼區別?

Java 中 WeakReference 和 SoftReference 有什麼區別?

JVM 中 -XX:+UseCompressedOops 選項有什麼作用?

JVM 中 32 位和 64 位的最大堆內存分別是多少?

描述一下 JVM 加載 class 文件的原理機制?

說一說 Java 中方法區\永久代(線程共享)?

Java 中什麼是新生代?

Java 中什麼是老年代?

Java 中什麼是永久代?

Java 中什麼是可達性分析?

Java 中什麼是 Serial 垃圾收集器?

Java 中什麼是 ParNew 垃圾收集器?

Java 中什麼是 Parallel Scavenge 收集器?

Java 中什麼是 CMS 收集器?

Java 中G1 收集器有什麼作用?

描述一下 JVM 類加載的過程?

Java 中什麼是 OSGI( 動態模型系統)?

Java 中 JVM 什麼時候會觸發 FullGC?

Java 中什麼是對象結構?

Java 中如何判斷對象可以被回收?

JVM 中永久代中會發生垃圾回收嗎?

JVM 中調優命令有哪些?

Java 中永久代爲什麼JDK1.8 之後被廢棄?

Java 中什麼是 HotSpot?

JVM 中內存區域分類有哪些?

JVM 中如何判斷一個對象是否存活?

Java 中什麼是內存模型?

Java 中單例模式有什麼優缺點?

Java 中單例模式使用時有哪些注意事項?

Java 中單例模式如何防止反射漏洞攻擊?

什麼是工廠模式?

Java 中工廠模式有什麼優勢?

說說你理解的 Spring 中工廠模式?

爲什麼 Spring IOC 要使用工廠模式創建 Bean?

Java 中工廠模式分爲哪幾大類?

Java 中什麼是簡單工廠模式?

Java 中簡單工廠模式有什麼優缺點?

Java 中什麼是工廠方法模式?

Java 中什麼是抽象工廠模式?

Java 中工廠方法模式有什麼應用場景?

Java 中抽象工廠模式有什麼應用場景?

Java 中代理模式有什麼應用場景?

Java 中代理模式有幾種分類?

Java 中三種代理模式有什麼區別?

Java 中代理模式如何實現 CGLIB 動態代理?

Java 中什麼是建造者模式?

Java 中建造者模式有什麼使用場景?

Java 中如何實現建造者模式?

Java 中什麼是模板方法模式?

Java 中什麼時候使用模板方法模式?

Java 中模板方法模式有什麼應用場景?

Java 中如何實現模板方法模式?

Java 中什麼是外觀模式?

Java 中外觀模式有什麼使用場景?

Java 中如何實現外觀模式?

Java 中外觀模式有什麼優勢?

Java 中什麼是原型模式?

Java 中原型模式有什麼應用場景?

Java 中原型模式有哪些使用方式?

Java 中原型模式如何實現淺拷貝?

Java 中原型模式如何實現深拷貝?

Java 中什麼是策略模式?

Java 中策略模式有什麼應用場景?

Java 中策略模式有什麼優缺點?

Java 中如何實現策略模式?

Java 中什麼是觀察者模式?

Java 中實現觀察者模式有哪兩種方式?

Java 中觀察者模式有什麼應用場景?

Java 中如何實現觀察者模式?

Java 中解釋器模式有什麼優點?

Java 中什麼是適配器模式?

Java 中適配器模式有什麼應用場景?

Java 中適配器模式有什麼優缺點?

Java 中實現適配器模式有幾種方式?

Java 中如何實現類的適配器模式?

裝飾模式和適配器模式有什麼區別?

Java 中如何實現對象的適配器模式?

Java 中什麼是裝飾模式?

裝飾模式和代理模式有什麼區別?

Java 中如何實現裝飾模式?

Java 中裝飾模式有什麼優缺點?

Java 中裝飾模式有什麼應用場景?

Java 中什麼是 Aspect 切面?

BeanFactory 和 ApplicationContext 有什麼區別?

Spring 中有幾種不同類型的自動代理?

Spring 中什麼是目標對象?

Spring 框架中事務管理有哪些優點?

JDK 動態代理和 CGLIB 動態代理有什麼區別?

Spring AOP 和 AspectJ AOP 有什麼區別?

Spring MVC 如何與 Ajax 相互調用?

Spring MVC 中如何攔截 get 方式請求?

Spring MVC 控制器註解一般適用什麼?可以適用什麼替代?

Spring MVC 中如何實現攔截器?

Spring MVC 中攔截器如何使用?

說一說 Spring MVC 註解原理?

Spring MVC 中日期類型參數如何接收?

Spring Cloud 中爲什麼要使用 Feign?

什麼是 Docker?

什麼是 Docker 鏡像?

什麼是 Docker 容器?

什麼是容器?什麼是 Docker?

Docker 容器有幾種狀態?

Docker 容器和虛擬機有什麼區別?

DockerFile 中最常見指令有哪些?

DockerFile中 COPY 和 ADD 命令有什麼區別?

Docker 中都有哪些常用命令?

Docker 容器和主機之間如何複製數據?

Docker 容器中如何啓動 Nginx 服務?

解釋一下 dockerfile 的 ONBUILD 指令?

什麼是 Docker Swarm?

生產環境中如何監控 Docker?

Docker 容器如何運行在非Linux系統?

Docker 中如何批量清理容器和鏡像文件?

Docker 中如何查看鏡像支持環境變量?

Docker 中本地鏡像文件一般存放在什麼位置?

構建 Docker 鏡像應該遵循哪些原則?

Docker 中一個容器可以同時運行多個應用進程嗎?

Docker 中如何查看輸出和日誌信息?

Docker 如何臨時退出正在交互容器終端?

Docker 中如何控制容器佔用系統資源情況?

Docker 中倉庫、註冊服務器、註冊索引有什麼聯繫?

Docker 和 LXC 有什麼區別?

Docker 和 Vagrant 有什麼區別?

Docker 環境如何遷移到另外宿主機?

Docker 有哪些優缺點?

Docker 中什麼是 Container?

Docker 中什麼是 Dockerfile?

Docker 中什麼是 Image?

Docker 中什麼是 Registry?

Nginx 和 apache 有什麼區別?

Nginx 中是如何實現高併發?

Nginx 中如何在 URL 中保留雙斜線?

Nginx 如何處理HTTP請求?

Nginx 爲什麼不使用多線程?

ngx_http_upstream_module 模塊有什麼作用?

什麼是 JavaConfig?

什麼是 YAML?

YAML 配置 和 properties 配置有什麼區別?

Spring Boot 是否可以使用 XML 配置?

Spring Boot 中核心配置文件是什麼?

bootstrap.properties 和 application.properties 有何區別?

什麼是 Spring Profiles?

Spring Security 和 Shiro 對比有什麼優缺點?

什麼是 Spring Batch?

什麼是 CSRF 攻擊?

Spring Boot 中監視器是什麼?

Spring Boot 中如何禁用 Actuator 端點安全性?

如何監視所有 Spring Boot 微服務?

spring-boot-starter-parent 有什麼用?

Spring Boot jar 和普通 jar 有什麼區別?

Spring Boot 中如何實現全局異常處理?

Spring Boot 中如何實現定時任務?

Spring Boot 中如何實現兼容老 Spring 項目?

Spring Boot 中如何解決跨域問題?

Spring Boot 內嵌容器默認是什麼?

MyBatis 中實現一對多關係有幾種方式?

MyBatis 中實現一對一關係有幾種方式?

Mybatis 中不同的 Xml 映射文件 ID 是否可以重複?

Xml 映射文件中除了常見的標籤外,還有哪些?

Mybatis 中有哪些動態 sql 標籤,有什麼作用?

MyBatis 中 Mapper 接口調用時有哪些要求?

Mybatis 中如何實現模糊查詢 like 語句?

Mybatis 中如何解決實體類屬性名和表字段名不一致問題?

Mybatis 中如何獲取自動生成的主鍵值?

什麼是 MyBatis 接口綁定?有哪些實現方式?

Mybatis 中分頁插件的原理是什麼?

Mybatis 插件運行原理,如何編寫一個插件?

Kafka 能否脫離 Zookeeper 單獨使用嗎?爲什麼?

RabbitMQ 實現消息持久化需要滿足哪些條件?

消息持久化有哪些缺點?如何緩解?

RabbitMQ 交換器類型有哪些?

RabbitMQ 如何確保每個消息能被消費?

RabbitMQ 接收到消息後必須消費嗎?

RabbitMQ 事務在什麼情況下是無效的?

Kafka 有幾種數據保留的策略?

Kafka 在什麼情況下回導致運行變慢?

Kafka 集羣使用時需要注意什麼?

Kafka 中位移 offset 有什麼作用?

什麼是 Apache Kafka?

Kafka 如何設置接收的消息大小?

監控 Kafka 的框架都有哪些?

Kafka 分區 Leader 選舉策略有幾種?

B+ 樹索引和哈希索引有什麼區別?

哈希索引不適用哪些場景?

B 樹和 B+ 樹有什麼區別?

爲什麼說 B+ 比 B 樹更適合實際應用中文件數據庫索引?

MySQL 中什麼是聯合索引?

在什麼情況下應少創建或不創建索引?

什麼是表分區?

表分區與分表有什麼區別?

表分區有什麼好處?

分區表都有哪些限制因素?

什麼是 MVCC?有哪些優勢?

MVCC 併發控制中讀操作分成哪兩類?

key 和 index 有什麼區別?

Mysql 中 MyISAM 和 InnoDB 的區別有哪些?

Mysql 中使用 MyISAM 和 InnoDB 如何選擇?

數據庫表創建都有哪些注意事項?

MySQL 中都有哪些鎖?

MySQL 中如何找出最後一次插入時分配的自動增量?

LIKE 聲明中 % 和 _ 是什麼含義?

時間戳如何在 Unix 和 MySQL 之間進行轉換?

MySQL 中 BLOB 和 TEXT 有什麼區別?

mysql_fetch_array 和 mysql_fetch_object有什麼區別?

MySQL 中有哪些非標準字符串類型?

MySQL 中數據一日十萬增量,預計三年運維如何優化?

MySQL 中什麼情況下設索引失效?

爲什麼索引列不能存 Null 值?

SQL 注入漏洞是什麼原因造成的?如何防止?

MySQL 中外連接、內連接與自連接有什麼區別?

MySQL 中事務回滾機制原理?

什麼是鎖?

什麼是視圖?

什麼是遊標?

什麼是存儲過程?如何調用?

視圖有哪些優點?

說一說 SQL 語句優化有哪些方法?

MySQL 中單表記錄數過大時如何優化?

什麼是髒讀、不可重複讀和幻讀?

MySQL 有哪幾種索引類型,各自特點?

什麼是聚簇索引?

什麼是非聚簇索引?

爲什麼要對網絡協議分層?

什麼是應用層?

什麼是傳輸層?

什麼是網絡層?

什麼是數據鏈路層?

什麼是物理層?

爲什麼 TCP 握手三次,揮手四次?

爲什麼 TCP 握手三次?兩次不可以嗎?

爲什麼客戶端發出第四次揮手確認報文後要等 2MSL才能釋放 TCP 連接?

如果已建立連接,此時客戶端出現故障會如何?

HTTP 和 HTTPS 有什麼區別?

什麼是對稱加密和非對稱加密?

什麼是 Token?

session 和 token 有什麼區別?

URL 和 URI 有什麼區別?

HTTP 中常見的請求頭有哪些?

HTTP 中常見的響應頭有哪些?

HTTP 中請求報文包含哪幾部分?

HTTP 中響應報文包含哪幾部分?

什麼是 Socket?

Socket 如何唯一標識一個進程?

通信雙方如何進行端口綁定?

Socket 屬於網絡的哪一層?

Socket 是全雙工通信的嗎?

HTTP 協議是全雙工通信的嗎?

TCP 中什麼是粘包和拆包?

TCP 中在什麼情況下發生粘包問題?

TCP 中粘包問題有什麼解決策略?

什麼是 Netty?

Netty 都有哪些特點?

Netty 有哪些應用場景?

什麼是 Netty 的零拷貝?

Netty 有哪些優勢?

Netty 高性能表現在哪些方面?

Netty 和 Tomcat 有什麼區別?

Netty 中有那些重要組件?

Netty 發送消息有幾種方式?

默認情況 Netty 起多少線程?何時啓動?

Netty 支持哪些心跳類型設置?

Netty 粘包和拆包是如何處理的,有哪些實現?

同步和異步有什麼區別?

阻塞和非阻塞有什麼區別?

Netty 和 Java NIO 有什麼區別,爲什麼不直接使用 JDK NIO 類庫?

Netty 中有哪些線程模型?

Java NIO 包括哪些組成部分?

說一說 NIOEventLoopGroup 源碼處理過程?

JDK 原生 NIO 程序有什麼問題?

什麼是 Reactor 線程模型?

Reactor 模型中有哪幾個關鍵組件?

Reactor 線程模型消息處理流程?

Reactor 線程模型有幾種模式?

Netty 中如何解決 TCP 粘包和拆包問題?

Java 中 JVM 使用哪些寄存器?

a.hashCode() 有什麼用?與 a.equals(b) 有什麼關係?

EventloopGroup 和 EventLoop 有什麼聯繫?

Netty 核⼼組件有哪些?分別有什麼作⽤?

Bootstrap 和 ServerBootstrap 瞭解過嗎?

NioEventLoopGroup 默認構造方法啓動幾個線程?

什麼是長連接?

等等。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章