第一階段:三年
我認(rèn)為三年對(duì)于程序員來(lái)說(shuō)是第一個(gè)門檻,這個(gè)階段將會(huì)淘汰掉一批不適合寫代碼的人限嫌。這一階段怒医,我們走出校園稚叹,邁入社會(huì),成為一名程序員季率,正式從書(shū)本上的內(nèi)容邁向真正的企業(yè)級(jí)開(kāi)發(fā)飒泻。我們知道如何團(tuán)隊(duì)協(xié)作、如何使用項(xiàng)目管理工具史辙、項(xiàng)目版本如何控制聊倔、我們寫的代碼如何測(cè)試如何在線上運(yùn)行等等,積累了一定的 開(kāi)發(fā)經(jīng)驗(yàn)纵潦,也對(duì)代碼有了一定深入的認(rèn)識(shí)返敬,是一個(gè)比較純粹的Coder的階段劲赠。
第二階段:五年
五年又是區(qū)分程序員的第二個(gè)門檻。有些人在三年里塑煎,除了完成工作最铁,在空余時(shí)間基本不會(huì)研究別的東西冷尉,這些人永遠(yuǎn)就是個(gè)Coder,年紀(jì)大一些勢(shì)必被更年輕的人給頂替震束;有些人在三年里,除了寫代碼之外,還熱衷于研究各種技術(shù)實(shí)現(xiàn)細(xì)節(jié)拓诸、看了N多好書(shū)奠支、寫一些博客倍谜、在Github上分享技術(shù)答毫,這些人在五年 后必然具備在技術(shù)上獨(dú)當(dāng)一面的能力并且清楚自己未來(lái)的發(fā)展方向洗搂,從一個(gè)Coder逐步走向系統(tǒng)分析師或是架構(gòu)師,成為項(xiàng)目組中不可或缺的人物惫叛。
第三階段:十年
十年又是另一個(gè)門檻了挣棕,轉(zhuǎn)行或是繼續(xù)做一名程序員就在這個(gè)節(jié)點(diǎn)上。如果在前幾年就抱定不轉(zhuǎn)行的思路并且為之努力的話词身,那么在十年的這個(gè)節(jié)點(diǎn)上法严,有些 人必然成長(zhǎng)為一名對(duì)行業(yè)有著深入認(rèn)識(shí)深啤、對(duì)技術(shù)有著深入認(rèn)識(shí)、能從零開(kāi)始對(duì)一個(gè)產(chǎn)品進(jìn)行分析的程序員呈昔,這樣的人在公司基本擔(dān)任的都是CTO堤尾、技術(shù)專家郭宝、首席 架構(gòu)師等最關(guān)鍵的職位催蝗,這對(duì)于自己絕對(duì)是一件榮耀的事丙号,當(dāng)然老板在經(jīng)濟(jì)上也絕不會(huì)虧待你。
第一部分總結(jié)一下怀薛,我認(rèn)為枝恋,隨著你工作年限的增長(zhǎng)、對(duì)生活對(duì)生命認(rèn)識(shí)的深入十电,應(yīng)當(dāng)不斷思考三個(gè)問(wèn)題:
1鹃骂、我到底適不適合當(dāng)一名程序員?
2寝殴、我到底應(yīng)不應(yīng)該一輩子以程序員為職業(yè)?
3袖外、我對(duì)編程到底持有的是一種什么樣的態(tài)度曼验,是夠用就好呢還是不斷研究熔酷?
最終拒秘,明確自己的職業(yè)規(guī)劃躺酒,對(duì)自己的規(guī)劃負(fù)責(zé)并為之努力。
關(guān)于項(xiàng)目經(jīng)驗(yàn)
在網(wǎng)上經(jīng)吃捌ィ看到一些別的朋友有提出項(xiàng)目經(jīng)驗(yàn)的問(wèn)題裸违,依照我面試的感覺(jué)來(lái)說(shuō),面試主要看幾點(diǎn):項(xiàng)目經(jīng)驗(yàn)+基本技術(shù)+個(gè)人潛力(也就是值不值得培養(yǎng))紊馏。
關(guān)于項(xiàng)目經(jīng)驗(yàn),我認(rèn)為并發(fā)編程網(wǎng)的創(chuàng)始人方騰飛老師講的一段話非常好:介紹產(chǎn)品時(shí)面試官會(huì)考察應(yīng)聘者的溝通能力和思考能力赫编,我們大部分情況都是做產(chǎn)品的一個(gè)功能或一個(gè)模塊,但是即使是這樣嘹吨,自己有沒(méi)有把整個(gè)系統(tǒng)架構(gòu)或產(chǎn)品搞清楚碰纬,并能介紹清楚悦析,為什么做這個(gè)系統(tǒng)?這個(gè)系統(tǒng)的價(jià)值是什么酌泰?這個(gè)系統(tǒng)有哪些功能??jī)?yōu)缺點(diǎn)有哪些欢嘿?如果讓你重新設(shè)計(jì)這個(gè)系統(tǒng)你會(huì)如何設(shè)計(jì)衰琐?
我覺(jué)得這就已經(jīng)足以概括了。也許你僅僅工作一年炼蹦,也許你做的是項(xiàng)目中微不足道的模塊羡宙,當(dāng)然這些一定是你的劣勢(shì)且無(wú)法改變,但是如何彌補(bǔ)這個(gè)劣勢(shì)掐隐?
從方老師的話中我總結(jié)幾點(diǎn):
1狗热、明確你的項(xiàng)目到底是做什么的,有哪些功能。
2、明確你的項(xiàng)目的整體架構(gòu),在面試的時(shí)候能夠清楚地畫給面試官看并且清楚地指出從哪里調(diào)用到哪里、使用什么方式調(diào)用。
3、明確你的模塊在整個(gè)項(xiàng)目中所處的位置及作用。
4、明確你的模塊用到了哪些技術(shù)抄罕,更好一些的可以再了解一下整個(gè)項(xiàng)目用到了哪些技術(shù)做入。
在你無(wú)法改變自己的工作年限前弯、自己的不那么有說(shuō)服力的項(xiàng)目經(jīng)驗(yàn)的情況下(這一定是扣分項(xiàng))浙巫,可以通過(guò)這種方式來(lái)一定程度上地彌補(bǔ)并且增進(jìn)面試官對(duì)你的好感度护桦。
關(guān)于專業(yè)技能
寫完項(xiàng)目接著寫寫一名3年工作經(jīng)驗(yàn)的Java程序員應(yīng)該具備的技能催享,這可能是Java程序員們比較關(guān)心的內(nèi)容兰迫。我這里要說(shuō)明一下,以下列舉的內(nèi)容不是都要會(huì)的東西,但是如果你掌握得越多密强,最終能得到的評(píng)價(jià)掌敬、拿到的薪水勢(shì)必也越高华临。
01 高可用
負(fù)載均衡(負(fù)載均衡算法)
反向代理
服務(wù)隔離
服務(wù)限流
服務(wù)降級(jí)(自動(dòng)優(yōu)雅降級(jí))
失效轉(zhuǎn)移
超時(shí)重試(代理超時(shí)诚欠、容器超時(shí)捅儒、前端超時(shí)、中間件超時(shí)走孽、數(shù)據(jù)庫(kù)超時(shí)、NoSql超時(shí))
回滾機(jī)制(上線回滾待讳、數(shù)據(jù)庫(kù)版本回滾、事務(wù)回滾)
02 高并發(fā)
應(yīng)用緩存
HTTP 緩存
多級(jí)緩存
分布式緩存
連接池
異步并發(fā)
03 分布式事務(wù)
二階段提交(強(qiáng)一致)
三階段提交(強(qiáng)一致)
消息中間件(最終一致性)箱锐,推薦阿里的 RocketMQ嫂便。
04 隊(duì)列
任務(wù)隊(duì)列
消息隊(duì)列
請(qǐng)求隊(duì)列
05擴(kuò)容
單體垂直擴(kuò)容
單體水平擴(kuò)容
應(yīng)用拆分
數(shù)據(jù)庫(kù)拆分
數(shù)據(jù)庫(kù)分庫(kù)分表
數(shù)據(jù)異構(gòu)
分布式任務(wù)
06 網(wǎng)絡(luò)安全
SQL 注入
XSS 攻擊
CSRF 攻擊
拒絕服務(wù)(DoS,Denial of Service)攻擊
不僅以上悔雹,你需要掌握的知識(shí)點(diǎn)還有很多酷鸦。
少年氨淌,任重而道遠(yuǎn)续崖,而現(xiàn)在有一個(gè)平臺(tái)可以提供給你們學(xué)習(xí),讓你在實(shí)踐中積累經(jīng)驗(yàn)掌握原理阵面。主要方向是JAVA架構(gòu)師箕母。如果你想拿高薪希太,想突破瓶頸远豺,想跟別人競(jìng)爭(zhēng)能取得優(yōu)勢(shì)的,想進(jìn)BAT但是有擔(dān)心面試不過(guò)的毡鉴,可以加我的Java架構(gòu)進(jìn)階群:587372254
注:加群要求
1、具有1-5工作經(jīng)驗(yàn)的塞弊,面對(duì)目前流行的技術(shù)不知從何下手仗处,需要突破技術(shù)瓶頸的可以加好唯。
2躲查、在公司待久了,過(guò)得很安逸,但跳槽時(shí)面試碰壁粹胯。需要在短時(shí)間內(nèi)進(jìn)修愤估、跳槽拿高薪的可以加默刚。
3妨退、如果沒(méi)有工作經(jīng)驗(yàn)奋构,但基礎(chǔ)非常扎實(shí),對(duì)java工作機(jī)制粗悯,常用設(shè)計(jì)思想笛质,常用java開(kāi)發(fā)框架掌握熟練的,可以加。
4敞斋、覺(jué)得自己很牛B阳柔,一般需求都能搞定。但是所學(xué)的知識(shí)點(diǎn)沒(méi)有系統(tǒng)化恕沫,很難在技術(shù)領(lǐng)域繼續(xù)突破的可以加妓忍。
5.阿里Java高級(jí)大牛直播講解知識(shí)點(diǎn)祖凫,分享知識(shí),多年工作經(jīng)驗(yàn)的梳理和總結(jié)酬凳,帶著大家全面惠况、科學(xué)地建立自己的技術(shù)體系和技術(shù)認(rèn)知!
6.小號(hào)加群一律不給過(guò)宁仔,謝謝稠屠。