Sorry to hear you failed the OCAJP7 exam twice. In order to help you and give you valuable suggestions, can you please provide some details about how you prepared yourself. Which books, resources, online mock exams,... did you use? Do you already have some java experience or were you a true novice? ...

just gone through some mock tests in Whizlabs & Kaplan Test material and also gone through some e-books oca_java_se_7_programmer_i_study_guide_exam_1z0-803 & OCA Java SE 7 Programmer I Certification Guide- Male Gupta.

Yes, am a new bee to the Java, I do not have prior working experience in Java. But its been 2-3 months that I am completely into the Java world.

But am not getting how to crack it...

One thing I learnt from two exams is "lack of practice", I really have to practice ( by writing code snippets in Eclipse ) and check the compilation errors, because i am getting confused with the answers providing in the options and spending lot of time in choosing the right one between "Compilation Error" and "mis-guiding answer".

Please suggest me, what materials should I follow and kind of practice do I need to do before going to the exam and also please give some exam tips so that I can understand the chain of classes quickly.

Hi Venkat
While preparing for OCA JP 7, I used the following materials:
1. Whizlab practice exams for OCA
2. Mala Gupta's Programmer I Cert Guide

The above are, in my opinion, sufficient. However, if you are just starting off with Java and want to learn the concepts first, then you can look into the following:
1. Balagurusamy's Programming with Java, A Primer
2. Thinking in Java

You didn't mention enthuware. They are good tests, and there is good interactive discussion about each question on the enthuware site. It might be the most popular mock test, not sure. At $10 it's the best bargain in the universe. It's also very frequently updated.

Regarding your next step...I too have failed it twice. The first time, I had some Java experience but had no idea the level of the test. The second time I missed passing by 3 points. The second test I took was very different from the first test and it felt like a curve ball. Personally I think I am going to study ocajp8 features and take the beta test for it sometime in November. The reason being it's only 50 bucks and I'm getting skittish about the cost of this stuff.

Practice. Write code and practice answering questions. Even looking at the same questions many times helps.The score isn't reflective, but it trains you to look for types of issues. I like to suggest writing down why you got each one wrong to help reflect on what details you are missing.

Yeah, my score got increased from 1st attempt to 2nd attempt, I'll concentrate on practice this time along with some mock test.But sure I'll take at least 30 days time reattempt.

I think it would be better if Oracle give some discount to the people who attempts second time at least for the people who wants to do it in within 10-20 days. This way they can encourage the people to crack it. I personally believe there should be some benefits to encourage the people to reattempt it.

Sorry If I misunderstood the motive of the examination, please correct me if am wrong

Thanks,
Venkat

Paul Anilprem

Enthuware Software Support
Ranch Hand

Posts: 3819

10

posted 2 years ago

Hi Venkat,
Sorry to hear about second failure. Could you please tell how much gap did you have between the attempts? and what changes did you make to your preparation while studying for the second attempt?

venkataramana chintakindi wrote:I really have to practice ( by writing code snippets in Eclipse ) and check the compilation errors

You should consider doing your practice without Eclipse. Eclipse is great for developing production code quickly. It catches all sorts of little mistakes for you. However, for the test you will need to spot those little mistakes yourself, and quickly. Mistakes like if (x = 3). Eclipse spots that right away. If you haven't been training your mind to do the same, you probably won't. That's even more true when stressed during an exam under time pressure.

Try writing code using a simple plain text editor, then compile and run on the command line/Terminal/DOS Prompt. If your experience is like mine, you will quickly get frustrated with having to go back and fix missing semi-colons and such. That's proof that you are not reading the code as well as you thought (otherwise, you would have spotted the issues before compile time). Plus, knowing how to use the command line tools is part of the test. As is knowing how package structure translates into folder structure. Using a text editor with the command line tools will help you with those points. More senior folks than I have echoed similar thoughts on IDEs in this thread.

My 2¢ on rewrites → I don't think there should be a discount for repeat exam writers. Oracle's goal should be to make sure those with any exam designation know the material. Offering a discount just encourages people to keep writing over and over until they luck out and pass. If anything, each rewrite should be more expensive to help incentivize people to really learn the material before writing. When I worked in finance, I'm pretty sure I knew people who intentionally flubbed exams just to see the questions and the structure. Courses cost $1,000+, but exam rewrites were only $100.

first off all - do not give up. As you say result in second attempt was better.

Yeah, my score got increased from 1st attempt to 2nd attemp

