JVM+Redis+Kafka +數據庫+設計模式 - 阿里、騰訊、京東等各BATJ大廠面試題分享【附帶答案】

前言

金三銀四面試季雖然已經過去,但是還是有不少程序員以及應聘生還在找工作,最近跟朋友在一起聚會的時候,提了一個問題,說1-3年的Java程序員,薪資區間大致是在15-25K左右,那有沒有可能提前達到30K的薪資呢?有人說這隻能是大企業或者互聯網企業工程師才能拿到。也許是的,小公司或者非互聯網企業拿30K的不太可能是初級開發或者碼農了,應該已經轉管理。還有區域問題,這個是不在我的考慮範圍內 因爲除了北上廣深杭,其他地方也很難達到。

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面試題,以下今年最新整理出的BATJ資深Java必考題和答案。

BATJ高級Java面試題分享:JVM+Redis+Kafka +數據庫+設計模式

 

BATJ高級Java面試題分享:JVM+Redis+Kafka +數據庫+設計模式

 

BATJ高級Java面試題分享:JVM+Redis+Kafka +數據庫+設計模式

 

答案獲取方式

關注後+回覆關鍵詞 【面試資料】即可獲取~

 

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