宏觀方面
一、JAVA。要想成為JAVA(高級(jí))工程師肯定要學(xué)習(xí)JAVA竿音。一般的程序員或許只需知道一些JAVA的語(yǔ)法結(jié)構(gòu)就可以應(yīng)付了。但要成為JAVA(高級(jí)) 工程師拴驮,您要對(duì)JAVA做比較深入的研究春瞬。您應(yīng)該多研究一下JDBC、IO包套啤、Util包宽气、Text包、JMS潜沦、EJB萄涯、RMI、線程唆鸡。如果可能涝影,希望您 對(duì)JAVA的所有包都瀏覽一下,知道大概的API争占,這樣您就發(fā)現(xiàn)其實(shí)您想實(shí)現(xiàn)的很多功能燃逻,通過(guò)JAVA的API都可以實(shí)現(xiàn)了,就不必自己費(fèi)太多的腦經(jīng) 了臂痕。
二伯襟、設(shè)計(jì)模式。其實(shí)寫代碼是很容易的事情刻蟹,我相信您也有同感逗旁。但如何寫得好就比較難了。這個(gè)“好”字包括代碼可重用性舆瘪,可維護(hù)性片效,可擴(kuò)展性等。如何寫出好的代 碼往往要借助一些設(shè)計(jì)模式英古。當(dāng)然長(zhǎng)期的代碼經(jīng)驗(yàn)積累淀衣,只要您用心,會(huì)使您形成自己代碼風(fēng)格召调。相信您的代碼也比較符合代碼的可重用性膨桥,可維護(hù)性,可擴(kuò)展性唠叛。 但既然前人已經(jīng)給我們總結(jié)出了經(jīng)驗(yàn)只嚣,我們何不踩著前人的肩膀前進(jìn)?
三艺沼、XML〔嵛瑁現(xiàn)在的系統(tǒng)中不使用XML幾乎是不可能的。XML的功能非常強(qiáng)大障般,它可以做數(shù)據(jù)轉(zhuǎn)換调鲸、做系統(tǒng)的配置、甚至可保存您的系統(tǒng)業(yè)務(wù)數(shù)據(jù)挽荡。因此您必須了解XML藐石,包括它的語(yǔ)法,結(jié)構(gòu)定拟。您還需要比較熟練的使用解析XML的一些API于微,比如JDOM,SAX等青自,因?yàn)樵谖覀円话愕捻?xiàng)目中株依,XML往往擔(dān)當(dāng)系統(tǒng)配置 信息的作用,您需要用這些API解析這些配置信息性穿,開發(fā)完美的項(xiàng)目勺三。
四、精通使用一種或兩種框架需曾。像在《如何成為java初級(jí)程序員》中提到的那樣吗坚,“框架都會(huì)有許多可重用的代碼,良好的層次關(guān)系和業(yè)務(wù)控制邏輯呆万,基于框架的開 發(fā)使你可以省出很多的開發(fā)成本”商源。但我這里希望您能精通,更多的是希望您能通過(guò)框架的使用了解框架的思想谋减。這樣您在開發(fā)一個(gè)項(xiàng)目時(shí)思路會(huì)開闊一些牡彻,比如您 會(huì)想到把SQL語(yǔ)句與您的JAVA代碼分開,再比如您會(huì)考慮把您的業(yè)務(wù)邏輯配置到XML或者數(shù)據(jù)庫(kù)中,這樣整個(gè)項(xiàng)目就很容易擴(kuò)張了庄吼。
五缎除、熟悉主流數(shù)據(jù)庫(kù)。其實(shí)真正比較大的項(xiàng)目都是有人專門做數(shù)據(jù)庫(kù)的总寻,但往往很多項(xiàng)目要求作為(高級(jí))工程師的您也參與數(shù)據(jù)庫(kù)的設(shè)計(jì)以及SQL的編寫器罐。所以為了 更好的為國(guó)家做貢獻(xiàn),建議您還是多了解一些主流數(shù)據(jù)庫(kù)渐行,比如SQLSERVER轰坊,ORACLE,多連接SQL和存儲(chǔ)過(guò)程以及觸發(fā)器祟印。如果您不是“科班”出 身肴沫,您還需要補(bǔ)充一些數(shù)據(jù)庫(kù)原理方面的知識(shí)。
六蕴忆、精通一種或兩種WEBServer颤芬。盡管我再《如何成為java初級(jí)程序員》里講過(guò)它,我還是要強(qiáng)調(diào)您要精通一種或兩種孽文。因?yàn)樽鳛镴AVA工程師驻襟,特別時(shí) 想成為高級(jí)JAVA工程師的您,您不可避免地要部署您的項(xiàng)目到WebServer上芋哭,而且只有當(dāng)您精通一種WebServer沉衣,您才可能最大限度地使用它 的資源,這往往可以節(jié)省很多時(shí)間和精力减牺。
七豌习、UML。我知道您肯定想成為高級(jí)工程師拔疚,因此您有必要了解或熟練或精通UML肥隆,這取決于您有多大決心想成為高級(jí)工程師和項(xiàng)目經(jīng)理。在比較正規(guī)的開發(fā)團(tuán)隊(duì) 中稚失,UML是討論項(xiàng)目的交流工具栋艳,您要想做一個(gè)軟件工程師,您至少要能看懂句各,您要想做高級(jí)工程師吸占,您要能通過(guò)它來(lái)描述您對(duì)項(xiàng)目的理解,盡管這不是必須凿宾,但 卻很重要矾屯。
八、站在高度分析問(wèn)題:這不是一個(gè)知識(shí)點(diǎn)初厚,也不是通過(guò)書本就能學(xué)得到的件蚕。只所以提到這一點(diǎn),是因?yàn)槲冶饶€著急,我希望您更快的成為一個(gè)高級(jí)的軟件工程師排作,而不是一個(gè)一般的軟件工程師牵啦。希望您在工作中多向您的系統(tǒng)分析員、需求分析員纽绍、系統(tǒng)設(shè)計(jì)員學(xué)習(xí)蕾久,多站在他們角度上去看您在開發(fā)的項(xiàng)目势似。在最好在項(xiàng)目之初先在您的腦海里對(duì)項(xiàng)目有個(gè)大致的分析拌夏、設(shè)計(jì),然后和他們進(jìn)行比較履因,找找差別障簿,想想缺點(diǎn)。
九栅迄、工具站故。與在《如何成為java初級(jí)程序員》里提到的不同,您在這個(gè)階段可能接觸到不同的工具了毅舆,盡管您還需要使用JB或者IDEA西篓,但能可能對(duì)ROSE,Together要多了解一些憋活,因?yàn)槟婾ML了岂津。不要再對(duì)Dreamweaver等HTML編輯器情有獨(dú)鐘了,那些JSP頁(yè)面讓初級(jí)程序員 去寫吧
微觀方面
1.Core Java部分
這是最基礎(chǔ)的,對(duì)于一個(gè)java高級(jí)開發(fā)/設(shè)計(jì)人員,你需要對(duì)這一部分達(dá)到精通的水平,重點(diǎn)內(nèi)容如下:
a.面向?qū)ο缶幊趟枷?封裝繼承多態(tài)接口)
b.字符串處理
c.java.lang包,java.util包等常用包
d.java異常處理
2.Java高級(jí)部分
a.Java I/O流
b.Java多線程技術(shù)
c.Java網(wǎng)絡(luò)編程
d.Java Swing
后兩項(xiàng)可以了解即可,如果項(xiàng)目需要可以深入研究
3.前端基本技能
* HTML + CSS網(wǎng)頁(yè)開發(fā)
* JavaScript
* Jquery
*瀏覽器兼容性CSS hack(了解)
4.熟練使用JSP + Servlet進(jìn)行開發(fā)
5.MVC設(shè)計(jì)模式,原理,以及相關(guān)框架,如Struts
6.SSH框架
7.緩存技術(shù)session & cookie
8.熟練使用一種以上Java開發(fā)工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟練使用XML
JDOM w3c.dom SAX
10.Java設(shè)計(jì)模式
工廠模式,單例模式==
11.Java反射機(jī)制
反射的各種用法
12.了解或熟悉C, C++, .NET
13.熟悉JDK的配置,環(huán)境變量
14.數(shù)據(jù)庫(kù)oracle必學(xué),其他最好了解一種以上(mysql,sql server,access==)
oracle:視圖,索引,存儲(chǔ)過(guò)程,觸發(fā)器,游標(biāo),包,常用函數(shù)==
15.數(shù)據(jù)庫(kù)原理
事務(wù)的原理,鎖機(jī)制,表連接,復(fù)雜查詢語(yǔ)句(工作經(jīng)驗(yàn)),性能調(diào)優(yōu),鎖表以及解決方案==
16.JDBC,連接池
17.Ajax,反向Ajax
18.HTTP協(xié)議,request和response的原理,HTTP status(了解常用的),Https原理
19.熟悉Linux基本命令,使用過(guò)Linux/Unix系統(tǒng),可以編寫shell腳本,可以在Linux上部署項(xiàng)目
20.了解windows系統(tǒng)批處理腳本bat
21.了解HTML5,最好學(xué)習(xí)過(guò)
22.熟悉一種JS框架,如Prototype
23.J2EE原理 熟悉一種以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一門腳本語(yǔ)言,如python ,ruby
26.了解php/ asp
27.了解ftp協(xié)議及原理
28.熟練使用Junit測(cè)試,熟悉Mockito等測(cè)試工具
29,熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究過(guò)一些的算法悦即。
31.了解Flex(不學(xué)也沒(méi)關(guān)系)
32.了解敏捷開發(fā)模式
33.工作流workflow至少用過(guò)一種,如OSworkflow,了解原理
34.使用過(guò)VPN了解其原理
35.熟悉jstl表達(dá)式和el表達(dá)式
36.熟悉webservice,WSDL,SOAP
37.圖片處理,如圖片上傳,預(yù)覽,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技術(shù),JSON+AJAX
40.分頁(yè)技術(shù),最好自己實(shí)現(xiàn)過(guò)不僅僅是用過(guò)要知道原理
41.Java Mail
42.Java讀寫txt,excel,JXL技術(shù)
43.JVM原理,JVM內(nèi)存管理,GC,Java堆棧池
44.熟練使用下面的工具:
office辦公軟件,word,excel,ppt等
plsql,sqldevelop數(shù)據(jù)庫(kù)開發(fā)工具
outlook大公司都用
ue編輯器
瀏覽器控制臺(tái),調(diào)試
SHH/PUTTY遠(yuǎn)程
45.UML建模工具Rational Rose等
46.使用log4j
47.使用過(guò)開放Api如百度吮成,騰訊街景,新浪微博等
48.頁(yè)面靜態(tài)化技術(shù)(偽靜態(tài)頁(yè)面)
49.報(bào)表技術(shù)辜梳,使用過(guò)報(bào)表制作工具粱甫,如水晶易表。
50.定時(shí)任務(wù)作瞄,如Spring batch ,學(xué)會(huì)自定義batch任務(wù)(不適用第三方工具)
51.了解uuid
52.b/s和c/s架構(gòu)
53.正則表達(dá)式
54.了解jndi jms
55.ERP
56.UNICODE編碼茶宵,亂碼解決
57.開源網(wǎng)絡(luò)編輯器,如ckEditor
58.二進(jìn)制原理
59.使用過(guò)宗挥,了解過(guò)開源論壇框架乌庶,如discuzz
60.GWT,Closure框架
61.了解大數(shù)據(jù)属韧,云計(jì)算
62.搜索引擎搜索技術(shù)
63.軟件工程安拟,項(xiàng)目管理
以上就是我推薦給Java開發(fā)者們的一面試經(jīng)典知識(shí)。但是這些知識(shí)里面并沒(méi)有太多Java全棧宵喂、Java晉階糠赦、JAVA架構(gòu)之類的題,不是我不推薦,而是希望大家更多的從基本功做起拙泽,打好基礎(chǔ)淌山,太多復(fù)雜的內(nèi)容一會(huì)兒也說(shuō)不明白。
好了同學(xué)們顾瞻,我能介紹的也都全部介紹完給你們了泼疑,以上的部分就是我想說(shuō)的內(nèi)容,如果你也想在IT行業(yè)拿高薪荷荤,可以參加我們的JAVA全棧晉階訓(xùn)練營(yíng)課程退渗,選擇最適合自己的課程學(xué)習(xí),技術(shù)大牛親授蕴纳,7個(gè)月后会油,進(jìn)入名企拿高薪。我們的課程內(nèi)容有:反射原理古毛、枚舉原理與應(yīng)用翻翩、注解原理、常用設(shè)計(jì)模式稻薇、正規(guī)表達(dá)式高級(jí)應(yīng)用嫂冻、JAVA操作Office原理詳解、JAVA圖像處理技術(shù)塞椎,等多個(gè)知識(shí)點(diǎn)的詳解和實(shí)戰(zhàn)桨仿。如果你想拿高薪的,想學(xué)習(xí)的忱屑,想就業(yè)前景好的蹬敲,想跟別人競(jìng)爭(zhēng)能取得優(yōu)勢(shì)的,想進(jìn)阿里面試但擔(dān)心面試不過(guò)的莺戒,你都可以來(lái)伴嗡,群:240448376注:加群要求
1、具有1-3工作經(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開發(fā)框架掌握熟練的匈辱,可以加。
4杀迹、覺得自己很牛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ò),謝謝苛白。
最后娃豹,每一位讀到這里的網(wǎng)友,感謝你們能耐心地看完购裙。覺得對(duì)你有幫助可以給個(gè)喜歡懂版!希望在成為一名更優(yōu)秀的Java程序員的道路上,我們可以一起學(xué)習(xí)躏率、一起進(jìn)步
?????.R??,Y ?0???0??l???????G/??;?OZ?%?^e@?0?*?H??????