跳槽時(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 是線程安全的嗎,為什么不是線程安全的(最好畫圖說(shuō)明多線程環(huán)境下不安全)?4、HashMap 的擴(kuò)容過(guò)程5、HashMap 1.7 與 1.8 的 區(qū)別,說(shuō)明 1.8 做了哪些優(yōu)化,如何優(yōu)化的?6、final finally finalize7、強(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、AQS12、如何檢測(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ì)列的特性 Spring1、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ā)的安全? Netty1、BIO、NIO和AIO2、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ù)淘汰策略 JVM1、詳細(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、G111、各種回收算法12、OOM錯(cuò)誤,stackoverflow錯(cuò)誤,permgen space錯(cuò)誤 以上問(wèn)題的答案,如果有什么疑惑,可以加入知識(shí)星球進(jìn)行提問(wèn),目前已有220+小伙伴加入。
|
|