經(jīng)過(guò)3個(gè)月一邊整理一邊復(fù)習(xí),把許多知識(shí)都系統(tǒng)的進(jìn)行梳理了一遍,很有融會(huì)貫通的感覺(jué)!各種面試題,在自己作答之后又參考了許多大佬的解答,學(xué)了很多大佬的思維方式。前段時(shí)間,集中進(jìn)行了幾輪面試,有阿里釘釘、字節(jié)跳動(dòng)創(chuàng)意中心、騰訊、美團(tuán),最終進(jìn)了騰訊內(nèi)容事業(yè)部,具體面試經(jīng)歷和面試題目,過(guò)段時(shí)間也會(huì)分享出來(lái)。最全思維導(dǎo)圖匯總!| 并發(fā)+JVM+Redis+MySQL+分布式+微服務(wù)+性能優(yōu)化
面試題:(部分)
Synchronized 相關(guān)問(wèn)題
1. Synchronized 用過(guò)嗎,其原理是什么?
2. 獲取對(duì)象的鎖,這個(gè)“鎖”到底是什么?如何確定對(duì)象的鎖?
3. 樂(lè)觀鎖一定就是好的嗎?
可重入鎖 ReentrantLock 及其他顯式鎖相關(guān)問(wèn)題
1. 除了 ReetrantLock,你還接觸過(guò) JUC 中的哪些并發(fā)工具?
2. CyclicBarrier 和 CountDownLatch 看起來(lái)很相似,請(qǐng)對(duì)比下呢?
Java 線程池相關(guān)問(wèn)題
1. Java 中的線程池是如何實(shí)現(xiàn)的?
2. 如何在 Java 線程池中提交線程?
Java 內(nèi)存模型相關(guān)問(wèn)題
1. 請(qǐng)對(duì)比下 volatile 對(duì)比 Synchronized 的異同。
2. 請(qǐng)談?wù)?ThreadLocal 是怎么解決并發(fā)安全的?
3. 很多人都說(shuō)要慎用 ThreadLocal,談?wù)勀愕睦斫猓褂?ThreadLocal 需要注意些什么?
4. 你在多線程環(huán)境中遇到的常見(jiàn)的問(wèn)題是什么?你是怎么解決它的?
5. ……
Java并發(fā)體系(xmind格式可在文末領(lǐng)?。?/span>
阿里面試必問(wèn)JVM!我們所有的程序都運(yùn)行在Java虛擬機(jī)上,只有對(duì)Java虛擬機(jī)底層原理進(jìn)行深入的學(xué)習(xí),全面理解JVM的運(yùn)行機(jī)制、運(yùn)行時(shí)數(shù)據(jù)區(qū)、垃圾收集算法等,還有事務(wù)及Spring MVC整個(gè)流程、AQS等。
知識(shí)點(diǎn):
1.基本概念和運(yùn)行過(guò)程
2.1線程
2.2 JVM內(nèi)存區(qū)域
2.3 JVM 運(yùn)行時(shí)內(nèi)存
2.4 垃圾回收與算法
2.5 JAVA 四中引用類型
2.6 分代收集算法VS 分區(qū)收集算法
2.7 GC 垃圾收集器
2.8 JAVA IO/NIO
2.9.JVM 類加載機(jī)制
面試題:(部分)
1. 什么情況下會(huì)發(fā)生棧內(nèi)存溢出。
2. JVM的內(nèi)存結(jié)構(gòu),Eden和Survivor比例。
3. JVM內(nèi)存為什么要分成新生代,老年代,持久代。新生代中為什么要分為Eden和Survivor。
4. JVM中一次完整的GC流程是怎樣的,對(duì)象如何晉升到老年代,說(shuō)說(shuō)你知道的幾種主要的JVM參數(shù)。
5. 你知道哪幾種垃圾收集器,各自的優(yōu)缺點(diǎn),重點(diǎn)講下cms和G1,包括原理,流程,優(yōu)缺點(diǎn)。
6. 垃圾回收算法的實(shí)現(xiàn)原理。
7. 當(dāng)出現(xiàn)了內(nèi)存溢出,你怎么排錯(cuò)。
……
JVM學(xué)習(xí)筆記(xmind格式可在文末領(lǐng)取)
知識(shí)點(diǎn):
MySQL存儲(chǔ)引擎
共享鎖及排它鎖
MySQL的分區(qū)
MySQL事務(wù)及隔離性級(jí)別
執(zhí)行計(jì)劃
Btree與B+tree索引
Sql慢查詢
Sql優(yōu)化
面試題:(部分)
1. 索引的工作原理及其種類;
2. 與Oracle相比,MySQL有什么優(yōu)勢(shì)?
3. 為什么B+樹(shù)相對(duì)于B樹(shù)在查詢上會(huì)更加優(yōu)秀嗎?
4. 一張表,里面有ID自增主鍵,當(dāng)insert 了17條記錄之后,刪除了第15,16,17 條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15?
5. 主鍵 超鍵 候選鍵 外鍵
6. 數(shù)據(jù)庫(kù)事務(wù)的四個(gè)特性及含義
7. ……
MySQL學(xué)習(xí)筆記
Redis在國(guó)內(nèi)各大公司都很熱門(mén),比如新浪、阿里、騰訊、百度、美團(tuán)、小米等。Redis也是大廠面試最愛(ài)問(wèn)的。項(xiàng)目中使用Redis,主要考慮性能和并發(fā)。
知識(shí)點(diǎn):
緩存一致性問(wèn)題;
分布式鎖
緩存
應(yīng)用場(chǎng)景
消息隊(duì)列
……
1.Redis相比memcached有哪些優(yōu)勢(shì)?
2.Redis常見(jiàn)性能問(wèn)題和解決方案
3.MySQL里有2000w數(shù)據(jù),Redis中只存20w的數(shù)據(jù),如何保證Redis中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)
4.Memcache與Redis的區(qū)別都有哪些?
5. Redis最適合的場(chǎng)景
6. 是否使用過(guò)Redis集群,集群的原理是什么?
7. ……
Redis學(xué)習(xí)筆記
Spring作為現(xiàn)在最流行Java開(kāi)發(fā)技術(shù),其內(nèi)部源碼設(shè)計(jì)非常優(yōu)秀;
MyBatis在阿里等大廠十分流行,BAT等一線互聯(lián)網(wǎng)公司面試也一定會(huì)涉及源碼解析的問(wèn)題。
知識(shí)點(diǎn):
Spring
AOP
IOC
事務(wù)管理
SpringMVC
MyBatis
面試題:(部分)
1. 使用Spring框架能帶來(lái)哪些好處?
2. 什么是控制反轉(zhuǎn)(IOC)?什么是依賴注入?
3. 請(qǐng)解釋Spring Bean的生命周期?
4. 你知道spring的生命周期初始化回調(diào)方法有幾種方法實(shí)現(xiàn)?實(shí)現(xiàn)原理是什么?或者說(shuō)他們的執(zhí)行時(shí)機(jī)和在bean的生命周期哪里體現(xiàn)了?
5. 你平常工作中有做過(guò)一些spring的二次開(kāi)發(fā)嗎?或者你有沒(méi)有針對(duì)spring去實(shí)現(xiàn)過(guò)擴(kuò)展?
6. MyBatis源碼中用了哪些設(shè)計(jì)模式?為什么要用這些設(shè)計(jì)模式?
7. 什么是緩存雪崩?如何解決?
8. ……
Spring學(xué)習(xí)筆記
知識(shí)點(diǎn):
分布式數(shù)據(jù)庫(kù): memcached、MongoDB、Redis 分布式通訊: ActiveMQ、RabbitMQ、Kafka 分布式限流: Nginx、zookeeper
面試題:(部分)
1. MongoDB的優(yōu)勢(shì)有哪些?
2. 在MongoDB中如何創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)?
3. zookeeper有哪些應(yīng)用場(chǎng)景?
4. zk的分布式鎖
5. 在Nginx中,如何使用未定義的服務(wù)器名稱來(lái)阻止處理請(qǐng)求?
6. 使用“反向代理服務(wù)器”的優(yōu)點(diǎn)是什么?
7. 請(qǐng)列舉Nginx服務(wù)器的最佳用途。
8. ……
kafka
知識(shí)點(diǎn):
Dubbo SpringBoot SpringCloud
面試題:(部分)
1. Dubbo支持哪些協(xié)議,每種協(xié)議的應(yīng)用場(chǎng)景,優(yōu)缺點(diǎn)?
2. Dubbo超時(shí)時(shí)間怎樣設(shè)置?
3. Dubbo集群的負(fù)載均衡有哪些策略
4. Dubbo的主要應(yīng)用場(chǎng)景?
5. Dubbo的核心功能?
6. springboot啟動(dòng)機(jī)制。
7. ……
Springboot學(xué)習(xí)筆記
知識(shí)點(diǎn):
MySQL優(yōu)化
JVM性能優(yōu)化
并發(fā)編程性能優(yōu)化
基礎(chǔ)代碼性能優(yōu)化
面試題:(部分)
1、雙11高并發(fā)大促場(chǎng)景下,為什么只能夠下訂單, 而不能夠退款?(服務(wù)降級(jí)等)
2、支付寶系統(tǒng)可以從哪些角度優(yōu)化提升性能?(緩存、異步、分布式等)
3、天貓上億商品數(shù)據(jù)如何完成快速統(tǒng)計(jì)?(Fork/Join任務(wù)拆分等)
4、支付寶轉(zhuǎn)賬提現(xiàn)功能應(yīng)該如何優(yōu)化?(一致性、高吞吐方案等)
5、淘寶網(wǎng)絡(luò)抖動(dòng),如何避免用戶重復(fù)下訂單?
6、……
性能優(yōu)化知識(shí)體系
聯(lián)系客服