提示:点击上方"CocoaChina"↑免费订阅

上周,我做了几次面试,要招几名有5年工作经验的高级Java开发人员。但当面试结束后,我感觉到,各种框架(frameworks)使开发变得容易,但同时,也使程序员变笨。

每个人都会在他们的简历中罗列出几乎所有的新框架,他们能“熟练的使用Spring,Hibernate,Web Services等”。

下面是面试的过程。

我:你在你最近的项目中使用了Spring。使用Spring有什么好处?

应试者:我们使用XML配置出bean信息,Spring能够帮我们实例化这些bean,供我们使用。

我:如果Spring只是用来创建对象,那我们干嘛要用它?我们可以直接使用“new”来实例化各种依赖关系。为什么我们还要在XML里配置类的名字、要从Spring里取对象?

应试者:如果改天我们又需要对接口做另外一种实现,我们开发出实现后,更改一下XML配置,就能使用我们的新实现了。我们不需要去修改Java类和重新编译它们。

我:可是既然你写出了新的Java类,你必然要重新编译你的项目。

至于XML里的变化,99%的时间里你的XML都是打包在 war 或 ear 文件里的。

所以,你只需要运行一下ant脚本,把你所有的变更都包在war文件里就行了。你的“如果使用XML就不需要编译”的观点是站不住脚的。

应试者:唔,但依赖注入的设计模式建议采用这种做法。

我:好吧。我们就先聊到这。人力资源部会给你打电话的。

面试另外一个家伙:

我:你能描述一下你最近开发的项目、以及使用到的技术吗?

应试者:那是个XYZ系统,我们使用了Spring,Hibernate,REST WebServices。

我:那好。你能解释一下RESTful吗?

应试者:我们使用@RequestMapping(value=”/url”, method=”POST”)来开发RESTful应用。我们还使用了PUT,DELETE方法。

我:哦,那RESTful个什么概念?

应试者:我不是说了吗,如果你使用 @RequestMapping(value=”/url”, method=”POST”),你就是在开发RESTful应用。

我:哦,你对Hibernate如何?

应试者:我这两年一直在使用Hibernate。我对Hibernate很熟悉。

我:跟JDBC比起来,Hibernate有什么优势?

应试者:使用Hibernate,我们不需要写任何跟数据库交互的东西,Hibernate会帮我们处理这些。

我:那Hibernate怎么能知道你的项目需要如何的存取?

应试者:如果我们使用了Hibernate,它会帮我们完成存储,更新,取数据等数据库操作。

我:哦,哦。你在业余时间会读一些技术相关的博客吗?

应试者:当然,我对Hibernate的深入掌握就是这样学会的。

我:非常好,很高兴见到你。我们的人力资源部会给你打电话的。

面试过程就这样 …

我绝对相信各种框架会提高程序员的工作效率。但程序员也应该努力去了解这些框架是如何工作的。你并不需要理解各种框架的所有内部工作原理。如果你非常的擅长Servlets和JSP,那你就很容易理解诸如Struts,Spring MVC等Java Web框架。如果你不了解这些基础知识,很显然,所有你的回答只能是“框架/标记/XML帮我们做了这些”。

我强烈建议所有刚开始职业生涯的Java程序员都要认真学习Java核心,Servlets,JSP知识。只有这样你才能正确的理解各种框架的工作原理。

点击下方

“阅读原文”

参与iOS开发者大调查,赢取2015年定制台历

↓↓↓

