大家都知道程序員漲薪主要還是要靠跳槽來完成!但是我們都知道,無論是考試,還是求職,這個難度,參加人數是影響難度的一個很大因數(當然特別牛逼的大佬可以忽略這句話)。
每年高考、考研人數都在增加,這求職人數也必然是每年都會增加的,因此,就算完全不出新技術,求職的難度也會越來越大。
最近和不少出去面試的朋友閑聊,都發現,兩年前面試高級開發,會JUC、JVM相關的知識點都是加分項,現在反而成了基本要求,不會這些,面試都是被吊起來打!
兩年前,JVM會一些理論知識,比如垃圾回收算法的概念,優缺點,適用場景等都已經能達到及格水平。現在人多了,這個篩選難度也大了,現在都開始問,你有沒有做過哪些JVM調優?
大家都知道,公司開發的人數比較多,就算有JVM問題,那么參與調優的人數也是有限的。公司不可能像大學一樣,讓每個人都能在實驗室,然后每個同學都能在親自做實驗,然后老師再打分之類。
現實是,很多同學的公司,根本沒有JVM調優場景,就算有,你也沒有機會參與解決,現在的面試情況就是,你不會,很可能就被“誤殺”。
當然,JVM只是個舉例,比如高并發場景,很多同學公司根本沒有這個場景,而且就算有,也是核心人員才參與解決,不可能像大學實驗室一樣,大家都要親自參與,然后完成了才能下課。
也正是這樣,就導致了,優秀的人得到的機會就越來越多。人生雖然是一段很長的路,但是很多時候,某一段你落后了,可能以后都很難追上了。
每個人的情況都不一樣,因此后續怎么努力,怎么規劃,也是不一樣的。但是就算目前沒有實戰的場景或者沒有實戰的機會,現在努力,也還來得及。
具備基本的理論都是必須的,萬一哪天大佬排查的時候,正好需要個人幫忙,然而你正好有相關知識儲備,那人家自然就會想到你。
但是假如你完全一點都不知道,那就真的和高并發、JVM調優、redis這些沒什么關系了。因此,這里提供一個思維導圖,方便大家查漏補缺,先系統學習,把知識體系建立起來。
JVM

Redis

JVM面試
- 內存模型以及分區,需要詳細到每個區放什么?
- GC 的兩種判定方法
- GC 的三種收集方法:標記清除、標記整理、復制算法的原理與特點,分別用在什么地方,如果讓你優化收集方法,有什么思路
- GC 收集器有哪些?CMS 收集器與 G1 收集器的特點。
- Minor GC 與 Full GC 分別在什么時候發生?
- JVM 內存分哪幾個區,每個區的作用是什么?
- 如和判斷一個對象是否存活?(或者 GC 對象的判定方法)
- 簡述 JAVA 垃圾回收機制
- java 中垃圾收集的方法有哪些?
- 簡述 java 類加載機制?
- java 類加載過程?
- 類加載器雙親委派模型機制?

Redis面試題
- 為什么要用Redis?
- Redis持久化機制
- Redis內存淘汰機制
- 緩存雪崩、緩存穿透、緩存預熱、緩存更新、緩存降級等問題
- Redis 常見數據結構以及使用場景分析
- Redis 和 memcached 的區別
- Redis 常見異常及解決方案(緩存穿透、緩存雪崩、緩存預熱、緩存降級)
- Redis 事務
- Redis集群(主從模式、哨兵模式)
- Redis分布式鎖
- Redis的雙寫一致性問題

最后
復工在即,今年的金三銀四比起往年又有很大的不同,如何抗住這波沖擊是一個關鍵點,機會是留給有準備的人的