轉(zhuǎn)載:http://url.cn/5yZONtY
跳槽時(shí)時(shí)刻刻都在發(fā)生,但是我建議大家跳槽之前,先想清楚為什么要跳槽才菠。切不可跟風(fēng),看到同事一個(gè)個(gè)都走了贡定,自己也盲目的面試起來(lái)(期間也沒(méi)有準(zhǔn)備充分)赋访,到底是因?yàn)榧夹g(shù)原因(影響自己的發(fā)展,偏移自己規(guī)劃的軌跡)缓待,還是錢給少了蚓耽,不受重視。
準(zhǔn)備不充分的面試旋炒,完全是浪費(fèi)時(shí)間步悠,更是對(duì)自己的不負(fù)責(zé)(如果title很高,當(dāng)我沒(méi)說(shuō))国葬。
今天給大家分享下chenssy在這次跳槽中整理的Java面試大綱贤徒,其中大部分都是面試過(guò)程中的面試題,可以對(duì)照這查漏補(bǔ)缺汇四,當(dāng)然了接奈,這里所列的肯定不可能覆蓋全部方式。
項(xiàng)目介紹
大部分情況通孽,這是一場(chǎng)面試的開(kāi)門題序宦,面試官問(wèn)這個(gè)問(wèn)題,主要是考察你的概述能力和全局視野背苦。有的人經(jīng)常抱怨自己每天在堆業(yè)務(wù)互捌,但沒(méi)有成長(zhǎng)。事實(shí)上行剂,很多情況下確實(shí)在堆業(yè)務(wù)秕噪,但并不是沒(méi)有成長(zhǎng)的。并非做中間件或者技術(shù)架構(gòu)才是成長(zhǎng)厚宰,例如我們的需求分析能力腌巾,溝通協(xié)作能力遂填,產(chǎn)品思維能力,抽象建模能力等都是一個(gè)非常重要的硬實(shí)力澈蝙。
好的吓坚,現(xiàn)在進(jìn)入正文。
1灯荧、明確項(xiàng)目是做什么的
2礁击、明確項(xiàng)目的價(jià)值。(為什么做這個(gè)項(xiàng)目逗载,它解決了用戶什么痛點(diǎn)哆窿,它帶來(lái)什么價(jià)值?)
3厉斟、明確項(xiàng)目的功能更耻。(這個(gè)項(xiàng)目涉及哪些功能?)
4捏膨、明確項(xiàng)目的技術(shù)秧均。(這個(gè)項(xiàng)目用到哪些技術(shù)?)
5号涯、明確個(gè)人在項(xiàng)目中的位置和作用目胡。(你在這個(gè)項(xiàng)目的承擔(dān)角色?)
6链快、明確項(xiàng)目的整體架構(gòu)誉己。
7、明確項(xiàng)目的優(yōu)缺點(diǎn),如果重新設(shè)計(jì)你會(huì)如何設(shè)計(jì)域蜗。
8巨双、明確項(xiàng)目的亮點(diǎn)。(這個(gè)項(xiàng)目有什么亮點(diǎn)霉祸?)
9筑累、明確技術(shù)成長(zhǎng)。(你通過(guò)這個(gè)項(xiàng)目有哪些技術(shù)成長(zhǎng)丝蹭?)
Java基礎(chǔ)
1慢宗、List 和 Set 的區(qū)別
2、HashSet 是如何保證不重復(fù)的
3奔穿、HashMap 是線程安全的嗎镜沽,為什么不是線程安全的(最好畫(huà)圖說(shuō)明多線程環(huán)境下不安全)?
4、HashMap 的擴(kuò)容過(guò)程
5贱田、HashMap 1.7 與 1.8 的 區(qū)別缅茉,說(shuō)明 1.8 做了哪些優(yōu)化,如何優(yōu)化的男摧?
6蔬墩、final finally finalize 7统阿、強(qiáng)引用 、軟引用筹我、 弱引用、虛引用
8帆离、Java反射 9蔬蕊、Arrays.sort 實(shí)現(xiàn)原理和 Collection 實(shí)現(xiàn)原理
10、LinkedHashMap的應(yīng)用
11哥谷、cloneable接口實(shí)現(xiàn)原理
12岸夯、異常分類以及處理機(jī)制
13、wait和sleep的區(qū)別
14们妥、數(shù)組在內(nèi)存中如何分配
Java 并發(fā)
1猜扮、synchronized 的實(shí)現(xiàn)原理以及鎖優(yōu)化?
2监婶、volatile 的實(shí)現(xiàn)原理旅赢?
3、Java 的信號(hào)燈惑惶?
4煮盼、synchronized 在靜態(tài)方法和普通方法的區(qū)別?
5带污、怎么實(shí)現(xiàn)所有線程在等待某個(gè)事件的發(fā)生才會(huì)去執(zhí)行僵控?
6、CAS鱼冀?CAS 有什么缺陷报破,如何解決?
7千绪、synchronized 和 lock 有什么區(qū)別充易?
8、Hashtable 是怎么加鎖的 荸型?
9蔽氨、HashMap 的并發(fā)問(wèn)題?
10帆疟、ConcurrenHashMap 介紹鹉究?1.8 中為什么要用紅黑樹(shù)?
11踪宠、AQS
12自赔、如何檢測(cè)死鎖?怎么預(yù)防死鎖柳琢?
13绍妨、Java 內(nèi)存模型润脸?
14、如何保證多線程下 i++ 結(jié)果正確他去?
15毙驯、線程池的種類,區(qū)別和使用場(chǎng)景灾测?
16爆价、分析線程池的實(shí)現(xiàn)原理和線程的調(diào)度過(guò)程?
17媳搪、線程池如何調(diào)優(yōu)铭段,最大數(shù)目如何確認(rèn)?
18秦爆、ThreadLocal原理序愚,用的時(shí)候需要注意什么?
19等限、CountDownLatch 和 CyclicBarrier 的用法爸吮,以及相互之間的差別?
20、LockSupport工具
21望门、Condition接口及其實(shí)現(xiàn)原理
22拗胜、Fork/Join框架的理解
23、分段鎖的原理,鎖力度減小的思考
24怒允、八種阻塞隊(duì)列以及各個(gè)阻塞隊(duì)列的特性
Spring
1埂软、BeanFactory 和 FactoryBean?
2纫事、Spring IOC 的理解勘畔,其初始化過(guò)程?
3丽惶、BeanFactory 和 ApplicationContext炫七?
4、Spring Bean 的生命周期钾唬,如何被管理的万哪?
5、Spring Bean 的加載過(guò)程是怎樣的抡秆?
6奕巍、如果要你實(shí)現(xiàn)Spring AOP,請(qǐng)問(wèn)怎么實(shí)現(xiàn)儒士?
7的止、如果要你實(shí)現(xiàn)Spring IOC,你會(huì)注意哪些問(wèn)題着撩?
8诅福、Spring 是如何管理事務(wù)的匾委,事務(wù)管理機(jī)制?
9氓润、Spring 的不同事務(wù)傳播行為有哪些赂乐,干什么用的?
10咖气、Spring 中用到了那些設(shè)計(jì)模式挨措?
11、Spring MVC 的工作原理采章?
12、Spring 循環(huán)注入的原理壶辜?
13悯舟、Spring AOP的理解,各個(gè)術(shù)語(yǔ)砸民,他們是怎么相互工作的抵怎?
14、Spring 如何保證 Controller 并發(fā)的安全岭参?
Netty
1反惕、BIO、NIO和AIO
2演侯、Netty 的各大組件
3姿染、Netty的線程模型
4、TCP 粘包/拆包的原因及解決方法
5秒际、了解哪幾種序列化協(xié)議悬赏?包括使用場(chǎng)景和如何去選擇
6、Netty的零拷貝實(shí)現(xiàn)
7娄徊、Netty的高性能表現(xiàn)在哪些方面
分布式相關(guān)
1闽颇、Dubbo的底層實(shí)現(xiàn)原理和機(jī)制
2、描述一個(gè)服務(wù)從發(fā)布到被消費(fèi)的詳細(xì)過(guò)程
3寄锐、分布式系統(tǒng)怎么做服務(wù)治理
4兵多、接口的冪等性的概念
5、消息中間件如何解決消息丟失問(wèn)題
6橄仆、Dubbo的服務(wù)請(qǐng)求失敗怎么處理
7剩膘、重連機(jī)制會(huì)不會(huì)造成錯(cuò)誤
8、對(duì)分布式事務(wù)的理解
9盆顾、如何實(shí)現(xiàn)負(fù)載均衡援雇,有哪些算法可以實(shí)現(xiàn)?
10椎扬、Zookeeper的用途惫搏,選舉的原理是什么具温?
11、數(shù)據(jù)的垂直拆分水平拆分筐赔。
12铣猩、zookeeper原理和適用場(chǎng)景
13、zookeeper watch機(jī)制
14茴丰、redis/zk節(jié)點(diǎn)宕機(jī)如何處理
15达皿、分布式集群下如何做到唯一序列號(hào)
16、如何做一個(gè)分布式鎖
17贿肩、用過(guò)哪些MQ峦椰,怎么用的,和其他mq比較有什么優(yōu)缺點(diǎn)汰规,MQ的連接是線程安全的嗎
18汤功、MQ系統(tǒng)的數(shù)據(jù)如何保證不丟失
19、列舉出你能想到的數(shù)據(jù)庫(kù)分庫(kù)分表策略溜哮;分庫(kù)分表后滔金,如何解決全表查詢的問(wèn)題
20、zookeeper的選舉策略
21茂嗓、全局ID
數(shù)據(jù)庫(kù)
1餐茵、mysql分頁(yè)有什么優(yōu)化
2、悲觀鎖述吸、樂(lè)觀鎖
3忿族、組合索引,最左原則
4蝌矛、mysql 的表鎖肠阱、行鎖
5、mysql 性能優(yōu)化
6朴读、mysql的索引分類:B+屹徘,hash;什么情況用什么索引
7衅金、事務(wù)的特性和隔離級(jí)別
緩存
1噪伊、Redis用過(guò)哪些數(shù)據(jù)數(shù)據(jù),以及Redis底層怎么實(shí)現(xiàn)
2氮唯、Redis緩存穿透鉴吹,緩存雪崩
3、如何使用Redis來(lái)實(shí)現(xiàn)分布式鎖
4惩琉、Redis的并發(fā)競(jìng)爭(zhēng)問(wèn)題如何解決
5豆励、Redis持久化的幾種方式,優(yōu)缺點(diǎn)是什么,怎么實(shí)現(xiàn)的
6良蒸、Redis的緩存失效策略
7技扼、Redis集群,高可用嫩痰,原理
8剿吻、Redis緩存分片
9、Redis的數(shù)據(jù)淘汰策略
JVM
1串纺、詳細(xì)jvm內(nèi)存模型
2丽旅、講講什么情況下回出現(xiàn)內(nèi)存溢出,內(nèi)存泄漏纺棺?
3榄笙、說(shuō)說(shuō)Java線程棧
4、JVM 年輕代到年老代的晉升過(guò)程的判斷條件是什么呢祷蝌?
5茅撞、JVM 出現(xiàn) fullGC 很頻繁,怎么去線上排查問(wèn)題杆逗?
6乡翅、類加載為什么要使用雙親委派模式鳞疲,有沒(méi)有什么場(chǎng)景是打破了這個(gè)模式罪郊?
7、類的實(shí)例化順序
8尚洽、JVM垃圾回收機(jī)制悔橄,何時(shí)觸發(fā)MinorGC等操作
9、JVM 中一次完整的 GC 流程(從 ygc 到 fgc)是怎樣的
10腺毫、各種回收器癣疟,各自優(yōu)缺點(diǎn),重點(diǎn)CMS潮酒、G1
11睛挚、各種回收算法
12、OOM錯(cuò)誤急黎,stackoverflow錯(cuò)誤扎狱,permgen space錯(cuò)誤