第一篇:高級(jí)JAVA、PHP程序員崗位職責(zé)
1.負(fù)責(zé)公產(chǎn)品軟件設(shè)計(jì)、開發(fā)、測(cè)試和維護(hù)工作,主要為C++、java、php。
2.負(fù)責(zé)任務(wù)的質(zhì)量和完整性,包含故障分析、解決、修復(fù),一般文檔編制。
3.發(fā)現(xiàn)和指出項(xiàng)目或計(jì)劃中的設(shè)計(jì)問題。
4.總結(jié)產(chǎn)品研發(fā)經(jīng)驗(yàn),持續(xù)改進(jìn)產(chǎn)品性能。
5.為產(chǎn)品的市場(chǎng)推廣提供技術(shù)支持。
6.報(bào)據(jù)用戶或公司其他部門的要求進(jìn)行設(shè)計(jì)修改和設(shè)計(jì)改進(jìn)。
7.研究項(xiàng)目技術(shù)細(xì)節(jié),編寫相應(yīng)的說明書。
第二篇:php程序員崗位職責(zé)
1.設(shè)計(jì)、開發(fā)和建設(shè)集團(tuán)形象網(wǎng)站及其他宣傳類網(wǎng)站。
2.負(fù)責(zé)集團(tuán)網(wǎng)站及其他相關(guān)網(wǎng)站的及時(shí)更新、功能擴(kuò)充及改版工作。
3.完成領(lǐng)導(dǎo)交辦的其他工作。
第三篇:Java程序員的PHP印象
Java程序員的PHP印象
閱讀次數(shù): 674次 發(fā)布時(shí)間: 2010-08-11 09:43:13發(fā)布人: 網(wǎng)絡(luò)轉(zhuǎn)載
來源: 網(wǎng)絡(luò)轉(zhuǎn)載
Java開發(fā)經(jīng)驗(yàn):8年+。PHP開發(fā)經(jīng)驗(yàn):<3個(gè)月。
想做一個(gè)網(wǎng)站,因?yàn)橛卸嗄甑腏ava經(jīng)驗(yàn),所以一開始自然是想用 Struts+ibatis,雖說 Java Web 開發(fā)配置挺繁瑣的,但有多年的積累,自然也不是大問題。
在籌備的過程中,逐漸發(fā)現(xiàn),我要做的網(wǎng)站,最好是基于一個(gè)成熟的CMS或者WIKI系統(tǒng)做定制,否則白手起家工作量太大,可是,經(jīng)過對(duì)比選型,我發(fā)現(xiàn)在這方面的開源領(lǐng)域,Java陣營毫無抵抗的輸給了PHP陣營。
痛苦啊,抉擇啊,我想選PHP吧,Drupal 或者 Droomla,但又擔(dān)心從頭搞定PHP耗時(shí)太長,于是希望能夠混搭使用,也就是偏重前臺(tái)展示的部分,使用PHP在Drupal上定制,而偏重后臺(tái)業(yè)務(wù)邏輯的,使用Java開發(fā),兩者之間用 Web Service 互通。
但是,這種混搭風(fēng)也有問題,那就是開發(fā)的復(fù)雜度高,從環(huán)境搭建到測(cè)試,都麻煩,而且Java很耗資源,對(duì)虛擬主機(jī)的要求高,所以,最終在這個(gè)項(xiàng)目上放棄了使用Jaa的念頭(至少是暫時(shí)的),完全轉(zhuǎn)向了PHP。用PHP寫代碼的過程中有些感悟,總結(jié)如下: 上手復(fù)雜度:PHP勝
我用 Java 做了 2-3 年的 Swing 開發(fā),然后轉(zhuǎn)向WEB,第一個(gè)接觸的框架是 Struts,當(dāng)時(shí)的感受就是要配置的東西太多了,前后鼓搗了三個(gè)多月,才感覺漸入佳境了。
如今PHP從開始了解到現(xiàn)在總共三個(gè)月左右的時(shí)間(而且只是業(yè)余時(shí)間),其中有一周的時(shí)間在看PHP官網(wǎng)的文檔,了解主要的語言特性,后面基本上就是邊看邊改代碼,并照貓畫虎的寫東西。雖說當(dāng)年對(duì)軟件開發(fā)的理解不能和今天相提并論,但客觀的說,PHP的確簡(jiǎn)單、易學(xué),而且特別適合做WEB開發(fā)。開發(fā)感受:各有勝場(chǎng) PHP最讓我不爽的地方:
經(jīng)常是出錯(cuò)后屏幕一片空白(White Screen Of Death,都有專有名詞了,可見這是PHP出錯(cuò)表現(xiàn)的一大特性),什么信息都沒有。
開發(fā)工具的auto complete能力遠(yuǎn)不如java。PHP比較爽的地方:
php中,數(shù)組和哈希表等價(jià),而且是使用最廣泛的數(shù)據(jù)結(jié)構(gòu),變長參數(shù)+數(shù)組做參數(shù),能大大提高寫代碼的靈活性?;旧喜挥脼镹PE擔(dān)心。
訪問數(shù)據(jù)庫比JDBC簡(jiǎn)單多了,不用什么持久化框架也能很快的寫出類似DAO的代碼。
許多專為WEB設(shè)計(jì)的特性,使得從頁面獲取信息,或者向頁面輸出信息都變得非常輕巧。談不上爽或者不爽的特性:
echo 的內(nèi)容直接到前臺(tái)頁面上了,一開始我以為echo和java的System.out一樣,會(huì)寫到日志。
由于不像Java那樣對(duì)classpath以及class的路徑有著嚴(yán)格的要求,一時(shí)之間還不習(xí)慣,原來創(chuàng)建一個(gè)Java類放在什么地方基本上沒什么可考慮的,但現(xiàn)在經(jīng)常要決策一個(gè)文件該放在哪個(gè)目錄下。
因?yàn)榭梢設(shè)OP,也可以不OOP,所以,增加新功能點(diǎn)的時(shí)候,經(jīng)常很糾結(jié)O還是不O。
代碼風(fēng)格?。√?xí)慣了getData這樣的命名,是在不適應(yīng)get_data這樣的函數(shù),因此,執(zhí)著著,沒有入鄉(xiāng)隨俗的改過來,也好,一眼就可以看出,哪些是屬于框架的,哪些是屬于我的。平臺(tái)對(duì)比
如果拿PHP和JAVA比,我覺得PHP是瑞士軍刀,而JAVA則是家庭五金維修工具N件套,N >= 100,在解決網(wǎng)站開發(fā)這一問題上,PHP的確是小巧、易用,但也有不盡如人意的地方。
比如,我發(fā)現(xiàn)J2EE中幾乎必不可少的JDBC連接池,在PHP中約等于無,所以,用戶請(qǐng)求過來,如果需要訪問數(shù)據(jù)庫,都是現(xiàn)連、現(xiàn)取、現(xiàn)關(guān),究其原因,是架構(gòu)不同造成的。
實(shí)際上,J2EE中有Web Container的概念,用戶請(qǐng)求是由Container分配的線程完成的,線程可以使用進(jìn)程的內(nèi)存空間交互數(shù)據(jù);而PHP是依附于Apache的,每次用戶請(qǐng)求,Apache都啟動(dòng)一個(gè)新的進(jìn)程來執(zhí)行PHP腳本,進(jìn)程執(zhí)行完,一切資源都回收了,所以在默認(rèn)情況下,一個(gè)PHP腳本想要留下點(diǎn)“全局”的東西并不容易(我一開始就被 global 這個(gè)關(guān)鍵詞給騙了);當(dāng)然,也不是說不同的請(qǐng)求之間完全沒法交換數(shù)據(jù),只是這樣需要使用共享內(nèi)存,或者使用文件做持久化。
不過,Apache用進(jìn)程處理請(qǐng)求應(yīng)該比線程模式要更加健壯,因?yàn)樵贘2EE中,因?yàn)橐粋€(gè)線程的問題導(dǎo)致整個(gè)Container掛掉的情況屢見不鮮。OOP PHP主流版本已經(jīng)對(duì)OOP的支持很好,但因?yàn)闅v史原因,好多PHP的開源項(xiàng)目的代碼都是不那么OOP的。一開始,我是跟著框架的習(xí)慣,用不怎么OOP的方式寫代碼,在寫了十幾個(gè)零散的函數(shù)之后,終于忍不住,又全部重構(gòu)成對(duì)象了。
做了這么多年的Java,OOP的思想已經(jīng)非常深入,雖然當(dāng)年從學(xué)校出來的時(shí)候,也是從結(jié)構(gòu)化程序設(shè)計(jì)轉(zhuǎn)向面向?qū)ο蟮模玁年之后,再從面向?qū)ο筠D(zhuǎn)向結(jié)構(gòu)化,這種不習(xí)慣的感覺更加強(qiáng)烈。也許是OOP真的是更加符合自然的思考習(xí)慣吧,現(xiàn)在看著一長串的零散的函數(shù),很有一種不安全的感覺,況且還要挖空心思的為方法起名,以避免沖突,累!總結(jié)
1、應(yīng)該把PHP納入自己的開發(fā)工具箱
2、PHP不夠完美,但可圈可點(diǎn)之處甚多。
3、面向?qū)ο鬄镻HP增色不少
4、在開源領(lǐng)域,PHP方面比較發(fā)達(dá)的是最終應(yīng)用,所以才有那么多人使用wordpress建獨(dú)立博客,哪怕沒有開發(fā)經(jīng)驗(yàn);而JAVA方面比較發(fā)達(dá)的是開發(fā)框架和類庫,給程序員們使用的。從這個(gè)角度來講,Java是個(gè)小眾的語言。
第四篇:如何成為高級(jí)Java程序員
如何成為高級(jí)Java程序員
給一個(gè)剛出社會(huì)的程序員新生一個(gè)建議,想成為一個(gè)優(yōu)秀的程序員,高級(jí)程序員,不能眼高手低,不能認(rèn)為開發(fā)新項(xiàng)目,技術(shù)研發(fā)才學(xué)到東西,不能看不起維護(hù)系統(tǒng),不要以為自己懂的技術(shù)越多自認(rèn)為自己很牛叉。假如你忽略了一個(gè)問題那么你永遠(yuǎn)成為不了優(yōu)秀的程序員、高級(jí)程序員,那就是系統(tǒng)優(yōu)化。
一、JAVA。要想成為JAVA(高級(jí))工程師肯定要學(xué)習(xí)JAVA。一般的程序員或許只需知道一些JAVA的語法結(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)的很多功能,通過JAVA的API都可以實(shí)現(xiàn)了,就不必自己費(fèi)太多的腦經(jīng)了。
二、設(shè)計(jì)模式。其實(shí)寫代碼是很容易的事情,我相信您也有同感。但如何寫得好就比較難了。這個(gè)“好”字包括代碼可重用性,可維護(hù)性,可擴(kuò)展性等。如何寫出好的代碼往往要借助一些設(shè)計(jì)模式。當(dāng)然長期的代碼經(jīng)驗(yàn)積累,只要您用心,會(huì)使您形成自己代碼風(fēng)格。相信您的代碼也比較符合代碼的可重用性,可維護(hù)性,可擴(kuò)展性。但既然前人已經(jīng)給我們總結(jié)出了經(jīng)驗(yàn),我們何不踩著前人的肩膀前進(jìn)?
三、XML?,F(xiàn)在的系統(tǒng)中不使用XML幾乎是不可能的。XML的功能非常強(qiáng)大,它可以做數(shù)據(jù)轉(zhuǎn)換、做系統(tǒng)的配置、甚至可保存您的系統(tǒng)業(yè)務(wù)數(shù)據(jù)。因此您必須了解XML,包括它的語法,結(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ā)成本”。但我這里希望您能精通,更多的是希望您能通過框架的使用了解框架的思想。這樣您在開發(fā)一個(gè)項(xiàng)目時(shí)思路會(huì)開闊一些,比如您會(huì)想到把SQL語句與您的java代碼分開,再比如您會(huì)考慮把您的業(yè)務(wù)邏輯配置到XML或者數(shù)據(jù)庫中,這樣整個(gè)項(xiàng)目就很容易擴(kuò)張了。
五、熟悉主流數(shù)據(jù)庫。其實(shí)真正比較大的項(xiàng)目都是有人專門做數(shù)據(jù)庫的,但往往很多項(xiàng)目要求作為(高級(jí))工程師的您也參與數(shù)據(jù)庫的設(shè)計(jì)以及SQL的編寫。所以為了更好的為國家做貢獻(xiàn),建議您還是多了解一些主流數(shù)據(jù)庫,比如SQLSERVER,ORACLE,多連接SQL和存儲(chǔ)過程以及觸發(fā)器。如果您不是“科班”出身,您還需要補(bǔ)充一些數(shù)據(jù)庫原理方面的知識(shí)。
六、精通一種或兩種WEBServer。盡管我再《如何成為java初級(jí)程序員》里講過它,我還是要強(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í)工程師,您要能通過它來描述您對(duì)項(xiàng)目的理解,盡管這不是必須,但卻很重要。
八、站在高度分析問題:這不是一個(gè)知識(shí)點(diǎn),也不是通過書本就能學(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頁面讓初級(jí)程序員去寫吧。
1、具有1-5工作經(jīng)驗(yàn)的,面對(duì)目前流行的技術(shù)不知從何下手,需要突破技術(shù)瓶頸的可以加群。
第五篇:JAVA高級(jí)程序員招聘考題
姓名:日期:時(shí)間:
1.請(qǐng)問您在開發(fā)中或?qū)W習(xí)中運(yùn)用過哪些架構(gòu)(struts,hibernate,spring,webwork,xword等),請(qǐng)談?wù)勀鷮?duì)所使用的架構(gòu)的理解及使用心得?
2.請(qǐng)問您是否用JAVA開發(fā)過web service,請(qǐng)談?wù)勀鷮?duì)它的理解及心得。
3.請(qǐng)問您對(duì)LINUX的使用熟不熟?有沒有在LINUX下配置過WEB 服務(wù)?LINUX下的常用命令你記得哪些?
4.有兩個(gè)表,學(xué)生記錄表(STU_ID,學(xué)生名稱,班級(jí)名),學(xué)生成績表(REC_ID,STU_ID,學(xué)科名,成績分?jǐn)?shù)),a)請(qǐng)寫一個(gè)SQL語句,統(tǒng)計(jì)出每個(gè)學(xué)生的總成績。
b)請(qǐng)寫一個(gè)SQL語句,查出A學(xué)生B科的成績。
5.您是否使用過EJB,請(qǐng)描述一下您對(duì)EJB的理解及使用心得。
6.請(qǐng)簡(jiǎn)要說明一下JAVA中的接口的用處。
7.請(qǐng)寫一個(gè)簡(jiǎn)單的單例類,并說明一般在什么情況下會(huì)使用單例類,有什么好處。