• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Exam advice

 
Mike Gershman
Ranch Hand
Posts: 1272
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 ]
 
Jay Pawar
Ranch Hand
Posts: 411
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 ]
 
Mike Gershman
Ranch Hand
Posts: 1272
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 7729
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Nicholas Cheung
Ranch Hand
Posts: 4982
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I agree with Barry, SCJP Tiger beta will be a good experience.

Nick
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic