java面試一般多長時間,BAT面試文件
阿新 • • 發佈:2021-10-09
1.美團面試官問的Spring Boot問題
- 什麼是 Spring Boot?
- 為什麼要用 Spring Boot?
- Spring Boot 的核心配置檔案有哪幾個?它們的區別是什麼?
- Spring Boot 的配置檔案有哪幾種格式?它們有什麼區別?
- Spring Boot 的核心註解是哪個?它主要由哪幾個註解組成的?
- 開啟 Spring Boot 特性有哪幾種方式?
- Spring Boot 需要獨立的容器執行嗎?
- 執行 Spring Boot 有哪幾種方式?
- Spring Boot 自動配置原理是什麼?
- Spring Boot 的目錄結構是怎樣的?
1.1我的Spring Boot學習筆記
- Spring Boot、Spring MVC 和 Spring 有什麼區別?
- 什麼是自動配置?
- 什麼是 Spring Boot Stater ?
- 你能否舉一個例子來解釋更多 Staters 的內容?
- Spring Boot 還提供了其它的哪些 Starter Project Options?
- Spring 是如何快速建立產品就緒應用程式的?
- 建立一個 Spring Boot Project 的最簡單的方法是什麼?
- Spring Initializr 是建立 Spring Boot Projects 的唯一
- 為什麼我們需要 spring-boot-maven-plugin?
- 如何使用 SpringBoot 自動重灌我的應用程式?
- 什麼是嵌入式伺服器?我們為什麼要使用嵌入式伺服器呢?
- 如何在 Spring Boot 中新增通用的 JS 程式碼?
1.2Spring學習路線思維導圖
2.美團面試官問的RabbitMQ問題
- 使用RabbitMQ有什麼好處?
- RabbitMQ 中的 broker 是指什麼?cluster 又是指什麼?
- RabbitMQ 概念裡的 channel、exchange 和 queue 是邏輯概念,還是對應著程序實體?分別起什麼作用?
- vhost 是什麼?起什麼作用?
- 訊息基於什麼傳輸?
- 訊息如何分發?
- 訊息怎麼路由?
- 什麼是元資料?元資料分為哪些型別?包括哪些內容?與 cluster 相關的元資料有哪些?元資料是如何儲存的?元資料在 cluster 中是如何分佈的?
2.1我的RabbitMQ學習筆記
- 什麼是rabbitmq
- 為什麼要使用rabbitmq
- 使用rabbitmq的場景
- 如何確保訊息正確地傳送至RabbitMQ? 如何確保訊息接收方消費了訊息?
- 如何避免訊息重複投遞或重複消費?
- 訊息基於什麼傳輸?
- 訊息如何分發?
- 訊息怎麼路由?
- 如何確保訊息不丟失?
- 使用RabbitMQ有什麼好處?
- rabbitmq的叢集
- mq的缺點
3.美團面試官問的MySQL問題
- 事務四大特性
- MySQL的事務隔離級別
- 資料庫的索引
- 資料庫三正規化
- 髒讀&不可重複讀&幻讀
- 儲存引擎 MyISAM和InnoDB區別
- Mysql中有哪幾種鎖?
- 講一下儲存過程
3.1我的MySQL靈魂拷問筆記
- Mysql的技術特點是什麼?
- Heap表是什麼?
- Mysql伺服器預設埠是什麼?
- 與Oracle相比,Mysql有什麼優勢?
- 如何區分FLOAT和DOUBLE?
- 如何獲取當前的Mysql版本?
- Mysql中使用什麼儲存引擎?
- Mysql驅動程式是什麼?
- 主鍵和候選鍵有什麼區別?
- 如何使用Unix shell登入Mysql?
- 你怎麼看到為表格定義的所有索引?
- InnoDB是什麼?
3.2MySQL學習路線思維導圖
4.美團面試官問的設計模式問題
- 請列舉出在JDK中幾個常用的設計模式?
- 什麼是設計模式?你是否在你的程式碼裡面使用過任何設計模式?
- Java 中什麼叫單例設計模式?請用Java 寫出執行緒安全的單例模式
- 在 Java 中,什麼叫觀察者設計模式(observer design pattern)?
- 使用工廠模式最主要的好處是什麼?在哪裡使用?
- 舉一個用 Java 實現的裝飾模式(decorator design pattern)?它是作用於物件層次還是類層次?
- 在 Java 中,為什麼不允許從靜態方法中訪問非靜態變數?
- 例說明什麼情況下會更傾向於使用抽象類而不是介面?
4.1 23種設計模式知識要點
- 單例模式
- 工廠模式
- 抽象工廠模式
- 模板方法模式
- 建造者模式
- 代理模式
- 原型模式
- 中介者模式
- 命令模式
- 責任鏈模式
4.2設計模式學習路線思維導圖
5.美團面試官問的併發程式設計問題
- Java中有幾種方法可以實現一個執行緒?
- 如何停止一個正在執行的執行緒?
- 什麼是Daemon執行緒?它有什麼意義?
- ava如何實現多執行緒之間的通訊和協作?
- 樂觀鎖和悲觀鎖的理解及如何實現,有哪些實現方式?
- 什麼是可重入鎖(ReentrantLock)?
- 什麼叫執行緒安全?servlet是執行緒安全嗎?
- 同步有幾種實現方法?
5.1併發程式設計面試專題
- Java中守護執行緒和本地執行緒區別
- 什麼是多執行緒中的上下文切換
- 死鎖與活鎖的區別,死鎖與飢餓的區別
- 執行緒與程序的區別
- Java中用到的執行緒排程演算法是什麼
- 什麼是執行緒組,為什麼在Java中不推薦使用
- 在Java中Executor和Executors的區別
- 什麼是原子操作,在Java Concurrency API中有哪些原子類(atomic classes)
- 什麼是Executors框架
- 什麼是阻塞佇列,阻塞佇列的實現原理是什麼,如何使用阻塞佇列來實現生產者-消費者模型
5.2併發程式設計學習路線思維導圖
6.美團面試官問的JVM虛擬機器問題
- 什麼是Java虛擬機器?為什麼Java被稱作是“平臺無關的程式語言”?
- 什麼是類的載入
- 描述一下JVM載入class檔案的原理機制?
- 如何判斷物件可以被回收?
- 什麼時候一個物件會被GC?
- 為什麼要在這種時候物件才會被GC?
- JVM記憶體分為哪幾部分,這些部分分別都儲存哪些資料?
- 一個物件從建立到銷燬都是怎麼在這些部分裡存活和轉移的?
6.1JVM虛擬機器面試專題
- Java 類載入過程?
- 描述一下 JVM 載入 Class 檔案的原理機制?
- Java 記憶體分配。
- GC 是什麼? 為什麼要有 GC?
- 簡述 Java 垃圾回收機制。
- 如何判斷一個物件是否存活?(或者 GC 物件的判定方法)
- 垃圾回收的優點和原理。並考慮 2 種回收機制。
- 垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收記憶體嗎?有什麼辦法主動通知虛擬機器進行垃圾回收?
- Java 中會存在記憶體洩漏嗎,請簡單描述。
- 深拷貝和淺拷貝
6.2 JVM虛擬機器學習路線思維導圖
7.美團面試官問的Redis問題
- 什麼是Redis?簡述它的優缺點?
- Redis相比memcached有哪些優勢?
- Redis支援哪幾種資料型別?
- Redis主要消耗什麼物理資源?
- Redis的全稱是什麼?
- Redis有哪幾種資料淘汰策略?
- Redis官方為什麼不提供Windows版本?
- Redis叢集方案應該怎麼做?都有哪些方案?
- 為什麼Redis需要把所有資料放到記憶體中?
- Redis有哪些適合的場景?
7.1 Redis面試專題
- 為什麼要用 redis /為什麼要用快取
- 為什麼要用 redis 而不用 map/guava 做快取?
- redis 和 memcached 的區別
- redis 常見資料結構以及使用場景分析
- redis 設定過期時間
- redis 記憶體淘汰機制(MySQL裡有2000w資料,Redis中只存20w的資料,如何保證Redis中的資料都是熱點資料?)
- redis 持久化機制(怎麼保證 redis 掛掉之後再重啟資料可以進行恢復)
- redis 事務
- Redis 常見異常及解決方案
- 分散式環境下常見的應用場景
7.2 Redis學習路線思維導圖
8. 我的參考學習資料:Java核心知識點整理
JVM,集合,HTTP網路,多執行緒併發,JAVA基礎,Spring,微服務,Zookeeper,Kafka,RabbitMQ,Hbase,訊息中介軟體,MongoDB,設計模式,負載均衡,資料庫,一致性雜湊,演算法,資料結構,加密演算法,分散式快取,Netty,Linux,Tomcat,Nginx,Redis等
9. 各類學習書籍整理
10. 各類面試題整理
最後
看完上述知識點如果你深感Java基礎不夠紮實,或者刷題刷的不夠、知識不全面
小編專門為你量身定製了一套<Java一線大廠高崗面試題解析合集:JAVA基礎-中級-高階面試+SSM框架+分散式+效能調優+微服務+併發程式設計+網路+設計模式+資料結構與演算法>
針對知識面不夠,也莫慌!還有一整套的<Java核心進階手冊>,可以瞬間查漏補缺
全都是一丟一丟的收集整理純手打出來的
更有純手繪的各大知識體系大綱,可供梳理:Java築基、MySQL、Redis、併發程式設計、Spring、分散式高效能架構知識、微服務架構知識、開源框架知識點等等的xmind手繪圖~