• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Passed SCJP 1.4 with 88%

 
Liang Anmian
Ranch Hand
Posts: 119
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have passed my programmer exam today with 88%, and I must say that I'm very happy with the result.

I will like to thank all of you who have helped me clear my doubts about the study materials.

Comments about the paper I received:

I will be the first to admit that the paper was significantly harder than I expected. Without a shadow of doubt, it's harder than the MasterExams. The questions on threads are very tricky, and some are pretty difficult. I find that the easiest questions are from the garbage collection topic and the collections framework topic. This is my section analysis:

Declarations and Access Control - 87%
Flow Control, Assertions and Exception Handling - 88%
Garbage Collection - 100%
Language Fundamentals - 100%
Operators and Assignments - 87%
Overloading, Overriding, Runtime Type and Object Orientation - 100%
Threads - 62%
Fundamental Classes in the java.lang package - 83%
The Collections Framework - 100%

How I Prepared for the Exam:

I bought the Kathy and Bert book. I will recommend this book to anyone, any day, any time. I find that this book is pretty detailed, and does not cover extra details necessary for the paper. Make sure you attempt the quiz behind every chapter. There's a MasterExam on the CD. Try it. And make sure you remember to download the second MasterExam (it's free, by the way). There are plenty of mock exams mentioned in this forum.
 
amit taneja
Ranch Hand
Posts: 813
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
congrats...

can you please tell me what else u have done for preprations...
I mean... have u studied only K&B and does its two master exam ? thats it ?

or other mock exams too ??


thanx and regards,
amit
 
Liang Anmian
Ranch Hand
Posts: 119
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dan Chisholm's mock exams are also cool. There are quite a number of mock exams on his website, which mainly focuses on individual topics. I tried them out after the 2 MasterExams.

The most important thing is, do not memorize the book blindly. Instead, make sure you fully understand the reasons behind certain theories. If you actually understand instead of blind memorizing, you will find that you will have an easier time while doing the mock exam, as well as the real exam.

While I'm not allowed to disclose the questions here due to the clause that I agreed before taking the exam, I can tell you what to look out for.

1) Do not blindly follow the flow of the code given to you. If you notice that one of the options says "Compilation fails", then please check the syntax first before you even think about tracing the output. There are a number of questions where it is fairly obvious that the code will not compile. If you notice anything that violates Java syntax rules, then don't waste your time looking further. Just select the "Compilation fails" option and move on.

2) Make sure you fully understand the rules of overriding and overloading. If not, you will have a very hard time figuring out the correct answer(s) to the questions.

3) For the access control part, make sure you know fully which modifiers cannot coexist together. For example, "abstract" cannot coexist with "synchronized" and so on. If you find any illegal combinations, then like I said, don't waste your time looking further, since you jolly well know the answer by now!

4) For threads, make sure you know which methods are static, which methods must have a corresponding try catch block surrounding it, and remember that Object.wait(), Object.notify() and Object.notifyAll() must be called within a synchronized context. REMEMBER, even if any of the 3 methods are not called within a synchronized context, it does not mean that the code fails compilation. The code will compile, but you will get a runtime exception.

5) For inner classes, REMEMBER, they cannot contain any static declarations, be it class variables or class methods. But, they are legal for nested classes (inner classes marked with the static modifier).

6) When you call any String method, be very careful of things like:

someString.concat(.....) or any other methods in the String class

Notice that no assignment takes place, and so the original String object is UNCHANGED. But for StringBuffer, no assignment needs to take place. Method calls will change the data on the spot. For example:

someStringBuffer.append(.....) or any other methods in the StringBuffer class

7) Make sure you know the inheritance hierarchy for the exceptions classes. Remember that Error DOES NOT extend from Exception, but extends from Throwable. So if you find a catch clause that catches an exception, it DOES NOT catch errors! For example:

try {
} catch (Exception e) {
// THIS DOES NOT CATCH ERRORS!
}

8) Know your bit shiftings. They are giveaways.

9) Know the Math class inside out. What I meant was the method signatures for all the methods that you need to know for the exam.

10) Remember that && and || are short-circuit operators. In other words, the right-hand side expression may not execute. However, for & and |, both sides will execute regardless of the result of the left-hand side. Watch out for these operators and look carefully!

11) Make sure you know the difference between variable++ and ++variable, as well as their -- conterparts. If not, you will get quite a number of questions wrong on the spot!

12) If you are given a garbage collection question, and asked to count the number of objects eligible for garbage collection after a certain line of code runs, don't hesitate to use the pen and paper given to you. They will make your life very easy indeed! This also applies to questions with loops!

13) Lastly, for the Collections Framework, study the interfaces, classes and their usages thoroughly. If you know them inside out, this section is basically also a dead giveaway!

Ok that is all I have to offer. If you need help, don't hesitate to contact me.
 
Nishant bhatt
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks a lot,
You are the first who has given such a nice detail about how to prepare for the exam.
Once again Thankful to u

Nishant
 
Liang Anmian
Ranch Hand
Posts: 119
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oh no problem at all. While I've already obtained the certification, I will still stay around to help out if I have the knowledge and ability.

Oh yes, I just remembered another point, so I will continue from my previous post.

14) Watch out for main() methods. Sometimes they intentionally give the wrong method signature that the JVM looks for and tricks you into wasting your time tracing the output. For example:

public void main(String[] args)
public static void main(String args)
 
ankur rathi
Ranch Hand
Posts: 3830
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congrats Liang

Really heartly thanks to you ...

Very good explanation ... Really . I think you returned more than you got from Java Ranch ...

All the best for your future .
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic