2021年眼看已經(jīng)結(jié)束了,馬上就要進(jìn)入的金三銀四面試季,不知道你收獲到心儀的offer了嗎?
今天為大家總結(jié)下大家在各個(gè)大廠遇到的面試題,并在文章末尾為大家準(zhǔn)備好了面試學(xué)習(xí)資料

阿里面試題總結(jié)
HashMap底層如何實(shí)現(xiàn)?
Hash一致算法?
說(shuō)說(shuō)HashMap和ConcurrentHashMap的區(qū)別?treemap和HashMap的區(qū)別?
java的內(nèi)存分區(qū)?
java對(duì)象的回收方式,回收算法?
CMS和G1了解嗎?
CMS解決什么問(wèn)題,說(shuō)一下回收的過(guò)程?
CMS回收停頓了幾次?
java棧什么時(shí)候會(huì)內(nèi)存溢出,java堆呢,說(shuō)一種場(chǎng)景?
集合類(lèi)如何解決這個(gè)問(wèn)題(軟引用和弱引用),講下這個(gè)兩個(gè)引用的區(qū)別?
java里的鎖了解哪些?
synchronized鎖升級(jí)的過(guò)程(偏向鎖到輕量鎖再到重量級(jí)鎖),分別如何實(shí)現(xiàn)的,解決的是哪些問(wèn)題?
Tomcat的基本架構(gòu)是什么?
什么是類(lèi)加載器?
說(shuō)說(shuō)雙親委派模型機(jī)制?
GC的機(jī)制是什么?GC算法和回收策略?
線程池由哪些組件組成?
有哪些線程池,分別怎么使用?拒絕策略有哪些?
什么時(shí)候多線程會(huì)發(fā)生死鎖,寫(xiě)一個(gè)例子?
Redis的數(shù)據(jù)結(jié)構(gòu)是什么? 線程模型說(shuō)一下?
講講Redis的數(shù)據(jù)淘汰機(jī)制?
說(shuō)說(shuō)Redis的數(shù)據(jù)一致性問(wèn)題?
Redis的分布式怎么做?
RPC講一下?
三次握手和四次揮手?如果沒(méi)有三次握手有問(wèn)題嗎?
Http請(qǐng)求過(guò)程,DNS解析的過(guò)程?
InnoDB支持的四種事務(wù)隔離級(jí)別名稱(chēng)是什么?有什么區(qū)別?說(shuō)說(shuō)MySQL隔離級(jí)別?
事務(wù)的特性及慢查詢(xún)?
BTree機(jī)制說(shuō)一下?
京東面試題總結(jié)
事務(wù)的ACID,其中把事務(wù)的隔離性詳細(xì)解釋一遍
臟讀、幻影讀、不可重復(fù)讀
紅黑樹(shù)、二叉樹(shù)的算法
平常用到哪些集合類(lèi)?ArrayList和LinkedList區(qū)別?HashMap內(nèi)部數(shù)據(jù)結(jié)構(gòu)?ConcurrentHashMap分段鎖?
jdk1.8中,對(duì)hashMap和concurrentHashMap做了哪些優(yōu)化
如何解決hash沖突的,以及如果沖突了,怎么在hash表中找到目標(biāo)值
synchronized 和 ReentranLock的區(qū)別?
ThreadLocal?應(yīng)用場(chǎng)景?
Java GC機(jī)制?GC Roots有哪些?
MySQL行鎖是否會(huì)有死鎖的情況?
樂(lè)觀鎖和悲觀鎖了解嗎?JDK中涉及到樂(lè)觀鎖和悲觀鎖的內(nèi)容?
Nginx負(fù)載均衡策略?
Nginx和其他負(fù)載均衡框架對(duì)比過(guò)嗎?
Redis是單線程?
Redis高并發(fā)快的原因?
如何利用Redis處理熱點(diǎn)數(shù)據(jù)
談?wù)凴edis哨兵、復(fù)制、集群
工作中技術(shù)優(yōu)化過(guò)哪些?JVM、MySQL、代碼等都談?wù)?/p>
Spring Cloud用到什么東西?如何實(shí)現(xiàn)負(fù)載均衡?服務(wù)掛了注冊(cè)中心怎么判斷?
網(wǎng)絡(luò)編程nio和netty相關(guān),netty的線程模型,零拷貝實(shí)現(xiàn)
分布式鎖的實(shí)現(xiàn)你知道的有哪些?具體詳細(xì)談一種實(shí)現(xiàn)方式
高并發(fā)的應(yīng)用場(chǎng)景,技術(shù)需要涉及到哪些?怎樣來(lái)架構(gòu)設(shè)計(jì)?
接著高并發(fā)的問(wèn)題,談到了秒殺等的技術(shù)應(yīng)用:kafka、redis、mycat等
美團(tuán)面試題總結(jié)
Zookeeper在項(xiàng)目中的使用及原理;
Springcloud的一些組件介紹;
多線程的創(chuàng)建方式
服務(wù)器CPU數(shù)量及線程池?cái)?shù)量的關(guān)系?
說(shuō)說(shuō)Mysql的sql優(yōu)化
Redis持久化方式:rdb、aof;redis中哪個(gè)版本開(kāi)始可以對(duì)分布式使用;
Nginx的使用場(chǎng)景;
Dubbo超時(shí)重試;Dubbo超時(shí)時(shí)間設(shè)置
如何保障請(qǐng)求執(zhí)行順序
分布式事物與分布式鎖(扣款不要出現(xiàn)負(fù)數(shù))
分布式session設(shè)置
JVM內(nèi)存模型
數(shù)據(jù)庫(kù)垂直和水平拆分
MyBatis如何分頁(yè);如何設(shè)置緩存;MySQL分頁(yè)
熟悉IO么?與NIO的區(qū)別,阻塞與非阻塞的區(qū)別
分布式session一致性
分布式接口的冪等性設(shè)計(jì)「不能重復(fù)扣款」
網(wǎng)易面試題總結(jié)
如何保證服務(wù)冪等性?
kafka數(shù)據(jù)分區(qū)和消費(fèi)者的關(guān)系,kafka的數(shù)據(jù)offset讀取流程,kafka內(nèi)部如何保證順序,結(jié)合外部組件如何保證消費(fèi)者的順序
cms垃圾回收機(jī)制
springcloud各個(gè)組件功能,內(nèi)部細(xì)節(jié),與dubbo區(qū)別,dubbo架構(gòu),dubbo負(fù)載策略
mapreduce原理
nio,bio,sellector/epoll,aio,netty?帶編解碼器,netty優(yōu)勢(shì),java內(nèi)存模型
akka模型
java arraylist,linkedlist區(qū)分及實(shí)現(xiàn)原理,hashmap和concurrenthashmap區(qū)分及實(shí)現(xiàn)原理,concurrenthashmap 1.7和1.8區(qū)分, 實(shí)現(xiàn)細(xì)節(jié),linkedhashmap排序原理,應(yīng)?如何保證數(shù)據(jù)冪等
web.xml listener,filter,servlet加載順序。如何不再web,xml中配置來(lái)加載filter
?窮數(shù)就topK問(wèn)題,提供多個(gè)?案
CourrentHashMap JDK1.7和JDK1.8有什么區(qū)別?
線程a,b,c,d運(yùn)?任務(wù),怎么保證當(dāng)a,b,c線程執(zhí)?完再執(zhí)?d線程?
.分布式系統(tǒng)中如何保證數(shù)據(jù)的?致性?
.拆分微服務(wù)應(yīng)該注意哪些地?,如何拆分?
SpringCloud全家桶包含哪些組件?
有沒(méi)了解Docker,Docker和虛擬機(jī)有什么區(qū)別?
同?個(gè)宿主機(jī)中多個(gè)Docker容器之間如何通信?多個(gè)宿主機(jī)中Docker容器之間如何通信?
?并發(fā)系統(tǒng)如何做性能優(yōu)化?如何防?庫(kù)存超賣(mài)?
最后總結(jié)
看了這么多面試發(fā)現(xiàn)大廠會(huì)被問(wèn)到最多的知識(shí)點(diǎn)就是:JVM原理、多線程、數(shù)據(jù)結(jié)構(gòu)和算法、高并發(fā)、設(shè)計(jì)模式等內(nèi)容,都說(shuō)面試造火箭,大環(huán)境如此,那你也要把火箭造好,不然連擰螺絲的機(jī)會(huì)都沒(méi)有,以下是為大家整理的大廠學(xué)習(xí)路線梳理以及學(xué)習(xí)資料:
筑基必備技能:并發(fā)編程,JVM,網(wǎng)絡(luò)編程與高效IO,Mysql,Tomcat
設(shè)計(jì)思想與開(kāi)源框架:SSM(Spring+SpringMVC+MyBatis)
性能直線提升架構(gòu)技術(shù):ZK,Nginx,RabbitMQ,RocketMQ,Kafka,elastic
高效存儲(chǔ)讓項(xiàng)目性能起飛:Redis,MongoDB,MySQL,Mycat
分布式擴(kuò)展到微服務(wù)架構(gòu):SpringBoot,SpringCloud,SpringCloud Alibaba,Docker,K8S
以下資料適合工作1-3年中高級(jí)程序員領(lǐng)取





說(shuō)明:本文限于篇幅,故而只展示部分的面試內(nèi)容,完整的 Java面試學(xué)習(xí)文檔小編已經(jīng)幫你整理好了,有需要的朋友點(diǎn)贊+關(guān)注我后,點(diǎn)擊此處領(lǐng)取Java、大廠面試學(xué)習(xí)資料哦