簡單談?wù)剬ava的認(rèn)識 JAVA主要是用來干什么的呢?
JAVA主要是用來干什么的呢?Java是一門計算機(jī)編程語言。主要做后端開發(fā)。做了4年左右java,正常情況應(yīng)該是什么水平?JVM類加載機(jī)制、內(nèi)存模型、垃圾回收機(jī)制Spring Bean 容器生命周期S
JAVA主要是用來干什么的呢?
Java是一門計算機(jī)編程語言。主要做后端開發(fā)。
做了4年左右java,正常情況應(yīng)該是什么水平?
JVM類加載機(jī)制、內(nèi)存模型、垃圾回收機(jī)制
Spring Bean 容器生命周期
Spring AOP 原理
數(shù)據(jù)庫 SQL 優(yōu)化、數(shù)據(jù)庫索引、索引原理等
看到這一系列的知識點(diǎn),可能有的一下子就慌了,當(dāng)然,這只是一小部分而已。面試官喜歡針對求職者掌握的知識點(diǎn)刨根問底。如果你能吼住的話,進(jìn)入下一輪面試的幾率就大大提高了。
阿里更傾向深度挖掘,針對你掌握的知識點(diǎn)進(jìn)行深度挖掘。比如前面提到的java知識點(diǎn),垃圾回收機(jī)制Garbage collection,我們知道要,準(zhǔn)確理解Java的垃圾回收機(jī)制,我們可以從:“什么時候”,“對什么東西”,“做了什么事情”這三個方面來分析。
要是在面試時,面試官問“對什么東西”,有的求職者回答 沒有用的對象,按道理來說,這并沒有錯,只是這并不是理想的答案。要是能更進(jìn)一步分析,那就更好了,GC操作的對象分為:通過可達(dá)性分析法無法搜索到的對象和可以搜索到的對象。對于搜索不到的方法進(jìn)行標(biāo)記。從root搜索不到,而且經(jīng)過第一次標(biāo)記、清理后,仍然沒有復(fù)活的對象。
對于用可達(dá)性分析法搜索不到的對象,GC并不一定會回收該對象。要完全回收一個對象,至少需要經(jīng)過兩次標(biāo)記的過程。 把問題具體化了一些,對類似這樣的對象進(jìn)行回收,相信能給你這次面試加分。
項目思考深度
要是你通過基礎(chǔ)知識的考核,恭喜你,你離拿offer不遠(yuǎn)了。接下來面試官一般會讓你說說你的項目經(jīng)驗,譬如項目的架構(gòu)圖,既然有了架構(gòu)圖,你需要清楚理解每個模塊的作用,每個框架的原理以及與其他框架的優(yōu)勢和不足。
在這個層次上,你不僅要對項目本身理解足夠深刻,還要跳出項目本身,思考開源框架本身的問題。進(jìn)一步思考這些開源框架好不好,有什么可以改進(jìn)的地方。作為一名的程序員,有必要掌握為什么要用這些框架?它有什么不足,能不能做得更好?只有往深度的方向去思考,才能促進(jìn)我們有所成長。