i haven't to exam jet, so my advice is theoretical.
i also not experienced in java. I think you mast mark topic where you is bad.
reread guide on this topic.
make paper notebook and write where you wrong in mock testing. - this is second guide to review.
Next from my experience read Java official tutorial it not good, but if you miss some you can see it in another source.
Next read jls 7 you can download here, when i read i try something as i think was by topic exam, also i write to my paper notebook what will be not compile.
Next reread Mala Gupta guide all topic.
Next do Enthuware test it is good.
Some topic about use this test:
One test. Se all right and wrong answer - (some rigth answer may be accident) mark theme where you fall and write it to paper notebook. After this test. reread fallen topic from guide, reread paper notebook. Then next test...
also you may write some programms that may help you remember some theme:
like this
(programm to test ++ and -- ( not god, but work. When run make to you testing question, (it may create 1/0 - exception), i copy result of this count in paper and then try answer in online compiler) you can also make same for String, StringBuilder method, ArrayList ...
Next read another guide like k&b - near date of next release for java 7 this help find another side of explain same topic. (and when you pass Programmer 1 will be you study book for Programmer 2)
Don`t fast when you fill like 90% result go to exam.
I think next time you will make good result.

Sergej Smoljanov

Ranch Hand

Posts: 467

10

posted 2 years ago

also i want inquire did you answer all topic (enough time was?)
(and about time preparation i prepare 7 month and plan before exam prepare 2 month more, not hurry - you will get good fundament, and will get certificate )
also write to your paper book what you must check (like

)
some point than you can to overlook. and if you will have check all answers (include that you mark) you can go all answers and check for overlooked mistakes.

venkataramana chintakindi

Greenhorn

Posts: 4

posted 2 years ago

Thank you very very much for the motivation. Yes I have answered all questions but confused on below few questions which consumed lot of time.

1. calling class A main method from the user-defined methods inside the class B ( I never know that we can call main method also :P)
2. lack of command on using FOR EACH loop properly
3. grip on polymorphism ( what I know was very less..need to practice more)
4. having multiple for loops ( again some inner loops ) in options took lot my time to traverse through.

venkataramana chintakindi wrote:Thank you very very much for the motivation. Yes I have answered all questions but confused on below few questions which consumed lot of time.

1. calling class A main method from the user-defined methods inside the class B ( I never know that we can call main method also :P)
2. lack of command on using FOR EACH loop properly
3. grip on polymorphism ( what I know was very less..need to practice more)
4. having multiple for loops ( again some inner loops ) in options took lot my time to traverse through.

1. class B extends A {}
B automatically has all the methods of its parent A. plus its own methods if any. Also, think of B extends A as reading B is an A because you will encounter the latter. A a = new B() is fine. B b = new A() is not. Sometimes you will see a cast like b = (B) xyz. This particular cast doesn't turn the xyz into a B but is rather a promise to the compiler that xyz will be a B at runtime, so that it will compile. If xyz isn't a B when that line is hit, it's a runtime error.

2. The for loop has three parts like this for(assignment ; test ; increment) {}. That is the basic purpose of each of the three fields. Not all of them need to be there. Some of them can have more things stuffed in between the semi-colons, separated by commas. You can include function calls and assignments at certain places. One assignment trick is for(int a = 1, int b = 2 ;;) is bad syntax. for (int a = 1, b = 2 ;;) will compile. This is where Eclipse can benefit - letting you check what you can put in and leave out quickly without compiling each one.

3. This is where B has a method with the same name and signature as one in A. An override it's called. The B method is the one that will get called, not the A method. in A a = new B() ; a.overide() the method from B will be called not its own method by the same name with the same parameter list in A. Return types in overrides must be the same except that the B method can return a subtype of the type that the one in A returns. Learn that "a" is called the reference and "B" is called the object. The methods from B will be used, but the variables from A will be used. Complicated as hell!!! Polymorphism is methods only, not variables. Learn the difference between overriding and shadowing. Thoroughly. What exceptions can be thrown or must be thrown are complicated as well. Spend lots of time on both these things. There are almost as many tricky questions and exceptions to the rules as there are examples that follow the "rules". Also study interfaces and expect them as reference types as well as things to be "implemented". Interfaces extend interfaces but are implemented by everything else. Lots to remember.

4. This is mainly what kills me. It takes so much time I'm liable to run out of time. On the test, consider saving these things for last - come back when the other questions are finished. They're worth the same points as easier questions but take much longer and you don't want them costing you easy points. Scan the problem for anything that will give an error. That will be the answer then, and you won't have to go through the whole thing. Also, if the answer is a number and you see an outer loop that always executes N times, then the answer will be a number that divides evenly by N.