框架让开发人员变得愚钝吗?

注:本文由敏捷翻译 – 李盛晖编译自 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  翻译:敏捷翻译李盛晖

如需转载,但请注明原文/译文出处、译文超链接和译者等信息,否则视为侵权,谢谢合作!

收藏 2 评论

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部