Java 程序员的面试,不知道框架原理(转)
java吧
全部回复
仅看楼主
level 7
我曾在多个场合撰文说过,现在培训出来的企业Java开发兵团只知道使用某种框架,但完全不知道这些框架的底层原理。今天早上,在依次对三个职位的应聘者面试中,我又再次见到了这种情形。我们的顾问公司收到了一个客户的招聘需求,要一个经验丰富并通晓SQL的Java开发人员。我们公司在这个客户那里享有非常好的声誉,于是我们从招聘代理公司要来了一批简历,开始搜寻合适的目标。首先,关于他们的简历——每份简历都有数页,详细的描述了在各个公司干过的各种工作。每份简历上都有一个技术列表,表面上看这些都是应聘者懂得的技术。下面这个清单是一个真实的简历上记载的各种技术:
Core Java, J2EE, JSP, JDBC, Servlets, AJAX, XML, HTML, XSLT, Web
Services, CSS, JavaScript, SQL, Oracle 10g, MySQL 5.0., JMS,Eclipse,
Adobe Flex Builder 3.x,UML, JDBC, SVN, JUnit, VSS, Jira, HTML, DHTML,
CSS, AJAX, JavaScript, XML, MXML, Action Script, Servlet, JSP, JSTL,
Hibernate 3.x, Spring 2.x, IBatis, SOAP, UDDI, WSDL, Apache Axis, Web
logic Server 8.x, Apache Tomcat 5.0, Struts Framework, MVC, ANT, Maven.相当的让人印象深刻…——对于那些从来没有面试过Java程序员的人来说。我并不想说这些应聘者在撒谎,只是这些人跟你的谈话坚持不到三分钟就会在 80%的这些技术上露馅。他们可能听说过或者是试过这些技术或工具,这对于他们来说已经足够可以把它们列入简历了。那剩余的他们能说清楚的20%是什么? 框架。基本上他们都会向你解释如何配置Struts或Spring,甚至如何让Spring和Hibernate通信。顺便说一句,他们全都喜欢 Hibernate,因为它能让你省去了写SQL,而他们对SQL查询语言的知识知之甚少。每当我看到简历上写满了这些Struts,Springs,Hibernates等东西,我就会这样问,“假设,你不允许使用任何框架。你要从数据 库中的客户表和订单表中取出数据,把它们放到Web页面上,请详细完整的解释一下这整个过程。”对大部分人来说,让他们写出一些纯SQL将是一种致命请 求… 有个人在简历上写了JQuery。我问她,“你为什么要用JQuery”…20秒钟的停顿…“我喜欢它,它很好呀!”这就是所有我能从她那挖掘出的关于JQuery的信息。两周前,我参加了一个旧金山JavaOne大会里的一个技术主题会。Brian Goetz向我展示了一些 Lambda 表达式(也就是闭包)的样例代码,这个东西将在明年的Java8中出现。这是一个相当高级的语言特征,它所用的Java语法是给有勇气的人准备的。我在想, “在企业Java世界,谁会去用闭包?10%的程序员?5%?”。Java中引入这些表达式只是好玩?只因为它很酷?是因为其它函数式语言中有它?
软件开发产业正在发生变化。它将不再需要更多的程序员。它需要的是高级匠师,能够在软件出问题时配置并替换相关代码。理想情况下,你的团队中应该有 一个Java高手,他能真正理解你们应用中的代码,不仅能够从模块级调整它们,并且能理解每行Java代码。这样的人多少也该知道如何写SQL外连接,知 道如何纠正编译问题,等等。典型的企业经理都希望手下拥有更多的软件开发人员。多管一些人是向上晋升的一种捷径。是这么回事。但如果你足够聪明,你应该确保你那一堆框架程序员中至少有一个是货真价实的。我又收到了一份简历,将在明天早上10点面试。这简历看起来很眼熟。我只看了它工作过得公司和干的项目。上面其它的信息都是没用的——明天早上10点钟他自然会现出原形。 明天的更新。现在是早上10点15。又一个面试结束了。第四个错误的回答是,要想把数据传送到浏览器,一个servlet需要把数据放到HTTPSession对象属性里。在听了10分钟这样的回答后,你会认为我终止这次面试的行为很粗鲁吗? 明天的明天的更新。我给这个职位每小时的报酬上增加了5美元。偏偏这第一个面试者就扛着胜利的大旗通过了我的面试。别以为这区区5美元就能叩开栖息着有才能的程序员的奇异世界的大门! [本文英文原文链接:The Degradation of Java Developers ]
2012年11月04日 02点11分 1
level 14
像我们这些小菜鸟…你能让我们理解那么多东西??能基本应用就不错了…要求这么高你可以去找那些大神去…但是我想说的是大神毕竟是少数的存在…[揉脸]
2012年11月04日 02点11分 2
level 13
[汗]好难[汗]
2012年11月04日 03点11分 3
level 7
转的外国的?
2012年11月04日 03点11分 4
level 1
第四个错误的回答我还真不知道怎么答,求教了???确实感觉都停留在框架意义上,我自己也要转变思维
2012年11月27日 16点11分 5
HTTPSession用来维护用户cookie数据吧……[大笑] 用户通过post或者get请求给服务器,服务器返回给浏览器数据,这个用过httpurlconnection的话就知道大概流程了。
2012年11月27日 16点11分
应该查询到数据后,存储在List对象里,再存储到session中,页面就可以访问了。
2012年11月28日 03点11分
回复 老子叫孽障 :[啊!]和session没有半毛钱关系……
2012年11月28日 04点11分
level 10
Hibernate能够把数据库表结构和Java对象互相转换,不过损失了性能,确实傻瓜。
jQuery没用过,目测是封装了javascript在各个浏览器上的差异。
框架么,不就是为了结构化代码,简化应用,如果没有ssh的话,估计这吧里大部分人都不会学Java了。
2012年11月27日 16点11分 6
框架是好用,,还是要有坚实的java基础,,,,,
2012年11月28日 01点11分
回复 newbiezhang : 你只考虑了设计,没考虑客户群。好的设计不代表这个软件就是成功的。spring最开始因为轻量级的AOP,新颖的IOC理念而吸引了大量的客户群,后面逐渐向web开发渗透,奠定了它成功的基础。
2012年11月28日 03点11分
回复 newbiezhang : sql是natvie的,Hibernate显然不能接受native的sql,自己定义一个hql,可以更好地控制,我是这么认为的,没有在网上求证。我基本不做sql开发……
2012年11月28日 03点11分
求大神带领
2012年11月28日 04点11分
level 9
.
很有趣
(嘎嘎)
2012年11月27日 20点11分 7
level 8
你给的工资是什么范围,来的就是哪一类人
2012年11月28日 01点11分 9
中。
2012年11月28日 03点11分
level 8
hibernate 还是要有扎实的jdbc功夫,就像compass在lucene的基础之上,,,把基础搞好了,什么框架都比较简单,,,
2012年11月28日 01点11分 10
回复 独守那份伤痛 :嗯嗯,,,
2012年11月28日 04点11分
回复 独守那份伤痛 :我啊,开始在ruby呢,,,
2012年11月28日 05点11分
回复 独守那份伤痛 :哦,java程序员转ruby的还是有的,,,
2012年11月28日 07点11分
level 10
[汗]好像很厉害的样子。
2012年11月28日 02点11分 11
level 6
@网络好无聊啊 那你认为我们这些苦学Java的应该怎么样学习才算真正的学会Java 迷茫者苦求答案
2012年11月28日 03点11分 13
level 10
我想说原理什么的学的时候都是要弄懂的吧。。 不然学什么嗯
2012年11月28日 03点11分 14
level 6
hibernate我觉得最大的亮点在于缓存,除此之外,一无是处。对于重大项目而言
不喜勿喷。
2012年11月28日 03点11分 15
level 12
初学者,知之甚少。
不过对于servlet的简单向页面传值还是懂一点。
2012年11月28日 03点11分 16
level 6
个人还是喜欢sql语句
2012年11月28日 03点11分 17
sql语句有些也挺难写的,,,
2012年11月28日 07点11分
level 12
让我怎么活[啊!]
2012年11月28日 03点11分 18
level 6
好像在哪里看过。
2012年11月28日 03点11分 19
level 10
刚学了一些 JSP ,就被潮流推着到了 Struts 那里,一头雾水了差不多一年。
参加过一次培训,也没人脱离框架传授一下 MCV 是怎么回事。
直到某天得到一个机会,要求完全不用现有框架实现一组 Web 应用,自己花了一点点时间做了一个土的 MVC ——甚至土到用 JSP (而非 Servlet) 做控制器——很快就明白了很多。
虽然后来工作中没再接触 Struts 、Spring ,但对接触的其他 MVC 框架的理解也快了很多。
2012年11月28日 04点11分 20
很多web mvc的原作者,是在sun发布servlet,但还没有发布jsp技术的那一两年里着手做框架形成的思路,后来人应该用纯sevlet做做web会更有体会
2012年11月28日 04点11分
回复 纯金键盘 : “纯sevlet做做web会更有体会”,做过试验。
2012年11月28日 04点11分
回复@typhoon_wolf : 大规模servlet开发被迫要自己手工做个html文件模板,里面要标记出需要动态替换的部分,后来一看,快成jsp了
2012年11月28日 04点11分
回复 纯金键盘 : 哦,i++
2012年11月28日 04点11分
1 2 尾页