SCJP备考

1.知识背景和概况:
首先,我不是程序员,在大学做毕业设计的时候用Java做过一个系统,后来基本上没碰过Java了,2000年的时候上过北大的SCJP培训,当时觉得简直是白花钱,讲的太简单了。后来由于种种原因一直拖着没考,今年总算把这个心愿给了了。如果你曾经使用Java开发过东西,应该水平就不在我之下:-)
虽然SCJP不是很难,但是如果你不专门复习准备的话,即使你经常使用Java开发,也未必就能过,和以前参加过的MCSE考试相比,我总的感觉是:SCJP考试的覆盖面要广的多,Java的各种概念都考到了。最初觉得应该跟准备MCSE似的,看一周的书,就去考试,后来发现这个想法是不现实的。最终我准备了3个月,当然主要因为工作忙,没有整块的时间看书,我也不是那种特别刻苦的人:-) 如果时间充裕,1个月的准备时间应该是足够了。按照我下面说的准备,没必要花钱去参加培训。

2.看书!
我是学计算机的,也用过Java,这次考试可以说没有什么功利性目的,因此不想到处找考试题然后混过去,因此看书是必须的,先down两本好教材:
1.Java2 Certification Tutorial:
http://automation.seu.edu.cn/auto/content/tutorial.zip
2.Complete Java2 Certificate:
http://automation.seu.edu.cn/auto/content/Complete%20Java2%20Certificate.zip
第一本是一个简明教程(其实也挺大的),基本上是针对SCJP 的考试大纲设计的,而且讲了很多容易混淆的东西,很不错,第2本是一个600多页的大书,但是基本上只有前一半是针对SCJP 的,后面是针对SCJD的,有这两本书,足够了,不用再看别的书。
我的建议是先通读一遍后面这第2本书,仔细的复习一便,然后分章节的看第一本书,第一本书附带了一个练习题系统,可以看完一章,做一章的题目,检查一下自己对各种基本概念的掌握程度,发现问题就再看书。要注意的是,这个练习题有些部分超出了SCJP的要求,但是对于扎实的掌握知识是很有帮助的,建议做完,搞懂。这个Java2 Certification Tutorial中有两个问题:1是没有IO部分,2是练习题中有些排版造成的错误,不过错误很明显。
别忘了下载一个SUN的JDK,做实验用,当然用别的Java IDE也可以,但是我比较喜欢纯粹的命令行的JDK.
3.做题!
理论上,看完了书,掌握差不多了,就可以去考试了,不过这个….总感觉不塌实,你要是能这么考过去,那真是很单纯的SCJP,呵呵,所以,怎么说,还是要做些模拟题的。一方面,你可以看看自己知识掌握的情况,另一方面,可以看看SUN出题的时候是多么的阴险:-)
先来这三套:
http://automation.seu.edu.cn/auto/content/Mock%20exam%201.pdf
http://automation.seu.edu.cn/auto/content/Mock%20exam%202.pdf
http://automation.seu.edu.cn/auto/content/Mock%20exam%203.pdf
这三套题目就是Complete Java2 Certificate的作者弄的,公认是最接近SCJP真实难度和范围的模拟题目,建议做一套以后,对着答案把自己没掌握清楚的难点记下来,然后复习,弄清楚,再作第二套…如此往复,应该可以把知识都弄清楚,弄扎实。如果你做这些题目都能对80%,就基本上没问题了。
网上各种模拟题目很多,可以看看,比如:JCert4.0
http://automation.seu.edu.cn/auto/content/JCertify40.exe
这个测试题难度不大,但是界面与SCJP实际考试差不多。可以做做。
4.什么叫基础
SCJP是考基础的,但是基础不等于就是简单,比如下面这个例子:
String a = “JAVA”;
String b = “JAVA”;
String c = new String(”JAVA”);
String d = “JA”;
String e = “VA”;
String f = “JA”+”VA”;
String g = d+e;
String h = c;
你觉得如果判断 a==b, a==c, a==f, a==g, c==f, c==g, c==h 哪些是true, 哪些是false呢?你需要充分地了解Java String Object的原理才能回答这个问题。
还有这个:
int a=0;
int b[]=new int[5];
int c=3;
b[a]=a=c;
最终a=?, b[0]还是b[3]被赋值呢?
另外,线程,程序流控制,访问权限控制,Inner Class 等等部分,都可以出很多这种题目。当然,如果你真在SCJP考试里遇到的全是这个水平的考题,我觉得你可以投诉了:-)。但是你还是要力求把各种基本概念都完全弄清楚的。
5.关于真题
这好象是一个敏感的问题,完全靠背真题考试,是我比较反感的。而且SCJP的考试题库也是在不断变化的,因此全指望背题是不可靠的。现在网上比较流行的SCJP真题是著名的147真题。我就不提供下载地址了。不过需要注意的是,网上流行的真题的答案里经常有错误,需要自己把握。
看真题的一个比较可取的方法仍然是理解和吃透,多动手做实验,多想想这些题目可能的变化,这样可以有助于你进一步扎实的掌握Java的基本概念。毕竟147的题目还是有水平的。
6 考试!
如果上面的准备工作都做好了,你应该可以轻易的拿下SCJP考试,这个考试是2个小时,59道题,有选择,有可能有填空(很简单的,填写运行结果的) 对61%就PASS,对于充分准备的你,这简直太简单了。简单说一下考试报名的过程:
正式的过程应该是你首先联络SUN的培训中心(北京,上海,广州),询问如何报名参加SCJP考试,他们会告诉你一个银行帐号,你把1250元转入,然后把个

