最近在忙于找工作,首先在网上也看了一些文章,不过最让我震惊的还是《十五年,你积累了什么?》这篇,原文地址:http://blog.csdn.net/axman/archive/2010/04/24/5523746.aspx这是一个所谓的基础知识无比坚固的大牛的得意之作,在他的博客中,也发现了诸如hashcode方法,equals方法的深度探索,首先这种精神值得赞扬,尤其是作者在jdk的实现版本中发现了equals方法的若干bug,我估计得意之情难免溢于言表。
当然,作为一个软件工作者,随着从业年限的增长,确实应该有所积累,只有深入技术,才能更好的驾驭技术。只有将自己的代码精挑细琢,才能够感觉到代码和艺术品的等价因素。毫无疑问,要想设计开发一个艺术品般的软件,没有深厚的功力是无从说起的。但是注意,这也仅仅是充分条件,要想设计开发一个效率高的,运行稳健的,高可复用的,代码优雅的系统,深入技术是必备前提。然而即使非常深入技术,也常常会在设计开发中迷失并犯下致命错误。
但是我想问作者的是,难道就没有其他可能的情况了么?仅仅因为回答不上来几个问题就能以极其鄙夷的口气去描述一个和java语言同龄的开发者么?从这篇文章的字里行间还看不出作者的毛躁和自我意识空前膨胀的心情么? 或许这个面试者是自己本次找工作过程中面试的第一家或者前1,2家公司,还没有完全进入状态而答不好问题(我本人就是这样);或者可能12年的经验,大部分时间都是在紧紧张张的项目周期中开发具体的应用系统,而没有时间去对自己的知识结构进行补充。等等等等。
而作者的另一些所谓的基础的,高明的问题,像concurrent包的使用等,那很明显都是比较新的JDK包加入的新功能(由于历史原因和sun自身的声明,JDK1.4之后的版本,都可以认为是较新的版本,这也是为什么大量开源项目都从JDK1.4版开始支持的原因),如果一个人长期忙于工作而没有及时填补自己的技术空白,显然会对用不到的新技术不那么敏感。而一个事实是,我上一次3,4年前面试,从来没人问起过concurrent包以及内存模型这些问题,要知道,那会儿这两个知识点早已经横空出世了啊。可以想见国内的IT行业的跟风状态,我的感觉,01,02年流行问servlet生命周期,session的保存方式;03,04流行问struts1.x,设计模式,尤其是单例模式,不明白这个模式为啥这么讨人喜欢;05,06流行各种集合类的考究,动态代理,aop。貌似现在又流行内存模型和concurrent了不成?仅仅是一时兴起的跟风,却好像自己手上有了尚方宝剑。请问那个面试官,文章的作者,答不上您的这几个问题的人,尤其是JVM底层技术,内存模型,concurrent包,volitale关键字(volatile还错写为volitale,原文甚至连struts都写错,这位还自诩java高手),难道就不会写java的应用程序了么?难道肯定不会流行的ssh架构等技术么?充其量concurrent包也仅是jdk的一个补充而已,并不是非用不可;JVM级别的程序优化及GC的log日志监控,有多少系统能精细到这个级别;内存模型的DCL问题你可能编码10年也不会遇到。
对于一个人的评价不要那么主观臆断,难道仅仅因为答不上几个面试官准备好的得意问题,就把人家抨击的一无是处?这完全不是做人做事的态度。
当然,作为一个软件工作者,随着从业年限的增长,确实应该有所积累,只有深入技术,才能更好的驾驭技术。只有将自己的代码精挑细琢,才能够感觉到代码和艺术品的等价因素。毫无疑问,要想设计开发一个艺术品般的软件,没有深厚的功力是无从说起的。但是注意,这也仅仅是充分条件,要想设计开发一个效率高的,运行稳健的,高可复用的,代码优雅的系统,深入技术是必备前提。然而即使非常深入技术,也常常会在设计开发中迷失并犯下致命错误。
但是我想问作者的是,难道就没有其他可能的情况了么?仅仅因为回答不上来几个问题就能以极其鄙夷的口气去描述一个和java语言同龄的开发者么?从这篇文章的字里行间还看不出作者的毛躁和自我意识空前膨胀的心情么? 或许这个面试者是自己本次找工作过程中面试的第一家或者前1,2家公司,还没有完全进入状态而答不好问题(我本人就是这样);或者可能12年的经验,大部分时间都是在紧紧张张的项目周期中开发具体的应用系统,而没有时间去对自己的知识结构进行补充。等等等等。
而作者的另一些所谓的基础的,高明的问题,像concurrent包的使用等,那很明显都是比较新的JDK包加入的新功能(由于历史原因和sun自身的声明,JDK1.4之后的版本,都可以认为是较新的版本,这也是为什么大量开源项目都从JDK1.4版开始支持的原因),如果一个人长期忙于工作而没有及时填补自己的技术空白,显然会对用不到的新技术不那么敏感。而一个事实是,我上一次3,4年前面试,从来没人问起过concurrent包以及内存模型这些问题,要知道,那会儿这两个知识点早已经横空出世了啊。可以想见国内的IT行业的跟风状态,我的感觉,01,02年流行问servlet生命周期,session的保存方式;03,04流行问struts1.x,设计模式,尤其是单例模式,不明白这个模式为啥这么讨人喜欢;05,06流行各种集合类的考究,动态代理,aop。貌似现在又流行内存模型和concurrent了不成?仅仅是一时兴起的跟风,却好像自己手上有了尚方宝剑。请问那个面试官,文章的作者,答不上您的这几个问题的人,尤其是JVM底层技术,内存模型,concurrent包,volitale关键字(volatile还错写为volitale,原文甚至连struts都写错,这位还自诩java高手),难道就不会写java的应用程序了么?难道肯定不会流行的ssh架构等技术么?充其量concurrent包也仅是jdk的一个补充而已,并不是非用不可;JVM级别的程序优化及GC的log日志监控,有多少系统能精细到这个级别;内存模型的DCL问题你可能编码10年也不会遇到。
对于一个人的评价不要那么主观臆断,难道仅仅因为答不上几个面试官准备好的得意问题,就把人家抨击的一无是处?这完全不是做人做事的态度。