公司java框架让程序员变笨_框架会使程序员变笨吗?相关推荐

  1. 定义分数类中和运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。

    /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作    者:李德彪 *完成时间:2016年6月15日 * ...

  2. java程序员的名言_收集53个程序员励志名言

    1.要么做第一个,要么做最好的一个. 2.信念和目标,必须永远洋溢在程序员内心. 3.最累的时候,家人是你最好的归宿. 4.C程序员永远不会灭亡.他们只是cast成了void. 5.真正的程序员认为自 ...

  3. 程序员微信头像_这才是程序员的内心独白

    在互联网公司的各个职业当中,程序员可以算是最善于自黑的群体之一了.自称"码畜",管工作叫"搬砖",最常见开"头发少"这种玩笑,还经常调侃自己 ...

  4. 程序员里面开源_如何以开源程序员的身份开始

    程序员里面开源 展望技术世界是令人兴奋的. 它有很多运动部件,似乎您越深入挖掘它,它越深入,然后它就一直是乌龟 . 因此,技术也势不可挡. 如果您热衷于加入并帮助塑造现代世界的运作方式,那么从哪里开始 ...

  5. 程序员里面开源_开源对年轻程序员意味着什么

    程序员里面开源 我是15岁的程序员. 我从九岁开始,到现在已经写了很多代码. 对我来说,编程正在创建,而且我已经创建了许多项目,从纯Java 3D投影引擎到网络蜘蛛. 今天, 我将与您分享有关Open ...

  6. 浅谈对程序员的认识_浅谈关于程序员的本质

    很多人认为计算机变得如此智能,所以在不久的未来将不再需要程序员.另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题.甚至不少程序员对他们是做什么的都没有清晰的概念.Computers ...

  7. 微信小程序零基础入门_第二章 小程序框架_逻辑层

    第二章 小程序框架_逻辑层 2.1 逻辑层 小程序开发框架的逻辑层是基于JavaScript进行编写和实现的.在开发过程中写的所有代码,最终都被整合成一份JavaScript,在小程序启动的时候开始执 ...

  8. 小程序动画从头开始_渐进式Web应用程序102:从头开始构建渐进式Web应用程序

    小程序动画从头开始 We learnt about what is a Progressive Web App (PWA) in part 1. In this part, we are going ...

  9. 小程序 mathjs渲染公式_自己开发小程序的成本公式

    小程序开发成本公式 小程序的开发价格可谓是高低差别巨大,其实这是根据小程序的难易程度来决定的,可以说开发价格从5000-50万元都是有的.下面我们主要来介绍一下自己开发一款小程序需要多少钱呢.因为自己 ...

最新文章

  1. Openresty最佳案例 | 第4篇:OpenResty常见的api
  2. mysql 触发器编程_【mysql的编程专题】触发器
  3. 正经“长生不老药”新进展:口服那种,贝佐斯投资 | 柳叶刀子刊
  4. 皮一皮:碰到这样的领导怎么办...
  5. 找一个可以@user的gem。
  6. android intent 分发,Android分享操作
  7. swagger生成示例_生成器设计模式示例
  8. 《Python编程从入门到实践》记录之类的创建
  9. SpringCloud面试题及答案
  10. 第二十二:第一个Pytest UI自动化测试实战实例
  11. 上网行为审计产品对比(2008版)
  12. layui前端页面table表格怎么格式化转换时间_个人经历:我的前端学习历程
  13. 详解如何正确使用Tuxera NTFS For Mac软件
  14. codeforce 604B More Cowbell
  15. 02333自考软件工程知识点总结、考点串讲、考前复习
  16. PyCharm学习笔记04:PyCharm 键盘映射和快捷键 - Keymap Shortcuts
  17. Scala教程-详细全部
  18. my opencv voyage
  19. 魅族ROOT在线申请地址
  20. VScode任务栏图标异常

热门文章

  1. 为虚幻引擎4设置Visual Studio
  2. ERC721藏品合约详解,附代码实现
  3. 写给开发者——从比特币脚本引擎到以太坊虚拟机
  4. iOS开发:对于AFNetworking HTTP转HTTPS请求证书问题
  5. 自动化运维脚本语言之expect实践学习(1)
  6. 7.JasperReports学习笔记7-applet打印
  7. 说说我眼中的IT界加班文化
  8. 误区30日谈21-24
  9. 图像处理基本概念——卷积,滤波,平滑
  10. MATLAB学习笔记(十五)