...哎
現實中的java高級軟體工程師就是在某一個行業有很充足的開發經驗,很了解開發模式就差不多了,一般的公司都會叫你高級工程師
程序員就是只敲敲代碼 ,對啥都不管不問的
一般來說 你兢兢業業的在一個好點的公司干一年 跳個槽 就成高級了
❷ 一個高級java工程師需要具備什麼能力和技術
宏觀方面
一、 JAVA。
要想成為JAVA(高級)工程師肯定要學習JAVA。一般的程序員或許只需知道一些JAVA的語法結構就可以應付了。但要成為JAVA(高級)
工程師,您要對JAVA做比較深入的研究。您應該多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、線程。如果可能,希望您
對JAVA的所有包都瀏覽一下,知道大概的API,這樣您就發現其實您想實現的很多功能,通過JAVA的API都可以實現了,就不必自己費太多的腦經 了。
二、 設計模式。
其實寫代碼是很容易的事情,我相信您也有同感。但如何寫得好就比較難了。這個「好」字包括代碼可重用性,可維護性,可擴展性等。如何寫出好的代
碼往往要藉助一些設計模式。當然長期的代碼經驗積累,只要您用心,會使您形成自己代碼風格。相信您的代碼也比較符合代碼的可重用性,可維護性,可擴展性。
但既然前人已經給我們總結出了經驗,我們何不踩著前人的肩膀前進?
三、 XML。
現在的系統中不使用XML幾乎是不可能的。XML的功能非常強大,它可以做數據轉換、做系統的配置、甚至可保存您的系統業務數據。因此您必須了解
XML,包括它的語法,結構。您還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因為在我們一般的項目中,XML往往擔當系統配置
信息的作用,您需要用這些API解析這些配置信息,開發完美的項目。
四、 精通使用一種或兩種框架。
「框架都會有許多可重用的代碼,良好的層次關系和業務控制邏輯,基於框架的開
發使你可以省出很多的開發成本」。這里希望您能精通,更多的是希望您能通過框架的使用了解框架的思想。這樣您在開發一個項目時思路會開闊一些,比如您
會想到把SQL語句與您的JAVA代碼分開,再比如您會考慮把您的業務邏輯配置到XML或者資料庫中,這樣整個項目就很容易擴張了。
五、 熟悉主流資料庫。其實真正比較大的項目都是有人專門做資料庫的,但往往很多項目要求作為(高級)工程師的您也參與資料庫的設計以及SQL的編寫。所以為了
更好的為國家做貢獻,建議您還是多了解一些主流資料庫,比如SQLSERVER,ORACLE,多連接SQL和存儲過程以及觸發器。如果您不是「科班」出
身,您還需要補充一些資料庫原理方面的知識。
六、 精通一種或兩種WEBServer。
因為作為JAVA工程師,特別時
想成為高級JAVA工程師的您,您不可避免地要部署您的項目到WebServer上,而且只有當您精通一種WebServer,您才可能最大限度地使用它
的資源,這往往可以節省很多時間和精力。
七、 UML。
您肯定想成為高級工程師,因此您有必要了解或熟練或精通UML,這取決於您有多大決心想成為高級工程師和項目經理。在比較正規的開發團隊
中,UML是討論項目的交流工具,您要想做一個軟體工程師,您至少要能看懂,您要想做高級工程師,您要能通過它來描述您對項目的理解,盡管這不是必須,但
卻很重要。
八、 站在高度分析問題:
這不是一個知識點,也不是通過書本就能學得到的。只所以提到這一點,是因為我比您還著急,我希望您更快的成為一個高級的軟體工程師,而
不是一個一般的軟體工程師。希望您在工作中多向您的系統分析員、需求分析員、系統設計員學習,多站在他們角度上去看您在開發的項目。在最好在項目之初先在
您的腦海里對項目有個大致的分析、設計,然後和他們進行比較,找找差別,想想缺點。
九、 工具。
您在這個階段可能接觸到不同的工具了,盡管您還需要使用JB或者IDEA,但能可能對
ROSE,Together要多了解一些,因為您要畫UML了。不要再對Dreamweaver等HTML編輯器情有獨鍾了,那些JSP頁面讓初級程序員去寫吧
微觀方面
1.Core Java部分
這是最基礎的,對於一個java高級開發/設計人員,你需要對這一部分達到精通的水平,重點內容如下:
a.面向對象編程思想(封裝繼承多態介面)
b.字元串處理
c.java.lang包,java.util包等常用包
d.java異常處理
2.Java高級部分
a.Java I/O流
b.Java多線程技術
c.Java網路編程
d.Java Swing
後兩項可以了解即可,如果項目需要可以深入研究
3.前端基本技能
* HTML + CSS網頁開發
* JavaScript
* Jquery
* 瀏覽器兼容性 CSS hack(了解)
4.熟練使用JSP + Servlet進行開發
5.MVC設計模式,原理,以及相關框架,如Struts
6.SSH框架
7.緩存技術 session & cookie
8.熟練使用一種以上Java開發工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟練使用XML
JDOM w3c.dom SAX
10.Java設計模式
工廠模式,單例模式 ==
11.Java反射機制
反射的各種用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,環境變數
14.資料庫oracle必學,其他最好了解一種以上(mysql,sql server,access==)
oracle:視圖,索引,存儲過程,觸發器,游標,包,常用函數 ==
15.資料庫原理
事務的原理,鎖機制,表連接,復雜查詢語句(工作經驗),性能調優,鎖表以及解決方案==
16.JDBC,連接池
17.Ajax,反向Ajax
18.HTTP協議,request 和 response的原理,HTTP status(了解常用的),Https原理
19.熟悉Linux基本命令,使用過Linux/Unix系統,可以編寫shell腳本,可以在Linux上部署項目
20.了解windows系統批處理腳本bat
21.了解HTML5,最好學習過
22.熟悉一種JS框架,如Prototype
23.J2EE原理 熟悉一種以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一門腳本語言,如python ,ruby
26.了解php/ asp
27.了解ftp協議及原理
28.熟練使用Junit測試,熟悉Mockito等測試工具
29,熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序演算法,如冒泡排序,快速排序等,最好自己研究過一些的演算法。
31.了解Flex(不學也沒關系)
32.了解敏捷開發模式
33.工作流workflow至少用過一種,如OSworkflow,了解原理
34.使用過VPN了解其原理
35.熟悉jstl表達式和el表達式
36.熟悉webservice,WSDL,SOAP
37.圖片處理,如圖片上傳,預覽,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技術,JSON+AJAX
40.分頁技術,最好自己實現過不僅僅是用過要知道原理
41.Java Mail
42.Java讀寫txt,excel,JXL技術
43.JVM原理,JVM內存管理,GC,Java堆棧池
44.熟練使用下面的工具:
office辦公軟體,word,excel,ppt等
plsql,sqldevelop 資料庫開發工具
outlook大公司都用
ue編輯器
瀏覽器控制台,調試
SHH/PUTTY 遠程
45.UML建模工具Rational Rose等
46. 使用log4j
47.使用過開放Api如網路,騰訊街景,新浪微博等
48.頁面靜態化技術(偽靜態頁面)
49.報表技術,使用過報表製作工具,如水晶易表。
50.定時任務,如Spring batch ,學會自定義batch任務(不適用第三方工具)
51.了解uuid
52.b/s 和 c/s架構
53.正則表達式
54.了解jndi jms
55.ERP
56.UNICODE編碼,亂碼解決
57.開源網路編輯器,如ckEditor
58.二進制原理
59.使用過,了解過開源論壇框架,如discuzz
60.GWT,Closure框架
61.了解大數據,雲計算
62.搜索引擎搜索技術
63.軟體工程,項目管理
❸ 現在一般高級程序員的工資是多少
看你是那方面的程序員啦,不同方向方面的高級程序員在工資會不同,如Java一般是在3500左右,.Net
3000左右。。。
如果你是剛出來工作的話,對工資方面不要求太高,進公司穩定下來了,工資自然會慢慢的漲了
❹ 成為java高級程序員需要掌握哪些
張小喜告別996 實現高效編程 減少開發壓力 開啟Java高效編程之門(完整版高清視頻)網路網盤
鏈接:
若資源有問題歡迎追問~
❺ 曲靖java培訓學校告訴你程序員面試有哪些技巧
不管你是職場老手還是菜鳥,掌握Java程序員面試的技巧是很有必要的,今天跟隨曲靖IT培訓http://www.kmbdqn.cn/一起來了解一下。
Java程序員面試時該有的技巧
一份專業簡歷很重要
在這里小編給你的建議是:如果你想提高自己的入選機會,那最好還是花點心思製作一份專業的簡歷,相較於你將來可能得到的巨大收獲,這一點時間還是可以流失的。
了解你所要面試的企業
我們來舉個例子:就拿我們的面試來說,會事先發電子郵件給面試者,並附上動力節點的名字和博客地址。但是讓我驚訝的是,當我給他面試的時候,他竟然對我們還是一無所知。
我們在來舉例正面例子:我們在面試時也碰到過這類Java開發人員,他能對我們官網以前寫的一篇博客或者做的教學視頻上面的內容侃侃而談。(相比而言,你說我會選擇哪個?要讓別人對你感興趣,最簡單的方法就是你先表達出對對方的興趣。不管這種方法是否有欠公正,但是如果你想面試成功,那麼小編建議你事先了解一下你應聘的這家公司)。
當今社會的信息是如此的發達,我們完全可以在Facebook、Twitter、微博、博客上找到任何公司的資料。即使你只是大致瀏覽一番,也會讓你受益良多。
不要在面試官面前撒謊
知之為知之,不知為不知,如果你確實不知道,千萬不要自作聰明來編造問題的答案。
相反,你應該誠實的說,你不知道或者你並不是百分百的肯定,但是你願意嘗試一下,然後再講講自己的想法,講完後也可以問面試官正確答案是什麼,從而顯示你對此非常感興趣。
一般來講,面試官問的問題大多都是他們知道的問題如果你濫竽充數抱著僥幸心理,一旦被發現,面試官馬上會質疑你的人品
學會解決演算法問題
這是每一個開發人員都應該具備的重要技能,而且真要掌握起來也並不是那麼難
在很多面試中,都會有這樣的問題,要求你在白板或者電腦上解決軟體編程問題,但是許多程序員,即使是那些非常優秀的程序員,都會一下子大腦一片空白,完全理不出思路來。如果你能花時間學會如何解決這種類型的面試問題,那麼下次再碰到這種場景,就不會這么緊張了。我們會緊張其實和怯場無關,主要是因為我們不熟悉這些問題,也沒有自信能解決這種問題。在這方面建立起自信之後,你就再也不會緊張了。
活力洋溢地回答問題
只用一個字或者一句話,照本宣科平平無奇地回答問題,或許在技術上是正確的,但是你忘了應該藉此機會好好展示自己的激情——這才是一個開發人員能帶給團隊的最大正能量。