个人感想,仅供参考:
考证促进自己增长一些技术水平,也能某种程度上证明一下自己的水平。毕竟有个证比没有好,在找工作方面也有一定的帮助。就好像留学要考toefl证明自己的英文水平一样,考过了说明自己已经有一定的水平了,当然任何事情都是相对而言,考过了认证并不一定意味着自己在java方面已经很熟练了。
作为一个programmer来说,考个认证确实能帮助自己扩展知识,增加自信。更重要的是可以开阔眼界,在找资料和学习的过程中能了解当前的技术走向和热门技术的应用。
我因为想找工作(目前失业中),所以在1个多月前连续考了scjp和scjd.对我来说,scjd比scjp简单。因为我用java写过1年半的程序,所以完成scjd要求的小项目感觉比较简
首先,你需要有充分的心理准备,因为Sun Java认证考试非常严谨,需要你具备充足的实践经验才可能通过。
以较为热门的SCJD为例,其学习过程可分为两部分:第一部分要求学生实际完成一个项目的编码工作;第二部分评价学生的代码。然后才给出成绩。在培训上教育上,着重强调学生的解决实际问题的能力,培训内容就是在老师的指导下完成一个实际的
我是2001年12月过的SCJP1.3,当时是为了参加对日外包项目。项目做了八个月,噩梦一般的日子。通过做对日项目我认识到软件架构在软件产品中的作用。当项目结束后,觉得SCJD和SCWCD对我已经意义不大了,我就准备看SCEA的资料,并于2002年11月4日SUN认证日购买了Part I 的voucher 和Part II 作业下载的证明。今年3月我通过了Part I 后换了工作(不要问我的月薪^_^),想休整一段时间再准备Part II 的设计。
关于SCJP我不想说什么了,主要谈谈SCEA的一点经验。
首先谈谈SCEA对你英语水平的基本要求。你的英语水平应该在CET4-6之间,特别是专业英语。这就要求你平时要多看英文原版的书,尽量不要看中文版的。SCEA PartI都是选择提没有填空和简答,但是有很多选择题(多数为scenario)的题干非常长,类似于CET4考试阅读理解题,有的选项多达7,8个之多!所以对你的阅读速度和理解能力是个挑战。
再说说关于SCEA信息和资料的获取,国内没有完整的中文资料可以参考,所有对你考试有用的都在国外的网站和论坛上。SUN.com,javaranch.com,groups.yahoo.com/group/scea_j2ee是三个最重要的资源。现看看SUN.com关于考试的说明,对考试的内容,形式要有清晰的理解。最好对BluePrint的PetStore有研究,对PartII的设计和理解Struts有很大的帮助。javaranch里的Architect Certification论坛里有关于SCEA的各种问题的讨论。yahoo的讨论组里面有最全面的资料和个人总结,都是国外高手搜集整理出来的。
关于架构师这个职位的意义我想在这里简单谈两句,如果想进一步探讨请通过Email联系,也可以回复帖子。在《人月神话》中布鲁克斯提出的中心观点就是软件产品最重要的是要保持概念的完整性,只有保持概念完整性才能设计出简洁易用的软件。同时大师也谈到了如何才能保持软件系统的概念完整性,比如外科手术型的开发队伍等,总之就是要把一个软件系统的完整(全局)的概念保持在一两个人的头脑中。也就是说任何纯思维性的活动都不应该是一拥而上就能成功的。在这里棋类比赛是一个很好的证据。
大家都知道,在整个计算机体系结构中,软件是包裹在裸机外面在人和硬件之间。其实软件就是人类管理控制计算机硬件的工具,人类的自然语言话计算机听不懂,也就不可能执行。那么工具的更本特性就是为人类探索和改造自然提供方便,工具也是人类文明的标志,没有达到简单易用目的的工具反而会给人们带来不便。说到底软件的根本属性也是简洁易用!
精通MS VS的人再去用IBM WebSphere Studio的人会深信以上观点。
真诚的希望我国的软件架够师能够健康地成长起来!认证考试是一个强迫自己学习和开阔视野的方法,但是获得证书绝对不是你的最终目的。就象一位通过SCEA的人说的那样,UML图每个人都有自己的画法,但是你的图是不是真的能充分表达你的设计思想,是否真的能起到促进交流的目的,这些都由国外有多年经验的专家给你打分。当你的UML图表达了你自己的设计思想和学习心得并通过专家的评定时想想你的成就吧!
项目。获得SCJD认证的过程相对复杂一些,Sun建议的SCJD学习课程是Java Progeamming Language Workshop(SL-285)。当然,学习Java你还可以参考Sun的一个面向对象的教程:Object-Oriented Analysis and Design (00-226)。
获得SCJD认证并不是直接参加考试通过获得,首先,你必须是SCJP,在申请SCJD的认证的时候,需要先参加一个程序设计测试,这个测试基本上是给你一个实际应用案例,然后你用Java进行实现,要注意的是这个测试主要考查的是你以Java2技术开发一个工程的总体能力,而不是考查你的编程技巧。这个编程测试是不限制时间的。
如果你通过了上述编程测试,那么就恭喜你了,你已经通过了得到SCJD认证的最难的一关,接下来你要再参加一个考试,但是与SCJP考试不同的是,SCJD的考试是简答题而不是选择题,如果你的正确率在70%以上,就可以获得SCJD认证了。
再如SCEA,其培训重点在于如何应用J2EE技术来进行分析和设计,如何应用一些设计原则和最佳实践,以提高软件软件的质量。其认证考试分为三部分:第一部分,基础能力测试;第二部分,分析和设计一个实际的项目,第三部分,针对所完成的分析设计,解释设计的理由。总之,Sun Java的认证考试是严谨、科学的,既保证学生掌握认证所规定的知识,增长解决实际问题的能力,又可为企业评价工程师的技术能力提供了坚实的依据。
从上面的叙述你也可以看出,获得Java认证绝对不是一个简单的过程,是有一定难度的。获得Java认证可以证明你在Java开发技术方面的造诣以及软件工程方面的知识水平。无论出于什么目的,如果你希望尽快学习和掌握Java技术,不妨走走Sun公司的Java技术认证之路。
单。而scjp的大量的基础概念,我第一次看模拟题时可能多一半的题目都不会做。但是大部分只要自己实际编小例子试一下就可以找到答案。给我印象比较深的是 内部类 和 匿名内部类, 同一个文件中写多个类 相关的概念,准备 scjp的朋友 一定注意这部分概念。
我个人认为,如果目前有一份稳定的工作,做的项目自己也比较有兴趣,不一定急着考证。因为不急用,而且真正的技术最好还是在实际的项目中去学,会学的比较深入而且全面。如果是新人或者想换工作的,到是不妨花点时间和金钱,多块敲门砖。但也不要把希望全寄托在认证上面。我觉得对个人来说,比较重要的而且基本的资历按重要性排序 : No.1 computer相关的本科学历。 No.2 实际工作经验 No3. 认证
因为我是为了找工作而考证的,所以准备起来力求速成,一点经验,可能对有java基础而又急于考证的朋友有帮助:
1。scjp: 我开始看一下教材目录,了解考试的范围,不看详细内容。然后直接看了2份 bible 的题目,每份100多道题。然后作了2-3套mock的题。把这些题上的点基本搞清楚,就可以pass SCJP了,有些概念不清楚就去查教材。scjp的考题覆盖面很全,教材中每一章,都会有题目出现。最后一章有关tcp/ip的没用,不会考到。我大概用了2周多的时间准备
2。scjd: (对于没有实际用java编过项目的人可能不是特别容易)
我下载了很多资料,但是一点都没看。我想如果用java编过项目的话,完成这个不会有任何困难,直接作就行了。不要问我是什么题目,因为这个考试本身就是一个小项目,你要独立的把它完成。别把它想象的很复杂,其实很直白。涉及了3方面: rmi,线程安全,swing,仅此而已。当然最好有比较好的编程习惯,比如注释,变量命名规则,整体结构设计模型的合理等等细节。如果想提高水平的话,到是可以多看看教材或者其他的资料,速成考证的话绝对是没有必要看了。大概用了2周的时间,1周进行设计,编码和功能测试,第二周进行修改,测试,和文档。(我是脱产准备的)
还是那句话,自己想清楚,自己是不是需要考证。编程技术发展的也很快,如果近期内考证对自己没什么特别的好处的话,我觉得可以不用着急考,可能2年以后,又有新技术出现了。现在sun不就又推出了java web组件的认证,就是有关jsp,Servlet的。还有scjea,有关j2ee概念的。
总之,自己想清楚,然后just do it. 我想只要花时间,准备得法,大部分认证都是比较容易通过的。
我在准备考证的时候经常来这里看看,得到了很多的收获,感谢这里的每一位朋友,特别感觉chairyuan和其他无私回答问题的朋友。
写了这么一大段感想,希望对正在考试和学习java的朋友有帮助。