?
跳槽時時刻刻都在發(fā)生,沒必要局限在金三銀四虱肄,金九銀十致板。但金銀月的確讓我學(xué)到很多。
今天給大家分享下我剛過不久的金三銀四跳槽中整理的Java面試大綱咏窿,其中大部分都是面試過程中的面試題斟或,可以對照這查漏補(bǔ)缺,當(dāng)然了集嵌,這里所列的肯定不可能覆蓋全部方式萝挤。
大部分情況御毅,這是一場面試的開門題,面試官問這個問題怜珍,主要是考察你的概述能力和全局視野端蛆。有的人經(jīng)常抱怨自己每天在堆業(yè)務(wù),但沒有成長酥泛。事實上今豆,很多情況下確實在堆業(yè)務(wù),但并不是沒有成長的柔袁。并非做中間件或者技術(shù)架構(gòu)才是成長呆躲,例如我們的需求分析能力,溝通協(xié)作能力捶索,產(chǎn)品思維能力歼秽,抽象建模能力等都是一個非常重要的硬實力。
好的情组,現(xiàn)在進(jìn)入正文燥筷。以下面試題為個人在面試過程中所遇到的,僅供參考院崇!如有錯誤肆氓,望指出。
HashMap&ConcurrentHashMap
再談?wù)勔恢耯ash算法底瓣?
樂觀鎖&悲觀鎖谢揪?
可重入鎖&Synchronize?
事務(wù)四大特性捐凭?
事務(wù)的二段提交機(jī)制?
聚簇索引&非聚簇索引拨扶?
用自己的實踐經(jīng)歷說一下索引的使用場景(說一個就要舉一個例子)?
當(dāng)前讀&快照讀茁肠?
類加載過程患民?
雙親委派機(jī)制及使用原因?
說說GC算法垦梆?
Http&Https的區(qū)別
Https的加密方式
線程池的核心參數(shù)和基本原理
線程池的調(diào)優(yōu)策略
說說自己參與的項目匹颤,技術(shù)難度在哪里?
Collections.sort底層排序方式托猩?
排序穩(wěn)定性印蓖?
具體場景的排序策略?
Http請求過程京腥,DNS解析過程
三次握手四次揮手
簡述線程池和并發(fā)工具的使用赦肃?
數(shù)據(jù)庫索引原理
頻繁老年代回收怎么分析解決
Spring IOC、AOP?
講講SpringBoot/SpringCloud的一些應(yīng)用他宛?
阻塞隊列不用java提供的自己怎么實現(xiàn)船侧,condition和wait不能用
擁塞窗口講一講,為什么要用慢啟動算法
負(fù)載均衡的原理堕汞?
Redis的數(shù)據(jù)一致性問題(分布式多節(jié)點(diǎn)環(huán)境 & 單機(jī)環(huán)境)勺爱?
講講docker容器晃琳?
如何實現(xiàn)何高并發(fā)下的削峰讯检,限流?
你有什么職業(yè)規(guī)劃(每個面試官都要問這個問題卫旱,三面也是)
java常用的數(shù)據(jù)結(jié)構(gòu)有哪些?哪些是線程安全的?是怎么保證線程安全的人灼?
Redis中的Lua有沒有使用過? 可以用來做什么? 為什么可以這么用?
線程池內(nèi)部工作原理可以說一下么?
死鎖是什么意思顾翼,形成條件是什么投放?出現(xiàn)死鎖是可以通過什么方式去排查。
在交易過程中如何放在用戶在支付時的重復(fù)支付(交叉支付)适贸,請寫出你了解的方案或使用的過的方案灸芳。
數(shù)據(jù)庫索引有哪幾種,他們之間的區(qū)別拜姿。
程序開發(fā)時通過開發(fā)工具DeBug調(diào)試時烙样,控制臺顯示的內(nèi)容都包含什么?哪些內(nèi)容可以幫助你發(fā)現(xiàn)問題和解決問題蕊肥。
RPC通信過程中谒获,假設(shè)A系統(tǒng)提供了一個方法入?yún)⑹且粋€JavaBean,出參也是一個JavaBean壁却。另外兩個系統(tǒng)B系統(tǒng)批狱、C系統(tǒng)調(diào)用接口,調(diào)用方B想讓提供方A增加一個返回參數(shù)展东,假設(shè)服務(wù)提供方A增加了返回參數(shù)赔硫,請問C系統(tǒng)調(diào)用方需要做什么處理?
了解哪些設(shè)計模式盐肃,用偽代碼實現(xiàn)一個你熟悉的設(shè)計模式卦停。
講一下怎么使用分布式鎖。
說說HashMap的原理, 以及HashMap如何擴(kuò)充bucket的大小恼蓬。
Redis的Pipeline是用來干什么的?
Mysql索引的分類(Btree, hash)惊完,各自使用什么情況 。
說說Myisam, Innodb區(qū)別处硬。
知道哪些負(fù)載均衡算法小槐。
說一下Btree的查找原理。
簡述三次握手,如果c端發(fā)起握手請求凿跳,s端無法立刻建立連接應(yīng)該回應(yīng)什么件豌?
http和https的區(qū)別,https原理控嗜,http2.0與1.0的區(qū)別茧彤。
Java的垃圾回收機(jī)制,Java文件加載機(jī)制疆栏,tomcat類加載機(jī)制曾掂,鎖機(jī)制,jvm原理及線上調(diào)優(yōu)壁顶,jvm內(nèi)存模型珠洗。
多線程,有哪些可以保持進(jìn)程同步的方法若专,創(chuàng)建線程的幾種方法许蓖,對i++多線程訪問你會怎么做。
Java的設(shè)計模式调衰,單例有什么模式膊爪,懶漢為什么加volotile,volotile的內(nèi)存屏障嚎莉,如何避免死鎖米酬。
考慮單例模式的編寫,要線程安全且內(nèi)存消耗新艽(劍指offer原題)淮逻。
String、StringBuilder阁簸、StringBuffer區(qū)別爬早;String類能被繼承嗎?為什么启妹?
在白紙上手寫二分法排序算法(lintcode上原題)筛严;二分查找的思想。
查找單鏈表中倒數(shù)第k個節(jié)點(diǎn)的算法饶米,手寫(lintcode上原題)桨啃;最常見的排序算法你見過哪些,快排的基本思想及時間復(fù)雜度檬输。
常見的數(shù)據(jù)結(jié)構(gòu)有哪些照瘾。
hashmap、hashcode一樣丧慈,不equals怎么處理 析命;hashcode實現(xiàn)原理主卫,currentHashMap原理,實現(xiàn)細(xì)節(jié)鹃愤,怎么實現(xiàn)同步的簇搅;類為什么要有hascode方法,是不是主要在集合類中都要實現(xiàn)hashcode方法软吐;equals方法怎么實現(xiàn)瘩将;兩個不同的對象可能有相同的hashcode值嗎;常用集合有哪些凹耙。
tcp三次握手姿现,四次揮手協(xié)議。
架構(gòu)設(shè)計一個開發(fā)性問題使兔,設(shè)計一個Nginx管理的中間件建钥,怎么設(shè)計藤韵。
所有的類都繼承與object虐沥,你用過object類的直接子類有哪些,object類常用的方法有哪些泽艘。
Java會出現(xiàn)內(nèi)存泄漏嗎欲险,如果回,在哪種情況下匹涮?
抽象類和接口的區(qū)別天试。
平時怎么擴(kuò)展自己的專業(yè)知識水平。
最后祝大家大廠offer拿到手軟然低,喜歡對你有幫助的話記得加個關(guān)注不迷路哦
還有關(guān)注我私信回復(fù)【面試】可以領(lǐng)取到一些個人收集的面試及電子書資料喜每,或許對你有幫助!
《Java學(xué)習(xí)雳攘、面試带兜;文檔、視頻資源免費(fèi)獲取》