現(xiàn)在大多數(shù)Java程序員都走入了盲點(diǎn),以為來年跳槽就能漲一點(diǎn)薪,但是你有沒有想過跳槽漲薪前提是建立在你要具備跳槽漲薪的價(jià)值,希望下面這些你看完之后能對(duì)你有所幫助。
跳槽要學(xué)習(xí)的技術(shù)就多了
跳槽時(shí)時(shí)刻刻都在發(fā)生,但是我建議大家跳槽之前,先想清楚為什么要跳槽。切不可跟風(fēng),看到同事一個(gè)個(gè)都走了,自己也盲目的開始面試起來(期間也沒有準(zhǔn)備充分),到底是因?yàn)榧夹g(shù)原因(影響自己的發(fā)展,偏移自己規(guī)劃的軌跡),還是錢給少了,不受重視。
準(zhǔn)備不充分的面試,完全是浪費(fèi)時(shí)間,更是對(duì)自己的不負(fù)責(zé)(如果title很高,當(dāng)我沒說)。
今天給大家分享一些跳槽的Java面試大綱,其中大部分都是面試過程中的面試題,可以對(duì)照這查漏補(bǔ)缺,當(dāng)然了,這里所列的肯定不可能覆蓋全部方式。
項(xiàng)目介紹
大部分情況,這是一場面試的開門題,面試官問這個(gè)問題,主要是考察你的概述能力和全局視野。有的人經(jīng)常抱怨自己每天在堆業(yè)務(wù),但沒有成長。事實(shí)上,很多情況下確實(shí)在堆業(yè)務(wù),但并不是沒有成長的。并非做中間件或者技術(shù)架構(gòu)才是成長,例如我們的需求分析能力,溝通協(xié)作能力,產(chǎn)品思維能力,抽象建模能力等都是一個(gè)非常重要的硬實(shí)力。
現(xiàn)在進(jìn)入正文
1、明確項(xiàng)目是做什么的
2、明確項(xiàng)目的價(jià)值。(為什么做這個(gè)項(xiàng)目,它解決了用戶什么痛點(diǎn),它帶來什么價(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ù)成長。(你通過這個(gè)項(xiàng)目有哪些技術(shù)成長?)
Java基礎(chǔ)
1、List和Set的區(qū)別
2、HashSet是如何保證不重復(fù)的
3、HashMap是線程安全的嗎,為什么不是線程安全的(最好畫圖說明多線程環(huán)境下不安全)?
4、HashMap的擴(kuò)容過程
5、HashMap1.7與1.8的區(qū)別,說明1.8做了哪些優(yōu)化,如何優(yōu)化的?
6、finalfinallyfinalize
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ā)問題?
10、ConcurrenHashMap介紹?1.8中為什么要用紅黑樹?
11、AQS
12、如何檢測死鎖?怎么預(yù)防死鎖?
13、Java內(nèi)存模型?
14、如何保證多線程下i++結(jié)果正確?
15、線程池的種類,區(qū)別和使用場景?
16、分析線程池的實(shí)現(xiàn)原理和線程的調(diào)度過程?
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、SpringIOC的理解,其初始化過程?
3、BeanFactory和ApplicationContext?
4、SpringBean的生命周期,如何被管理的?
5、SpringBean的加載過程是怎樣的?
6、如果要你實(shí)現(xiàn)SpringAOP,請(qǐng)問怎么實(shí)現(xiàn)?
7、如果要你實(shí)現(xiàn)SpringIOC,你會(huì)注意哪些問題?
8、Spring是如何管理事務(wù)的,事務(wù)管理機(jī)制?
9、Spring的不同事務(wù)傳播行為有哪些,干什么用的?
10、Spring中用到了那些設(shè)計(jì)模式?
11、SpringMVC的工作原理?
12、Spring循環(huán)注入的原理?
13、SpringAOP的理解,各個(gè)術(shù)語,他們是怎么相互工作的?
14、Spring如何保證Controller并發(fā)的安全?
Netty
1、BIO、NIO和AIO
2、Netty的各大組件
3、Netty的線程模型
4、TCP粘包/拆包的原因及解決方法
5、了解哪幾種序列化協(xié)議?包括使用場景和如何去選擇
6、Netty的零拷貝實(shí)現(xiàn)
7、Netty的高性能表現(xiàn)在哪些方面
分布式相關(guān)
1、Dubbo的底層實(shí)現(xiàn)原理和機(jī)制
2、描述一個(gè)服務(wù)從發(fā)布到被消費(fèi)的詳細(xì)過程
3、分布式系統(tǒng)怎么做服務(wù)治理
4、接口的冪等性的概念
5、消息中間件如何解決消息丟失問題
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原理和適用場景
13、zookeeperwatch機(jī)制
14、redis
15、分布式集群下如何做到唯一序列號(hào)
16、如何做一個(gè)分布式鎖
17、用過哪些MQ,怎么用的,和其他mq比較有什么優(yōu)缺點(diǎn),MQ的連接是線程安全的嗎
18、MQ系統(tǒng)的數(shù)據(jù)如何保證不丟失
19、列舉出你能想到的數(shù)據(jù)庫分庫分表策略;分庫分表后,如何解決全表查詢的問題
20、zookeeper的選舉策略
21、全局ID
數(shù)據(jù)庫
1、mysql分頁有什么優(yōu)化
2、悲觀鎖、樂觀鎖
3、組合索引,最左原則
4、mysql的表鎖、行鎖
5、mysql性能優(yōu)化
6、mysql的索引分類:B+,hash;什么情況用什么索引
7、事務(wù)的特性和隔離級(jí)別
緩存
1、Redis用過哪些數(shù)據(jù)數(shù)據(jù),以及Redis底層怎么實(shí)現(xiàn)
2、Redis緩存穿透,緩存雪崩
3、如何使用Redis來實(shí)現(xiàn)分布式鎖
4、Redis的并發(fā)競爭問題如何解決
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、說說Java線程棧
4、JVM年輕代到年老代的晉升過程的判斷條件是什么呢?
5、JVM出現(xiàn)fullGC很頻繁,怎么去線上排查問題?
6、類加載為什么要使用雙親委派模式,有沒有什么場景是打破了這個(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ò)誤,permgenspace錯(cuò)誤
一些小建議
可以去leetcode上刷題換換思路。
八大排序算法一定要手敲一遍(快排,堆排尤其重要)。
了解一些新興的技術(shù)。
面試之后面試官都會(huì)問你有沒有什么問題,千萬不要沒問題,也別傻乎乎的問一些敏感問題。
了解你要面試的公司的產(chǎn)品及競爭產(chǎn)品。
總結(jié)
工作1-5年開發(fā)經(jīng)驗(yàn),當(dāng)你們提出漲工資的時(shí)候,或者要offer的時(shí)候底氣怎么樣,是不是底氣十足,不給漲工資就辭職,是不是有自信提出來主管、或者是項(xiàng)目經(jīng)理都能同意,他們相當(dāng)設(shè)法把你留住。如果這樣你才是成功。什么技術(shù)都沒有何談工資!
以上就是長沙中公優(yōu)就業(yè)java培訓(xùn)機(jī)構(gòu)小編介紹的“2019Java程序員跳槽季,機(jī)會(huì)只留給有準(zhǔn)備的人!”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
做一名高級(jí)Java架構(gòu)師,學(xué)Java架構(gòu)師開發(fā)難嗎
【java架構(gòu)師培訓(xùn)】合格java架構(gòu)師標(biāo)準(zhǔn)是什么
2019最新Java架構(gòu)師學(xué)習(xí)路線
Java架構(gòu)師年薪一般多少?