前言
時間過的真快华弓,轉(zhuǎn)眼就2022了食零,現(xiàn)在面臨年底裁員,公司跳槽寂屏,不論是校招還是社招都避免不了各種面試俊扭,如何去準(zhǔn)備面試就變得格外重要了扭勉,相信一些小伙伴也在為自己的技術(shù),薪資,發(fā)展做提升的準(zhǔn)備花枫。
小編這次會從11個Java專題技術(shù)進(jìn)行分享庆锦,大致的目錄可以看看↓↓↓
1上忍、JAVA基礎(chǔ)
2腊状、JAVA并發(fā)
3、JVM
4昌粤、MySQL
5既绕、Redis
6啄刹、開發(fā)框架
7、分布式
8凄贩、微服務(wù)
9誓军、消息隊列
10、網(wǎng)絡(luò)
11疲扎、ES&項(xiàng)目實(shí)戰(zhàn)
一昵时、JAVA基礎(chǔ)
1、==和equals
2评肆、ArrayList和LinkedList有哪些區(qū)別
3、ConcurrentHashMap的擴(kuò)容機(jī)制
4非区、ConcurrentHashMap原理簡述瓜挽,jdk7和jdk8的區(qū)別
5、CopyOnWriteArrayList的底層原理是怎樣的
6征绸、hashcode和equals
7久橙、HashMap的擴(kuò)容機(jī)制原理
8、HashMap和HashTable的區(qū)別及底層實(shí)現(xiàn)
9管怠、java中的異常體系
10淆衷、JDK、JRE渤弛、JVM區(qū)別和聯(lián)系
11祝拯、List和Set
12、String她肯、StringBuffer佳头、StringBuilder的區(qū)別
13、Jdk1.7到Jdk1.8 java虛擬機(jī)發(fā)生了什么變化
14晴氨、說一下HashMap的Put方法
15康嘉、接口和抽象類
16、泛型中extends和super的區(qū)別
17籽前、深拷貝和淺拷貝
18亭珍、面向?qū)ο?/p>
19、重載和重寫的區(qū)別枝哄,【完整答案解析】
二肄梨、JAVA并發(fā)
1、CountDownLatch和Semaphore的區(qū)別和底層原理
2挠锥、ReentrantLock中tryLock()和lock()方法的區(qū)別
3峭范、ReentrantLock中的公平鎖和非公平鎖的底層實(shí)現(xiàn)
4、sleep瘪贱、wait纱控、join辆毡、yield
5、Sychronized的偏向鎖甜害、輕量級鎖舶掖、重量級鎖
6、Sychronized和ReentrantLock的區(qū)別
7尔店、ThreadLocal的底層原理
8眨攘、ThreadLocal的原理的使用場景
9、ThreadLocal內(nèi)存泄露問題嚣州,如何避免
10鲫售、Thread和Runnable
11、阿里一面:如何查看線程死鎖
12该肴、阿里一面:說一下ThreadLocal
13情竹、阿里一面:線程之間如何進(jìn)行通訊的
14、并發(fā)匀哄、并行秦效、串行
15、并發(fā)三大特性
16涎嚼、對線程安全的理解
17阱州、京東二面:并發(fā)編程三要素
18、京東一面:Java死鎖如何避免
19法梯、京東一面:如果你提交任務(wù)時苔货,線程池隊列已滿,這時會發(fā)生什么
20立哑、螞蟻二面:volatile關(guān)鍵字蒲赂,他是如何保證可見性,有序性
21刁憋、螞蟻一面:sychronized的自旋鎖滥嘴、偏向鎖、輕量級鎖至耻、重量級鎖若皱,分別介紹和聯(lián)系
22、螞蟻一面:sychronized和ReentrantLock的區(qū)別
23尘颓、螞蟻一面:簡述線程池原理走触,F(xiàn)ixedThreadPool用的阻塞隊列是什么
24、如何理解volatile關(guān)鍵字
25疤苹、說說你對守護(hù)線程的理解
26互广、線程池處理流程
27、線程池的底層工作原理
28、線程池中阻塞隊列的作用惫皱?為什么是先添加列隊而不是先創(chuàng)建最大線程
29像樊、線程的生命周期及狀態(tài)
三、JVM
1旅敷、GC如何判斷對象可以被回收
2生棍、JAVA類加載
3、java類加載器有哪些
4媳谁、JVM內(nèi)存模型
5涂滴、JVM有哪些垃圾回收器
6、JVM有哪些垃圾回收算法
7晴音、阿里一面:說一下JVM中柔纵,哪些是共享區(qū),哪些可以作為gc root
8锤躁、JVM中哪些是線程共享區(qū)
9搁料、阿里一面:你們項(xiàng)目如何排查JVM問題
10、京東二面:說說類加載器雙親委派模型
11进苍、螞蟻二面:Java的內(nèi)存結(jié)構(gòu)加缘,堆分為哪幾部分鸭叙,默認(rèn)年齡多大進(jìn)入老年代
12觉啊、你們項(xiàng)目如何排查JVM問題
13、如何進(jìn)行JVM調(diào)優(yōu)
14沈贝、什么是字節(jié)碼杠人,作用是什么
15、怎么確定一個對象是不是垃圾
四宋下、MySQL
1嗡善、ACID靠什么保證的
2、B樹和B+樹的區(qū)別学歧,為什么Mysql使用B+樹
3罩引、Explain語句結(jié)果中各個字段分表表示什么
4、Innodb是如何實(shí)現(xiàn)事務(wù)的
5枝笨、MySQL的索引結(jié)構(gòu)是什么樣的
6袁铐、MySQL的鎖有哪些
7、MySQL集群如何搭建
8横浑、mysql聚簇和非聚簇索引的區(qū)別
9剔桨、Mysql慢查詢該如何優(yōu)化?
10徙融、mysql索引結(jié)構(gòu)洒缀,各自的優(yōu)劣
11、mysql鎖的類型有哪些
12、Mysql鎖有哪些树绩,如何理解
13萨脑、MySQL有哪幾種數(shù)據(jù)存儲引擎
14、mysql執(zhí)行計劃怎么看
15葱峡、mysql主從同步原理
16砚哗、阿里二面:Innodb是如何實(shí)現(xiàn)事務(wù)的
17、阿里二面:Mysql數(shù)據(jù)庫中砰奕,什么情況下設(shè)置了索引但無法使用
18蛛芥、存儲拆分后如何解決唯一主鍵
19、海量數(shù)據(jù)下军援,如何快速查找一條記錄
20仅淑、簡述Myisam和Innodb的區(qū)別
21、簡述mysql中索引類型及對數(shù)據(jù)庫的性能的影響
22胸哥、螞蟻二面:Mysql的鎖你了解哪些
23涯竟、螞蟻一面:B樹和B+樹的區(qū)別,為什么Mysql使用B+樹
29空厌、事務(wù)的基本特性和隔離級別
30庐船、如何實(shí)現(xiàn)分庫分表
31、什么是MVCC
32嘲更、什么是臟讀筐钟、幻讀、不可重復(fù)讀
33赋朦、事務(wù)的基本特性和隔離級別
34篓冲、索引的基本原理
35、索引的設(shè)計原則
36宠哄、索引覆蓋是什么
37壹将、談?wù)勅绾螌ySQL進(jìn)行分庫分表
38、最左前綴原則是什么
五毛嫉、Redis
1诽俯、RDB和AOF機(jī)制
2、Redis單線程為什么這么快
3承粤、redis的持久化機(jī)制
4暴区、Redis的過期鍵的刪除策略
5、Redis分布式鎖底層是如何實(shí)現(xiàn)的密任?
6颜启、Redis和Mysql如何保證數(shù)據(jù)一致
7、redis集群方案
8浪讳、Redis如何設(shè)置key的過期時間
9缰盏、Redis線程模型,單線程為什么快
10、Redis有哪些數(shù)據(jù)結(jié)構(gòu)口猜?分別有哪些典型的應(yīng)用場景负溪?
11、redis主從復(fù)制的核心原理
12济炎、阿里二面:Redis的數(shù)據(jù)結(jié)構(gòu)及使用場景
13川抡、阿里二面:Redis集群策略
14、布隆過濾器原理须尚,優(yōu)缺點(diǎn)
15崖堤、常見的緩存淘汰算法
16、分布式系統(tǒng)中常用的緩存方案有哪些
17耐床、緩存穿透密幔、緩存擊穿、緩存雪崩
18撩轰、緩存穿透胯甩、緩存擊穿、緩存雪崩分別是什么
19堪嫂、緩存過期都有哪些策略
20偎箫、緩存雪崩、緩存穿透皆串、緩存擊穿
21淹办、簡述redis分布式鎖實(shí)現(xiàn)
22、簡述redis九大數(shù)據(jù)結(jié)構(gòu)
23愚战、簡述redis事務(wù)實(shí)現(xiàn)
24娇唯、簡述redis主從同步機(jī)制
25齐遵、如何保證Redis與數(shù)據(jù)庫的數(shù)據(jù)一致
26寂玲、如何保證數(shù)據(jù)庫與緩存的一致性
27、如何避免緩存穿透梗摇、緩存擊穿拓哟、緩存雪崩
28、說一下你知道的redis高可用方案
六伶授、開發(fā)框架
1断序、{}和${}的區(qū)別
2、ApplicationContext和BeanFactory有什么區(qū)別
3糜烹、BeanFactory和ApplicationContext有什么區(qū)別
4违诗、mybatis插件運(yùn)行原理及開發(fā)流程
5、Mybatis存在哪些優(yōu)點(diǎn)和缺點(diǎn)
6疮蹦、mybatis和hibernate的對比
7诸迟、spring、springmvc、springboot的區(qū)別
8阵苇、SpringBoot是如何啟動Tomcat的
9壁公、SpringBoot中常用注解及其底層實(shí)現(xiàn)
10、SpringBoot中配置文件的加載順序是怎樣的绅项?
11紊册、springboot自動配置原理
12、SpringMVC的底層工作流程
13快耿、springmvc的九大組件
14囊陡、springmvc工作流程
15、SpringMVC中的控制器是不是單例模式
16掀亥、spring的事務(wù)傳播機(jī)制
17关斜、Spring框架中的Bean是線程安全的嗎
18、Spring框架中的單例Bean是線程安全的么
19铺浇、spring框架中使用了哪些設(shè)計模式及應(yīng)用場景
20痢畜、Spring容器的啟動流程是怎樣的
21、Spring如何處理事務(wù)
22鳍侣、阿里二面:Spring中后置處理器的作用
23丁稀、阿里二面:如何實(shí)現(xiàn)AOP,項(xiàng)目哪些地方用到了AOP
24倚聚、阿里二面:說說常用的SpringBoot注解线衫,及其實(shí)現(xiàn)
25、阿里一面:還讀過哪些框架源碼介紹一下你還熟悉的
26惑折、阿里一面:介紹一下Spring授账,讀過源碼介紹一下大致流程
27、阿里一面:什么時候@Transactional失效
28惨驶、阿里一面:說一下Spring的事務(wù)機(jī)制
七白热、分布式
1、CAP理論粗卜,BASE理論
2屋确、Dubbo 的整體架構(gòu)設(shè)計及分層
3、Dubbo的架構(gòu)設(shè)計是怎樣的续扔?
4攻臀、dubbo和springcloud對比
5、dubbo集群容錯策略有哪些
6纱昧、Dubbo是如何完成服務(wù)導(dǎo)出的刨啸?
7、Dubbo是如何完成服務(wù)引入的识脆?
8设联、Dubbo是什么加匈?能做什么?
9仑荐、dubbo支持的協(xié)議有哪些
10雕拼、Dubbo支持的注冊中心有哪些
11、Dubbo支持哪些負(fù)載均衡策略
12粘招、dubbo中Zk集群掛掉啥寇,發(fā)布者和訂閱者還能通信么
13、Quorum洒扎、WARO機(jī)制
14辑甜、session的分布式方案
15、Spring Cloud和Dubbo的區(qū)別
16袍冷、zk的watch機(jī)制實(shí)現(xiàn)原理
17磷醋、zk的初始化選舉和崩潰選舉過程
18、zk的會話管理機(jī)制
19胡诗、zk的數(shù)據(jù)模型和節(jié)點(diǎn)類型
20邓线、zk的數(shù)據(jù)同步原理
21、zk分布式鎖實(shí)現(xiàn)原理
22煌恢、zk和eureka的區(qū)別
23骇陈、zk實(shí)際如何存儲dubbo生產(chǎn)者和消費(fèi)者信息
24、zk中一個客戶端修改了某個節(jié)點(diǎn)的數(shù)據(jù)瑰抵,其他客戶端能夠馬上獲取到這個最新數(shù)據(jù)嗎
25你雌、Zookeeper集群中節(jié)點(diǎn)之間數(shù)據(jù)是如何同步的
26、Zookeeper中的領(lǐng)導(dǎo)者選舉的流程是怎樣的二汛?
27婿崭、阿里二面:說說你了解的分布式鎖實(shí)現(xiàn)
28、阿里一面:Dubbo的負(fù)載均衡策略
29肴颊、阿里一面:Dubbo是如何做系統(tǒng)交互的
30氓栈、定時任務(wù)實(shí)現(xiàn)原理
31、對比兩階段苫昌,三階段有哪些改進(jìn)
32颤绕、分布式id生成方案
33幸海、分布式ID是什么祟身?有哪些解決方案?
34物独、分布式緩存尋址算法
35袜硫、分布式架構(gòu)下,Session 共享有什么方案
36挡篓、分布式事務(wù)如何處理
37婉陷、分布式事務(wù)有哪些解決方案
38帚称、分布式鎖的使用場景是什么?有哪些實(shí)現(xiàn)方案秽澳?
39闯睹、分布式鎖解決方案
40、分布式系統(tǒng)的設(shè)計目標(biāo)
八担神、微服務(wù)
1楼吃、SOA、分布式妄讯、微服務(wù)之間有什么關(guān)系和區(qū)別孩锡?
2、Spring Cloud和Dubbo有哪些區(qū)別亥贸?
3躬窜、Spring Cloud有哪些常用組件,作用是什么炕置?
4荣挨、SpringCloud和SpringCloudAlibaba都有哪些組件
5、springcloud核心組件及其作用
6朴摊、高并發(fā)場景下如何實(shí)現(xiàn)系統(tǒng)限流
7垦沉、京東一面:SpringCloud各組件功能,與Dubbo的區(qū)別
8仍劈、什么是Hystrix厕倍?簡述實(shí)現(xiàn)機(jī)制
9、什么是服務(wù)降級贩疙、什么是熔斷
10讹弯、什么是服務(wù)熔斷?什么是服務(wù)降級这溅?區(qū)別是什么组民?
11、什么是服務(wù)雪崩悲靴?什么是服務(wù)限流臭胜?
12、談?wù)勀銓ξ⒎?wù)的理解
13癞尚、項(xiàng)目中怎么保證微服務(wù)敏捷開發(fā)
14耸三、怎么拆解微服務(wù)中臺?
九浇揩、消息隊列
1仪壮、Kafka、ActiveMQ胳徽、RabbitMQ积锅、RocketMQ 對比
2爽彤、Kafka的Pull和Push分別有什么優(yōu)缺點(diǎn)
3、kafka高性能高吞吐的原因
4缚陷、Kafka是pull适篙?push?優(yōu)劣勢分析
5箫爷、Kafka為什么比RocketMQ的吞吐量要高
6匙瘪、Kafka消息丟失的場景及解決方案
7、Kafka消息高可靠解決方案
8蝶缀、Kafka中zk的作用
9丹喻、Kafka中高性能的原因分析
10、MQ如何保證分布式事務(wù)的最終一致性
11翁都、MQ如何保證消費(fèi)冪等性
12碍论、MQ如何保證消息的高效讀寫
13、MQ如何保證消息順序
14柄慰、MQ如何進(jìn)行產(chǎn)品選型
15鳍悠、MQ有什么用
16、rabbitmq的鏡像隊列原理
17坐搔、rabbitmq的死信隊列藏研、延遲隊列原理
18、rabbitmq可以直連隊列么
19概行、RabbitMQ如何保證消息的可靠性傳輸
20蠢挡、RabbitMQ如何確保消息發(fā)送 ? 消息接收凳忙?
21业踏、Rabbitmq事務(wù)消息
22、RabbitMQ死信隊列涧卵、延時隊列
23勤家、RocketMQ 如何保證不丟消息
24、RocketMQ 事務(wù)消息原理
25柳恐、RocketMQ 怎么實(shí)現(xiàn)順序消息
26伐脖、RocketMQ的底層實(shí)現(xiàn)原理
27、簡述kafka的rebalance機(jī)制
28乐设、簡述kafka架構(gòu)設(shè)計
29讼庇、簡述rabbitmq的持久化機(jī)制
30、簡述RabbitMQ的架構(gòu)設(shè)計
31伤提、簡述RabbitMq的交換機(jī)類型
32巫俺、簡述rabbitmq的普通集群模式
33、簡述RabbitMQ架構(gòu)設(shè)計
34肿男、簡述RabbitMQ事務(wù)消息機(jī)制
十介汹、網(wǎng)絡(luò)
1、BIO舶沛、NIO嘹承、AIO分別是什么
2、HTTP和HTTPS的區(qū)別
3如庭、Netty的高性能體現(xiàn)在哪些方面
4叹卷、Netty的線程模型是怎么樣的
5、Netty是什么坪它?和Tomcat有什么區(qū)別骤竹?特點(diǎn)是什么?
6往毡、TCP的三次握手和四次揮手
7蒙揣、Tomcat如何進(jìn)行優(yōu)化?
8开瞭、Tomcat中為什么要使用自定義類加載器
9懒震、京東二面:TCP的三次握手和四次揮手
10、跨域請求是什么嗤详?有什么問題个扰?怎么解決?
11葱色、零拷貝是什么
12递宅、瀏覽器發(fā)出一個請求到收到響應(yīng)經(jīng)歷了哪些步驟?
13苍狰、螞蟻一面:epoll和poll的區(qū)別
14恐锣、螞蟻一面:HTTPS是如何保證安全傳輸?shù)?/p>
15、如何設(shè)計一個開放授權(quán)平臺
16舞痰、什么是CSRF攻擊
17土榴、什么是OAuth2.0協(xié)議P1
18、什么是SSO
19响牛、什么是嵌入式服務(wù)器玷禽,為什么使用嵌入式服務(wù)器
20、什么是認(rèn)證和授權(quán)
十一呀打、ES&項(xiàng)目實(shí)戰(zhàn)
1矢赁、ES部署時如何優(yōu)化
2、ES了解多少
3贬丛、ES寫入數(shù)據(jù)與查詢數(shù)據(jù)的原理
4撩银、阿里二面:聊聊你最有成就感的項(xiàng)目
5、阿里二面:自己最有挑戰(zhàn)的項(xiàng)目豺憔、難點(diǎn)
6额获、京東二面:畫出項(xiàng)目架構(gòu)圖够庙,介紹自己所處的模塊
7、京東二面:快排算法
8抄邀、京東二面:圖的深度遍歷和廣度遍歷
9耘眨、京東一面:Maven中Package和Install的區(qū)別
10、京東一面:說說你常用的Linux基本操作命令
11境肾、京東一面:項(xiàng)目及主要負(fù)責(zé)的模塊
12剔难、京東一面:遇到過哪些設(shè)計模式
13、螞蟻二面:設(shè)計模式有哪些大類奥喻,及熟悉其中哪些設(shè)計模式
14偶宫、螞蟻一面:二叉搜索樹和平衡二叉樹有什么關(guān)系
總結(jié)
最近小編也在刷面試題,然后把一些面試官常問到的环鲤,比較困惑的都搜集并且整理成筆記了纯趋,因?yàn)榭紤]網(wǎng)上很多面試題都沒有答案解析,所以小編已經(jīng)把2022能夠問到的面試題以及答案解析都整理成合集了楔绞,希望可以對大家的面試能夠有幫助结闸。