博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
框架会使程序员变笨吗?
阅读量:5890 次
发布时间:2019-06-19

本文共 1509 字,大约阅读时间需要 5 分钟。

  hot3.png

上周,我做了几次面试,要招几名有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知识。只有这样你才能正确的理解各种框架的工作原理。

[英文原文: ]

转载于:https://my.oschina.net/swrite/blog/124179

你可能感兴趣的文章
brvah树状结构默认展开第一个_「Linux笔记」系统目录结构
查看>>
两个rsa密文相乘还能解密吗_OneDone:针对OpenSSL的恒定时间盲RSA的基于单解密EM的攻击(上)...
查看>>
rust游戏解封了吗_Reddit网友:2020年PUBG依然是个值得购买的游戏吗?
查看>>
apex图表使用饼图居中_使用java实现各种数据统计图(柱形图,饼图,折线图)...
查看>>
dell主板40针开机针脚_电脑无法开机的常见问题:解决方法汇总
查看>>
中路径查找器的功能_死磕Tomcat系列(4)——Tomcat中的类加载器
查看>>
条件查询_ThinkPHP where方法:设置查询或操作条件
查看>>
文字 竖排居中_微信签名居中“新”代码,终于回来了
查看>>
轨道角度分布图_上海轨道交通9号线客流的时空特征和乘客组成研究
查看>>
曝光原理_超级干货!泡芙膨胀原理被曝光,谁还敢说泡芙难做!
查看>>
矩阵乘法_随笔1: PyTorch中矩阵乘法总结
查看>>
图标库 vue_关于vue项目font字体图标库导入未显示的问题
查看>>
按钮开始多线程_Unity手游实战:从0开始SLG——ECS战斗(四)实战ECS架构和优化...
查看>>
加工中心刻字宏程序_宏程序螺旋铣圆周沉头孔
查看>>
如何把apk转换成aia格式_酷狗音乐如何将歌曲转换成MP3格式?方法超级简单
查看>>
为什么所请求的剪切操作失败_操作系统进程与线程基本概念理解
查看>>
mapbox symbols 层级设置_mapboxgl实现带箭头轨迹线
查看>>
hutool读取和导出excel_Office文档操作(Hutool-poi)
查看>>
python messagebox显示到最前面_如何在打开MessageBox之前关闭ProgressDialog?
查看>>
多重采样和超级采样哪个流畅_蒙特卡洛方法-多重采样
查看>>