File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Exam advice Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Exam advice" Watch "Exam advice" New topic

Exam advice

Mike Gershman
Ranch Hand

Joined: Mar 13, 2004
Posts: 1272
I just completed SCJP 1.4 with 93%. Here is a bit of advice and my study sheet.

1. K&B corresponds closely to the exam, but if you need some structure to remember the details, Mughal helps (but it goes beyond SCJP scope).

2. There is enough time to finish and check, but not that much. The last set of preliminary screens come out of your time so be careful, I started the first question with 2 minutes gone. I don't remember whichs screens they were but maybe someone else can post this.

3. The "fails to compile" questions are more numerous and more clever than on any mock exam, but the Sun $75 mock set comes close. It's easy to suspect a syntax error on an easy question. You can get fooled by nice hard questions with subtle errors. I suspect my missed questions were in this category.

4. The thread questions go way beyond the API rules. Write or study some code until you really understand threads.

5. Unlike school tests, the first random question can be a difficult time burner. Don't panic - they're not all that hard.

6. I used the mock exams listed in JavaRanch Q&A and the Sun $75 mocks.

7. Asking questions in JavaRanch helps. Answering questions in JavaRanch helps much more.

8. Here is my study sheet. It is in no particular order and may have errors. I added a note every time I had trouble with a question. Build your own or use this or both.

Implicit narrowing cast includes finals and expressions on rhs but not longs
Identifiers include currency and _ but not #
Static methods including main can�t access instance members
Check for random capitalization
Check for uninitialized local variables
Strings can include � as well as \�
/d /dd /ddd are octal
arrays have length, Strings have length()
arrays implement Cloneable
final variables can�t be volatile
constructors can�t be synchronized
class names can�t be in their package names
abstract methods can�t be private
local variables can only be final, not anything else
throws in superclass constructor requires throws in subclass constructor
watch for NOT in questions
methods calls via superclass ref requires that signature in superclass
wait() must be within synchronized code
AssertionError has lots of constructors
Can�t add primitives to collections
API names are not keywords
Float prints as xx.x
New always makes a new object
NaN == NaN
Math.round(x) = + .5 then floor() and then cast the result to int or long ...depending on the datatype of x [corrected]
main() can�t access instance members
check for static variables
learn escape codes
hashcodes can vary between runs
x.compareTo(y) x<y = -1 x>y = +1
unlabelled break applies to innermost enclosing switch, while, do, or for statement of
the immediately enclosing method or initializer block
continue applies to while, do, or for statement
watch for using for index past scope of for
read ALL the answers
throw statement can cause an unreachable statement
class methods overriding interface methods must say �public�
even nested interfaces only have public fields, methods, classes, and interfaces
code in catch block can�t see try-local variables
source code file name must match public or other class name
super(�) cannot refer to this instance variables or methods
byte x; m(x=5); same as byte x = 5; m(x);
local variable can hide member field
check for missing ; in anonymous classes
local classes can access nonfinal fields
String methods require = StringBuffer methods do not require =
Arrays use length Strings use length()
Math.round(NaN) = 0
Math.abs(Integer.MIN_VALUE) = Integer.MIN_VALUE

[ February 12, 2005: Message edited by: Mike Gershman ]

Mike Gershman
SCJP 1.4, SCWCD in process
Jay Pawar
Ranch Hand

Joined: Aug 27, 2004
Posts: 411
Congratulations Mike.. . nice score....

I thought you were already SCJP 1.4 because the way you explained the answers in the forum so nicely..

One more thing I would like to modify in your study sheet
Math.round = + .5 then floor()

Math.round = + .5 then floor() and then cast the result to int or long depending on the datatype of the left hand side variable

So what's next ?
[ February 12, 2005: Message edited by: Jay Pawar ]

Cheers,<br />Jay<br /> <br />(SCJP 1.4)<br />Heights of great men were not achieved in one day, they were toiling day and night while their companions slept.
Mike Gershman
Ranch Hand

Joined: Mar 13, 2004
Posts: 1272
So what's next ?

I figure SCWCD is the next logical certification.

As for employment, I'm still hoping to find a college teaching job somewhere in the US - can't let my fresh MS-CS diploma go to waste.

Failing that, I'm starting to see a few US entry-level Java posts, but no responses as yet. I think they don't believe me when I tell them I'm perfectly happy with a newbie's salary despite my time in the field.

Meanwhile, it's "head first" into Servlets & JSP for me.

Thanks for the correction, I'll put it in now. I think the int or long return type depends solely on the type of the argument of Math.round - float or double.

Anyone else with corrections, please speak up.
[ February 12, 2005: Message edited by: Mike Gershman ]
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
Mike, I would recommend that you fork out to take the SCJP 1.5 Beta since it has been extended until March 6th. It's a real eye opener...
Thanks for your interest in, and many excellent contributions to, the SCJP forum.

Ask a Meaningful Question and HowToAskQuestionsOnJavaRanch
Getting someone to think and try something out is much more useful than just telling them the answer.
Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982
I agree with Barry, SCJP Tiger beta will be a good experience.


SCJP 1.2, OCP 9i DBA, SCWCD 1.3, SCJP 1.4 (SAI), SCJD 1.4, SCWCD 1.4 (Beta), ICED (IBM 287, IBM 484, IBM 486), SCMAD 1.0 (Beta), SCBCD 1.3, ICSD (IBM 288), ICDBA (IBM 700, IBM 701), SCDJWS, ICSD (IBM 348), OCP 10g DBA (Beta), SCJP 5.0 (Beta), SCJA 1.0 (Beta), MCP(70-270), SCBCD 5.0 (Beta), SCJP 6.0, SCEA for JEE5 (in progress)
I agree. Here's the link:
subject: Exam advice
It's not a secret anymore!