人信息和转帐证明传真过去,对方确认后给你寄考试票,然后去http://www.prometric.com.cn/ 查一下你所在地方的考试中心,联系考试。
这个过程很麻烦,特别是银行转帐什么的。对于北京,上海等大城市的大考试中心,一般都可以拿现金直接去买票,约时间,考试,不用经过SUN。要简单多了。在北京我给SUN打电话,对方就直接告诉我去哪里买票考试了,估计他们自己也觉得麻烦:-)

.

SCJP认证全称为SUN 认证Java程序员,是Java认证系列中最基础的一门认证。要通过Java的其他认证,必须先通过SCJP认证(SCEA认证除外)。即使SUN被Oracle收购了,Java技术本身是不会因为收购而受到影响,Java技术仍然是大型企业应用的首选技术。

虽然不能说,如果拥有了Java的相关认证,就能有多高多高薪水,不过很多公司企业对于拥有证书的应聘者或者员工,都会给予更多的机会和认可。很多大型企业的员工内部Java技术培训,都会要求员工最终通过相应的Java认证。

SCJP认证考试偏向Java5语言基础,共72道选择题和简答题,考试时间为175分钟,答对59%以上即通过。下面对如何通过SCJP考试说说个人的几点建议:

1、 一定需要特意为考试而准备。

很多人都认为,已经用了很多年Java,SCJP又是基础考试,直接去考就是了,这是“大错特错”的。虽说SCJP考试考的是基础知识,但是很多题目考察的知识点都特别细致,不是编程中常用的知识点。

2、 要集中时间准备。

要考证书,一定要集中时间准备。不能三天打鱼两天晒网,这样往往知识不成体系,容易忘记,很多人准备了一年,还是不敢去考试。72道考题所涉及的考点非常多,如基本语法,操作符,核心API,异常处理等。一定要在考前在相对集中的时间内,突击准备,让知识成体系。

3、 要知道考点

准备考试时,一定要针对考点进行复习。考点如下:

Declarations, Initialization and Scoping.:声明、初始化、作用域

Flow Control:流程控制

API Contents:API内容

Concurrency:同步

OO Concepts:面向对象概念

Collections/Generics:集合、泛型

Fundamentals:语言基础

4、 选择适合自己的备考方式

准备考试,往往无非两种方式:自学和参加培训。

如果有一定基础,时间也较充裕,建议自学。自学的话,推荐一本书:《SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055)》,是由Kathy Sierra和Bert Bates编写的。自学的优点是时间灵活,成本较低。另外,可以多到各大论坛搜索一些题库,模拟题,多做多练。需要注意的是,下载到的题库有时候版本较老,答案不一定正确,所以不要过分依赖,切忌不要背题目而考试。

如果基础较薄弱,想在短时间内冲刺考试,可以选择参加培训的方式。目前的培训课程往往在5天左右,价格不等。参加培训,往往通过率比较高,所用时间也短,缺点就是要支付一定的培训费用。

最后,看两道真实题目。

本题的答案是A,因为TreeSet能够排序,Integer类是按照整数值排序的,所以能保证输出结果。

本题的答案是B,因为在try块中声明的float变量f,只能在try块中使用,所以15行会有编译错误。

如果有朋友感兴趣,我会继续分析一些题目。

绿程网坚持自由、开放、共享的原则

围绕web开发生物分析提供免费在线编程教程生物教程等资源。