2021年Java高頻面試題分享(中高階版):JVM+Redis+Kafka +資料庫+設計模式

yunduo1發表於2020-11-27

話不多說,這些都是這幾年來BATJ面試問的最多關於Java的面試題,大家可以以這個為標準!多做準備!

幫忙轉發一下,關注後新增助理vx:yunduoa2019或掃描下圖二維碼,跟隨助理指引自行獲取

Mysql

  1. 與 Oracle 相比, Mysql 有什麼優勢?
  2. 簡潔描述 Mysql 中 InnoDB 支援的四種事務隔離級別名稱,以及逐級之間的區別?
  3. 在 Mysql 中 ENUM 的用法是什麼?
  4. Mysql 中使用什麼儲存引擎?
  5. 如何使用 Unix shell 登入 Mysql
  6. Mysql 中有哪幾種鎖?簡單介紹一下

JVM

  1. GC 的三種收集方法:標記清除、標記整理、複製演算法的原理與特點,分別用在什麼地方,如果讓你優化收集方法,有什麼思路?
  2. GC 收集器有哪些? CMS 收集器與 G1 收集器的特點。
  3. JVM 記憶體分哪幾個區,每個區的作用是什麼?
  4. 如和判斷一個物件是否存活?(或者 GC 物件的判定方法)
  5. 簡述 java 類載入機制?
  6. 什麼是類載入器,類載入器有哪些?

Tomcat

  1. Tomcat 的預設埠是多少,怎麼修改?
  2. tomcat 有哪幾種 Connector 執行模式(優化)?
  3. Tomcat 有幾種部署方式?
  4. 監視 Tomcat 的記憶體使用情況
  5. Tomcat 一個請求的完整過程
  6. Tomcat 工作模式

Redis

  1. redis 主從複製如何實現的? redis 的叢集模式如何實現? redis 的 key 是如何定址的?
  2. 使用 redis 如何設計分散式鎖?說一下實現思路?使用 zk 可以嗎?如何實現?這兩種有什麼區別?
  3. 知道 redis 的持久化嗎?底層如何實現的?有什麼優點缺點?
  4. redis 過期策略都有哪些? LRU 演算法知道嗎?寫一下 java 程式碼實現
  5. 快取穿透、快取擊穿、快取雪崩解決方案?
  6. 在選擇快取時,什麼時候選擇 redis,什麼時候選擇 memcached

多執行緒

  1. 現在有 T1、 T2、 T3 三個執行緒,你怎樣保證 T2 在 T1 執行完後執行, T3 在 T2 執行完後執行?
  2. 在 java 中 wait 和 sleep 方法的不同?
  3. 用 Java 程式設計一個會導致死鎖的程式,你將怎麼解決?
  4. 什麼是競爭條件?你怎樣發現和解決競爭?
  5. 為什麼我們呼叫 start()方法時會執行 run()方法,為什麼我們不能直接呼叫 run()方法?
  6. Java 中你怎樣喚醒一個阻塞的執行緒?

設計模式

  1. 在 Java 中,為什麼不允許從靜態方法中訪問非靜態變數?
  2. 在 Java 中,什麼時候用過載,什麼時候用重寫?
  3. 舉例說明什麼情況下會更傾向於使用抽象類而不是介面?
  4. Java 中什麼叫單例設計模式?請用 Java 寫出執行緒安全的單例模式
  5. 什麼是設計模式?你是否在你的程式碼裡面使用過任何設計模式?
  6. 請列舉出在 JDK 中幾個常用的設計模式?

Nginx

  1. 請列舉 Nginx 的一些特性
  2. 請解釋 Nginx 如何處理 HTTP 請求。
  3. 使用“反向代理伺服器”的優點是什麼?
  4. 請列舉 Nginx 伺服器的最佳用途。
  5. 請解釋你如何通過不同於 80 的埠開啟 Nginx?
  6. 在 Nginx 中,解釋如何在 URL 中保留雙斜線?

ActiveMQ

  1. ActiveMQ 伺服器當機怎麼辦?
  2. ActiveMQ 中的訊息重發時間間隔和重發次數嗎?

Kafka

  1. Kafka 判斷一個節點是否還活著有那兩個條件?
  2. Kafa consumer 是否可以消費指定分割槽訊息?
  3. Kafka 訊息是採用 Pull 模式,還是 Push 模式?
  4. Kafka 儲存在硬碟上的訊息格式是什麼?
  5. Kafka 建立 Topic 時如何將分割槽放置到不同的 Broker 中
  6. kafka 的 ack 機制

以上這些都是我總結的Java面試題,以下2019最新整理出的BATJ資深Java必考題和答案。

BATJ高階Java面試題分享:JVM+Redis+Kafka +資料庫+設計模式

 

BATJ高階Java面試題分享:JVM+Redis+Kafka +資料庫+設計模式

 

BATJ高階Java面試題分享:JVM+Redis+Kafka +資料庫+設計模式

 

答案獲取方式

幫忙轉發一下,關注後新增助理vx:yunduoa2019或掃描下圖二維碼,跟隨助理指引自行獲取

相關文章