二、可選要求
看到可選要求四個(gè)字,或許不少人會(huì)認(rèn)為這部分不太重要。但是LZ可以很負(fù)責(zé)的告訴你,這部分往往才是決定公司要不要你的重要指標(biāo)。
因?yàn)榛疽筮_(dá)標(biāo)以后,公司主要挑選人才的標(biāo)準(zhǔn)其實(shí)就是可選要求這一部分,LZ曾經(jīng)提過差異性這個(gè)詞,其實(shí)這一部分就是差異性的體現(xiàn)。
接下來,LZ就帶大家看看,到底都有哪些可選的要求。此外,LZ要提前說明的是,這些可選要求,沒有必須會(huì)和必須不會(huì)的內(nèi)容,盡可能多的了解,總是不會(huì)錯(cuò)的。
1)Spring、Mybatis框架
框架這部分其實(shí)不用多說了,spring和mybatis框架的原理和源碼,如果你可以非常精通的話,那么這一定能成為你巨大的優(yōu)勢(shì)。
如果你是專門做WEB開發(fā)的Java后端猿,那么spring和mybatis框架基本上你是肯定要用的。精通Spring和mybatis框架不僅為了面試,對(duì)于你日常開發(fā)也有巨大的幫助,你可以做很多架構(gòu)上的優(yōu)化,為你的戰(zhàn)友省去很多重復(fù)性的工作。
關(guān)于Spring框架,核心的當(dāng)然是IOC,其次便是AOP、MVC這兩部分了。好好研究這三部分的源碼,會(huì)讓你從大部分程序員當(dāng)中,脫穎而出。至于mybatis框架,主要還是關(guān)注它如何實(shí)現(xiàn)動(dòng)態(tài)SQL。
而且,待你研究透徹以后,你完全可以自己嘗試去造輪子,說不定能得到意想不到的收獲。
2)Linux服務(wù)器
這一部分其實(shí)原本是運(yùn)維應(yīng)該精通的部分,但是作為一個(gè)Java后端猿,如果你可以精通linux服務(wù)器,那么對(duì)你排查線上問題,是有很大的幫助的。
大部分程序員都只知道一些常用的Linux命令,對(duì)于Linux系統(tǒng)本身的文件系統(tǒng)、網(wǎng)絡(luò)以及IO等等,是完全不了解的,這其實(shí)也包括LZ自己。但是,LZ見過身邊有一些程序員,對(duì)于Linux玩的非常熟練,這不光光體現(xiàn)在多會(huì)幾個(gè)命令,而是對(duì)整個(gè)Linux系統(tǒng)的了解。
可以預(yù)見的是,這些人在排查問題的時(shí)候,往往會(huì)更容易找到問題的根本。因?yàn)槌绦騿栴}往往并不是難解決的,異常這東西見多了就都知道怎么回事了,大不了看看源碼也總能找到原因。難解決的是環(huán)境問題,而環(huán)境問題無非就是操作系統(tǒng)層面的問題。
而顯然大部分情況下,Java運(yùn)行的操作系統(tǒng)都是Linux。
3)數(shù)據(jù)庫優(yōu)化
說完Linux,緊接著LZ要說的就是數(shù)據(jù)庫了,這原本應(yīng)該是DBA應(yīng)該精通的部分,但作為一個(gè)Java后端猿,數(shù)據(jù)庫基本上也是經(jīng)常打交道的了。
而且大家都知道,一個(gè)應(yīng)用的性能瓶頸,往往都出現(xiàn)在數(shù)據(jù)庫這一端,因此,一個(gè)Java后端猿如果可以精通數(shù)據(jù)庫的話,那么對(duì)于你工作的實(shí)際幫助,也是非常大的。
相信不少人都碰到過SQL過慢的情況,這個(gè)時(shí)候,如何通過加索引、SQL分析和優(yōu)化的手段,將SQL的執(zhí)行時(shí)間優(yōu)化到一個(gè)可接受的范圍內(nèi),其實(shí)還是比較考驗(yàn)人的。
未完待續(xù)。。。。。。