面試時間將近兩個小時(期間等待二面面試官來面我的時候等了半個多小時)面試官問的東西很多,還挖了好幾個坑,一個技術點套著一個技術點的問,一定要做好萬全的準備,問了一些基本層面上的技術點都答出來了,稍微問深一點我就有點懵了(實戰經驗還是不足),
回來之后把這些題目做了一個分類并整理出答案(每次去面試的時候面試官問的問題面試結束后我都會做筆記)分為Spring+邏輯演算法+MySQL+Java+Redis+并發編程+JVM+RabbitMQ等,接下來分享一下我的這次螞蟻二面面經+一些我的學習筆記,
注意注意!!!:需要小編整理的Spring+邏輯演算法+MySQL+Java+Redis+并發編程+JVM+RabbitMQ等面試答案、學習檔案筆記、思維導圖(xmind)的朋友可以點個喜歡
需要獲取得話麻煩一鍵三連之后看下圖小助理的微信:(vip1024x)添加即可免費獲取到哦

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.2 Spring學習路線思維導圖
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.2 MySQL學習路線思維導圖
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.1 我的JVM虛擬機面試專題筆記
- 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開發的朋友們有所參考以及少走彎路,本文的重點是你有沒有識訓與成長,其余的都不重要,希望讀者們能謹記這一點,
需要獲取得話麻煩一鍵三連之后看下圖小助理的微信:(vip1024x)添加即可免費獲取到哦

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/224776.html
標籤:其他
