JAVA的發展方向

一下是我的建議,也是隨便聊聊吧:


    因爲我說的不一定對,可能也有很膚淺的地方。


本人做JAVA差不多6年了


現在在一家大型公司 負責帶人做研發和麪試新人。


作爲過來人,曾經熬夜看書記筆記,敲代碼,深知IT的辛苦,不想大家錯了方向。


之前有說法JAVA已死。


實話實說JAVA現在確實走下坡路了,特別是web方向 下坡路很嚴重。


所以在對JAVA開發選擇方向上確實需要慎重。


因爲JAVA原來的SUN已被Oracle收購,Oracle對JAVA的發展確實不夠支持


因爲他基本是專注於自己的數據庫產品賺錢。


而且其他的語言近年來突飛猛進。


所以現在只會做JAVA收入確實比以前低了不少。


但目前來說JAVA還是熱門職業,但已絕對不算高薪【付出和收入比例】。


【關於框架和麪試】


現在常用框架不外乎SSH, JBPM, Ibatis, Hadoop.


ssh現在有點像雞肋吧。


我最早參與聯通網上營業廳項目,用的struts1,漏洞太多。


後面後期改爲strut2 成本很高,結果爆了一個ONGL的注射漏洞 。


移動聯通電信全部都遭殃了,呵呵。


所以現在大型項目基本不感冒這些框架了 一般都自己寫框架。


但從另一個方面也說明SSH也有用武之地,比如快速開發小型web項目。


總之框架會用就行,SSH被淘汰是不久的事,重要的還是原理和項目經驗。


這裏一說要說很多,框架這個東西水很深,不是純學術的東西。


記住,對於框架來說,我們是用戶。把開發人員說成用戶?


雖然這樣說很彆扭,但確實是那樣。


因爲研發框架本身不能盈利的,這些研發基金會靠什麼?


我們用它的框架做項目,我們是他們的客戶,核心技術上就依賴它。


項目從一個框架轉換到另一個 付出的成本是巨大的 框架基金會可以變向盈利。


像webwork團隊搞的Xwrok開始沒火,就藉助strut1的團隊名聲,搞了個Struts2出來,誰知道ONGL漏洞是不是故意留下的呢?呵呵。


又如JBPM4吧,好像是主要研發人員和團隊鬧彆扭,跳槽到另外公司又搞出JBPM5,完全不一樣的東西。


【關於面試SSH】


SSH已經非常普遍了。


面試的內容,這雖不是我們一家之言,


但公司最想是你參入項目的經驗有多少,掌握有多少,學習能力?


這個是公司招人的共性。


SSH一些面試方向:


struts2 你能講到底層數據傳輸機制ValueStack 會覺得你掌握足夠了。


hibernate 你能講到對其優化,封裝映射臨時對象, 怎樣使用緩存分頁最有效率 其中一個,我也不會再問,算精通了。


spring 無非 IOC和AOP原理,它的MVC的話,web項目基本會用strut2代替。還有個整合其他框架。


其實整合問題這個蠻BT的,因爲整合版本問題,我自己都要弄很久,但是問到主要是想了解你的項目經驗。


JBPM 這個東西,也沒什麼說的,沒工作經驗的可以

網上找個現成項目,自己花一週重做一遍即可。


這是一家之言,但SSH框架內容就這麼點 不離其中。



【Hadoop】


這個目前還比較火吧。淘寶都用它。其實跟SSH一個樣,就是個框架。


如果同樣的時間學習SSH和Hadoop。


Hadoop絕對是能輕鬆找到工作,而且待遇高於SSH。


現在時間是2013.11,是絕對輕鬆找到開發工作,待遇相對高於web開發。


所以準備學框架的學生,再特別深入學SSH意義不是太大,可以考慮直接Hadoop


人才較缺,原因,SSH是web方向,JAVA Web 在走下坡路。


而分佈式,大數據,數據挖掘,雲計算現在較流行。


難點:知識內容並不比SSH難,主要是好教材少,硬件配集羣麻煩,也是人才較缺的原因。


【Android】


Android移動市場佔有很高,學起來很簡單 現在學找工作沒問題(3年內) 待遇不差。

但是不能常青,Android碎片化目前是沒有解決方案,再這樣下去 路線接近Symbian,隕落只是不到5年的事。

這部分面試 就簡單多了。

如你沒有項目經驗,你可做個APP放商場,我們看到完整的應用。即使這個APP相當簡單。

其他移動發展方向:

html5 現在還不成熟,大項目沒法用,慢。不用太深入,fackbook都在抱怨了麼?

WP: 這個值得了解,沒有大的硬傷,而且看看背後的公司是誰。

IOS: 這個目前好處多多,公司會給你配蘋果電腦,手機,ipad。

目前是中薪以上高薪以下。

Hybrid:混合開發,目前我們項目的解決方案,因爲移動終端多樣化,不止是手機電視,包括車載終端,大客戶的特種移動設備。 待遇可觀。


說了一些看似和Android沒關的,但實際相關性很大,面試時,你除了android 就算只瞭解這些,加分很大的,因爲以後市場變化誰都說不清,公司是以市場盈利爲目的,招你進來都會讓你學習其他語言 你有這個意識,會給人印象深刻。

【數據庫】

mySQL最好不要弄了,用oracle代替。

有幾次 問到沒工作經驗的應聘者關於oracle數據庫,我還得到:電腦太卡所以用mySQL的答案。

記住,MySQL被oracle收購來,就是準備弄死的。

oracle學習優化,花費精力不到你學一門JAVA框架1/2的時間,而有優化能力對你應聘JAVA工作是開綠燈的。

這不是我一家之言,跟同城軟件負責招聘的交流過,都是很注重額外優化能力。

大項目上線遇到最多的問題,始終是負載,承載能力,說白了大部分就是數據庫承載。

過年發短信不是要堵塞麼? 雙11支付不是要卡死麼?

只能oracle,沒有替代方案,目前沒有,幾年內也很難有。

nosql 雖然在高併發處理能力上非常優秀,但是也有碎片化的趨勢,因爲下面的具體產品 


沒有統一標準。

安全性較於oracle,低太多,銀行,通信等行業不敢用,用在新浪微薄還行。

而且oracle主要就是JAVA編寫的,目前又是JAVA的母公司。


所以學JAVA千萬不能忽略oracle。

【面試注意的】

當面試問到你,不知道或記不到的內容,千萬不要回答,“我學過忘了或者不知道。”


因爲從我們的角度公司沒法評估你,甚至對你的能力產生疑問。

因爲有時我能感覺出來,其實應聘者瞭解這部,但可能學的不深,忘了。


最好的方式: 也是我們最願意聽到的,如問到一個你不太清楚的問題,你不清楚其實關係不大,你可以回答相關的。SSH只要你學過,內容其實都過了一遍,回答你擅長的,越詳細越好,即使相關性不大,但是會給人印象很好。


一個例子,我讓一個應聘者說說JAVA設計模式,按標準應該說要能至少了解10多種纔算過關。

對方可能知道點但瞭解不多,就講了單例,工廠,觀察者。 


但是這位面試者把觀察者模式說的很詳細:適用於那種情況,添加刪除觀察者,容器是否需要同步,怎樣notify,JDK有提供支持類。


其他設計模式卻說不出來,但是這樣 我認爲也過關了。


以後做項目,代碼研究仔細點,邊做邊看花幾天時間,相信這樣的人也能弄透徹。


記住,雖然面試是可以找捷徑的,就是儘量展示自己會什麼?

初次工作者,畢業生 儘量不要說 “我可以學,瞭解一些”,是的,因爲聽到太多這種回答。

審美疲勞吧,應聘者應該說點不一樣的。因爲求職的確實多,也不乏濫竽充數者。

從我內心來講,我覺得才畢業的大學生有許多優勢,有激情,動力,同時年輕記憶能力好,也容易管理 薪資要求不高。

缺點就是缺乏工作經驗,項目經驗。經驗是沒法找捷徑的,必須得通過時間堆起來。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章