框架讓開發人員變得愚鈍嗎?

發表於2011-09-05

注:本文由敏捷翻譯 – 李盛暉編譯自 Siva Prasad Reddy 的博文。如需轉載,請參見文後宣告。

上週我去面試了一個要求有5年經驗的高階Java程式設計師職位。不過在面試結束後,我感覺框架讓程式設計師的工作更加輕鬆,但同時也讓他們變得愚鈍。

每個人都在他們的簡歷中寫上幾乎所有新的框架,聲稱他們在Spring、Hibernate、Web Services等框架擁有豐富的工作經驗。

下面就是面試的過程

我:你在你最近的專案中用過Spring。使用Spring的優勢是什麼?
應聘者:我們可以在XML中配置beans,它負責將它們初始化並返回。

我:如果Spring只能用來建立物件,那麼為何開發者都要用到它?我可以直接用“new”初始化這些依賴關係。我為什麼要在XML中配置類名並且從Spring獲取物件?
應聘者:如果明天我們想要建立另一個介面的實現,我們可以建立一個新的實現並更新XML配置來使用新的實現。我們無需改變和編譯Java類。

我:但你在寫一個新的Java類,所以你顯然需要去編譯它。關於XML的變化,你的XML有99%的可能性會放在war或者ear檔案中。所以你執行ANT指令碼,用所有新的變化建立war檔案。然後你那“XML無需編譯”的觀點就站不住腳了。
應聘者:恩,不過依賴性的注入設計模式建議採用這種方式。
我:好的,面試到此為止。我們的HR將會給你答覆。

與另一個人的面試

我:你能介紹你最近的專案和你使用過的技術?
應聘者:它是某個XYZ系統,我們正在使用Spring、Hibernate、REST WebServices.

我:好的,你能介紹下關於REST體系結構的東西嗎?
應聘者:我們能夠通過使用@RequestMapping(value=”/url”, method=”POST”)來開發REST的應用。我們也能夠使用PUT, DELETE方法。

我:很好,但什麼是REST體系結構的概念?
應聘者:我正想解釋這個問題。如果你使用@RequestMapping(value=”/url”, method=”POST”)的話,你就能開發REST的應用。

我:好,你在Hibernate方面有多出色?
應聘者:我過去兩年都在用Hibernate。我非常擅長使用Hibernate。

我:與JDBC相比而言,使用Hibernate有哪些優勢?
應聘者:使用Hibernate,我們就不必編寫跟資料庫有關的程式碼,Hibernate會替我們處理好。

我:Hibernate如何瞭解你的專案需求?
應聘者:如果使用Hibernate,它會完成資料庫中的資料儲存,更新和存取工作。

我:恩……好。你在空餘時間有閱讀與技術相關的部落格嗎?
應聘者:是的,幹嘛不呢。那就是我怎樣深入學習Hibernate了。

我:很好,很高興與你面談。我們的HR將會給你答覆。

面試過程就像這樣……

我堅信框架會提高開發者的工作效率。但是開發者需要嘗試瞭解框架的工作原理。你不必弄懂框架所有的內部執行機制。如果你確實擅長Servlets 和 JSP,那麼你很容易理解任何像Struts、 Spring MVC等等的Java Web框架。如果你的基礎不好,那麼顯然你對其他每個問題的回答可能是“框架的註釋/XML會執行”。

我極力推薦,那些想做Java開發人員的朋友,先好好研究一段時間的Java核心、Servlets,、JSP。只有通過合適的途徑,才能理解框架。

 

原文:Siva Prasad Reddy  翻譯:敏捷翻譯李盛暉

如需轉載,但請註明原文/譯文出處、譯文超連結和譯者等資訊,否則視為侵權,謝謝合作!

相關文章