![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2PnVGcq5Sd2l2MohGa2QnZvwFO1cDN0cjMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.jpeg)
資料結構,多線程,jvm,Spring,優化,消息架構,分布式,緩存等以及你使用過的架構且第一輪的基礎很重要,通過會後錄取可能性就相對高了!
一面(主要是jvm,并發,鎖,資料結構等基礎)
- 自我介紹(說說自己的擅長及拿手的技術)
- 說說treemap和HashMap的差別?HashMap和ConcurrentHashMap的差別?
- HashMap底層如何實作(JDK1.8有所改動)?
- 說說Hash的一緻算法?
- 你知道的GC算法和回收政策有哪些?GC的機制是什麼?
- 垃圾回收器的基本原理?是否可以立即回收記憶體?怎麼樣主動的通知JVM進行垃圾回收?
- 雙親委派模型機制
- 線程池建立的幾個核心構造參數是什麼?
- 樂觀鎖和悲觀鎖?可重入鎖和Synchronized?
- 他們都是可重入鎖嗎?哪個效率更高?
- CountDownLaunch和Cylicbarrior的差別以及分别是在哪樣場景下使用的?
- Http和Https的差別以及Https加密的方式?
- 以後的職業規劃和想法
二面(主要是資料庫,協定,Spring等)
- 自我介紹,聊下自己認為做得很好的項目!
- InnoDB支援的四種事務隔離級别名稱是什麼?之間的差別是什麼?MySQL隔離級别是什麼?
- 說說事務的特性?講講對慢查詢的分析?
- 你了解的BTree機制?
- 有哪些MySQL常用的優化方法?
- Http請求過程,DNS解析的過程?
- 三次握手和四次握手的過程?
- B+樹索引和Hash索引之間的差別?
- Spring IOC如何管理Bean之間的依賴關系,怎麼樣避免循環依賴?
- SpringBean建立過程中的設計模式?
- 說說AOP的實作原理?
- Tomcat的基本架構是什麼?
三面(主要是緩存,高并發,分布式)
- 自己項目中的總結的并發經驗
- 說說MySQL的鎖并發?加鎖的機制是什麼?
- 高并發場景下如何防止死鎖,保證資料的一緻性?
- 叢集和負載均衡的算法與實作?
- 說說分庫與分表設計?
- 分庫分表帶來的分布式困境與對應之策有哪些?
- Redis和Setnx指令是如何實作分布式鎖的?使用Redis怎麼進行異步隊列?會有什麼缺點?
- 緩存擊穿的概念和解決方案?
- Redis的資料結構?線程模型?Redis的資料淘汰機制?
- Redis的資料一緻性問題
- MQ底層原理的實作?
- 阻塞隊列不用Java提供的該怎麼實作?
- 講講負載均衡的原理?
- 如何實作高并發環境下的削峰、限流?
四面(主要項目入手)
講講項目中用到的中間件(Dubbo/MQ/Zookeeper/Redis/Kafka)?
- 什麼情況下會造成雪崩?該怎麼避免這種情況?
- 高并發架構的設計思路?
- 以前的項目中遇到的問題和解決政策?
- 生活中遇到過哪些挫折?最後怎麼解決的
擷取往期以上更多最新面試題資料,直接轉發一下這篇文章+關注公衆号【Java爛豬皮】關注後回複【666】即可擷取哦~