Greetings fellow JavaRanchers:
Yes, I have joined the ranks of the Sun Certified Java Programmers and am very happy. I shouted in the testing center when I got the results and danced all through the parking lot.
Okay, here is what everyone taking the test wants to know:
I do not have an IT background but wanted to change carrers so I attended a technical school for 10 months. We studied Java for a month and it just made sense to me so I decided that I would pursue that.
The books I used to prepare was Bill Brogden's Exam Cram 2 (thanx bill for a great job! i got my money's worth) & Java How To Program 3rd Edition by Harvey Deitel. I studied for about two months, approximately 5-6 hours a day after work.
The one thing you can't prepare for is the actual test experiencs. Taking the mock exams is less stressful because you know it doesn't count but when you are doing it for real and the money you paid is on the line it can be unsettling. So, first of all, I would say STAY CALM and don't second guess yourself.
Here we go with the format of the exam without giving away any actual questions:
- I got hit with 5-6 questions about java I/O off the top. You need to know what the legal constructors are for File Input Stream, Random Access File, etc. Also, you need to be aware that Input Stream and Output Stream are abstract class and what the implications are because of that.
- Be aware that a String object is always initialized to null. There were about 5 questions that were testing you on this. I was suprised that it came up so much.
- Be aware (don't assume) what the substring(0,3) method of the String class does. Don't assume, check the API.
- Know what the rules are for using the String.equals() method.
- Know pre-increment and post-increment inside and out. For example, x++, ++x, x--, --x.
- Know GridBag and Grid Layouts and what will happen to components when the window is resized.
- Did I mention, KNOW JAVA IO!!! thoroughly.
- Garbage Collection: You cannot force garbage collection. Get that straight before you take the exam. You can "suggest" the JVM do gc but you cannot force it. Also, know the implications to passing a variable to an Array then setting the variable to null. Is it eligible for gc?
- Speaking of arrays, know how to create 2-dimensional arrays and what happens if you try to to asssign a reference to a one-dimensional array to a 2-dimensional array.
- Know under what conditions you can assign a subclass reference to a superclass object and when you have to explicitly cast.
- You should have overriding/overloading rules down 100%. I ran into about 5-6 questions on that.
- Collections: know which allow for duplicate values and which do not. Know which ones will allow you to sort objects. Sutdy ArrayList, Vector, Map.
- Constructors. You need to know that if you define constructors that take arguments, the compliler will not create a default constructor. Also, know that a constructor for a subclass will call the default constructor for the superclass and what will happen if you did not create a default constructor for the superclass.
- Exceptions: Know when you have use try/catch and that the finally block is ALWAYS executed.
- Threads: these questions will kill you if you are weak on threads. I would urge you to practice live code using threads that attempt to modify private member variables. Know what the valid constructors are for a thread. Keep in mind, you can use this as an argument to Thread constructor. I had about 5 questions on this and these were the ones with the longest code lines.
- There were also some simple questions on language fundamentals. Yes, you need to know how to shift bits: >>, >>>, <<.
- There was one trick question I remember. Know that when you instantiate a superclass object and assign it a reference to a subclass, the compiler knows what type of object it really is. If you call a method, you are calling the method of what type of object is really is, not what you instantiated. I can not say anymore without giving away the question.
- Know what the valid access modifiers are for inner classes and how can they be created.
I took about 10 mock exams I must give Marcus Green the credit. His Mock exam #1 and #2 were the closest to the real thing except that some of his questions are much harder than what Sun gave me.
Thank you to everyone posting their questions. At least three of the questions on the exam had to do with questions people posted within the last week. I can not say which ones exactly without giving away the question. It is crucial that you post a question, no matter how silly you think it is because you might give someone a better perspective on something.
I will still visit this forum to help with questions where I can.
Thank you all