Note: I know that it is not legal to share actual exam questions. Therefore all examples have been changed in the following post and similar codes have been used.
First of all I want to say that I am an economist and I had had two years experiences of working with
java when I started preparing for the certification exam. Everything began after buying
“OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808” by Jeanne Boyarsky & Scott Selikoff (later it will be mentioned as
SYBEX). My English level was not good enough and first days I managed to read only 1 page per hour by using dictionary. I spent 7-8 hours to study and was able to finish reading only ~8-10 pages in a day. I wrote all code examples written in the book again in IDE/notepad in order to learn topics well.
Firstly, I read
“Introduction”, then
“Appendix B”. Then I took
“Assessment Test” before starting
Chapter 1. I could answer 3-4 questions hardly, and didn’t know others. Everything was difficult for me when I was a newbie. I was afraid that I would not be able to pass the exam. Sometimes I gave up, wanted to stop studying and thought that I did not have a potential to pass the exam. However, it was my goal to get the certificate and I had promised myself that I would do it. Despite the fact that my fears, uncertainty continued for a month, gradually I started to believe in myself.
After reading all chapters once my results of review questions were as follows (
without time limit):
Chapter 1 – 74% Chapter 2 – 55% Chapter 3 – 66.7% Chapter 4 – 62.1% Chapter 5 – 60% Chapter 6 – 60%
I spent a lot of time on answering questions. I couldn’t get used to code format of questions. At the exam I would have ~2 minutes for each question and because of that I had to learn how to manage my time effectively. After reading
the recommendation shown in the link I started using
Notepad instead of
IDE (applied it from chapter 4). I found this technique very helpful. First days it was very hard to me but then I enjoyed it. Finally, I could keep in mind that
length belongs to array and
length() to
String. It was very helpful for me to use
notepad and
javac/java.
The book recommends you to read the chapter again if your score of review questions is less than 80%. All my results were less than 80% so I had to read the whole book again. But I decided to do some more tests before revision to find out which parts confused me most so that I could know which topics I had to focus on.
“OCA Java SE 7 Programmer I Certification Guide”, Mala Gupta, Sample exam questions:
Chapter 1 – 63.6% Chapter 2 – 70%Chapter 3 – 50% Chapter 4 – 45.5%Chapter 5 – 60%Chapter 6 – 70%Chapter 7 – 70%Full Mock Exam – 82.2%
“OCA/OCP Java SE 7 Programmer I & II Study Guide”, Kathy Sierra and Bert Bates, Self Test:
Chapter 1 – 88.9% Chapter 2 – 75% Chapter 3 – 84.6% Chapter 4 – 87.5% Chapter 5 – 75%Chapter 6 – 80%
After finishing the tests shown above, I started revising SYBEX book and decided to take notes. At first I wrote my notes in a copybook but then I changed my mind and took my notes in a
word document (in my native language). I finished revision and my results after second attempt were as follows (approximately after three months and with time limit (
using online material):
In my summer holiday I hadn't taken my laptop with me, so I downloaded some
java quizes from google play market to my mobile phone and started doing their tests. The questions of the quizes were simple, but they helped me to increase my speed in answering questions. I used
AIDE app as compiler and jre to test confused questions. It helped me a lot too.
Then I took
SYBEX practise exams:
Practise Exam 1 – 80%, 97 minutesPractise Exam 2 – 82%, 83 minutesPractise Exam 3 – 83%, 95 minutes
Later
“OCA/OCP Java SE 7 Programmer I & II Study Guide”, Kathy Sierra and Bert Bates,
Practise Exams (
it was difficult enough):
OCA Test 1 – 80%, 116 minutesOCA Test 2 – 75%, 110 minutes
Until here the most difficult questions for me have been shown below:
1) “Which of the following statements are true?” – type questions because of my english level. Sometimes you may make mistake with a very easy question if you don’t know the correct translation of even one word.
2) “Choose all that apply” – type questions. Because sometimes the number of answers I chose was either less or more than the number of correct answers.
I had already decided to buy Enthuware questions bank in the middle of my exam preparation because most of the exam takers praised Enthuware in their experiences. Firstly, I installed
trial version of Enthuware and took Sample Test. I liked questions a lot and bought full version.
Then I took Standard Tests.
My results of Enthuware Standard Tests:
I read the explanations of all questions regardless I had answered them correctly or incorrectly and sometimes I learned new things from explanations which I didn’t know so far. When I couldn’t understand the explanation of some questions, I clicked “discuss” button and looked at forum discussion. Sometimes I couldn’t understand discussion because of my english, in these cases I read the posts over again and again.
I registered for actual exam after finishing
Standard Tests (except for Last Day Test). A week before the exam I started going through my notes. My notes were about 150 pages and I took
Enthuware Objective–wise Tests after finishing each chapter. I finished all preparations 2 days prior to the exam. I took the last Standard Test on Saturday:
Last Day Test – 90%
I had a rest on Sunday and went to the exam on Monday.
At the beginning I couldn’t overcome my exam anxiety and as the first questions were difficult they made me more nervous. However, an hour later I was able to concentrate on the exam. Most of the exam takers say that the actual exam is easier than mock exams but I didn’t feel it. The most of actual exam questions looked like simple, but in fact they were tricky. Therefore I checked each question at least twice and it took too much time. At the end of mock exams I usually had enough time left to go through questions again and I thought the actual exam would be easier. However, when I finished answering questions after first attempt (except for 4-5 questions as I got right answers at second or third attempt), I had 25 min left. I was able to finish the test 30 seconds before the end of the exam. Either my pen or paper were not comfortable. The paper was slippery and the pen didn’t write on it at the first attempt and these things also disrupted my concentration.
You will not get your result just after exam. 15-20 minutes after exam I got email regarding my result:
Actual Exam – 94%
Although my goal was to get score above 95%, I am still satisfied with this result because my exam anxiety could have led to much poorer exam performance. Thanks God! Finally, I achieved my goal after a long hard work.
After 1.5 day I received email regarding
eCertificate. There was a link of
“online request form” to request for the printed copy. I sent request and after about 4 weeks
printed copy of my certificate arrived.
Thanks and thoughts.
1. “OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808” by Jeanne Boyarsky&Scott Selikoff
My english was not good enough therefore the first important thing for me was the writting style of book. Before buying the book I read some parts of it from “Look inside” in Amazon. I found its writing style simple and straighforward, so decided to buy it. In a short time I got used to the book. The book is very compact, and the reader is not overwhelmed by additional information. Everything is explained in a short and clear way.
The book informs you about the topics that are out of scope for the OCA exam, so that you don't need to read them. In this way you can save your time. The best thing about the book was that its predictions about out of scope questions for the exam were true. Indeed, I didn't come across with those questions in actual exam.
The most confusing topic of the book for me was the Garbage Collection. At first it was hard to answer such questions. I encountered some tough questions regarding GC in coderanch and I couldn't answer them. Therefore I needed to read extra information about GC from other sources. Then I learned the easy way to find right answers to such questions: using pen and paper. But there was only one question regarding GC in actual exam and it was absolutely enough to read only SYBEX.
The book covers 100% of exam objectives. I encountered only one thing (
append() method with three parameters) in actual exam which doesn't exist in the book.
If you look at
Errata page you can see my name as the most reported person. But despite this, my opinions are very positive about this book. Most of these typos are minor and will not cause you problems in answering questions correctly in actual exam. I remember only two important errors that I encountered in Practise Exams and fortunately, they can be fixed (if they are fixed the next readers will not encounter these problems). But it is pity that these errors are still exist and haven’t been fixed yet, although they were reported several months ago. But in general this book is very good and I loved it very much
I was able to answer only 3-4 questions in Assessment Test before reading this book, but after reading the book I increased my knowledge a lot. If online material quality is improved a bit (it is impossible to return previous questions in Practise Exam, it is impossible to look at your result after next login, there is no time limit information etc.) this study guide would become much better learning tool for future exam takers.
Thanks a lot to Jeanne and Scott for this valuable book
2. Enthuware JA+ V8 for Oracle Certified Associate - Java SE8 Programmer I
In comparison with
other alternative programs I found Enthuware and its questions more interesting and qualitative. According to previous exam takers’ experiences Enthuware questions are very similar with those of actual exam. Now I agree with these opinions too, especially I want to note Last Day Test. I couldn't distinguish some actual exam questions from Last Day Test when I wrote my experiences. I couldn't remember whether I had encountered this question in actual exam or Last Day Test.
At first the program structure seemed primitive to me but as I started using it I found that almost all opportunities had been created for the convenience of users:
simple design which is similar to actual exam window;Availability of going to previous, next or any other question in one step;To bookmark question;there is information about remaining time (in a decreasing format) same as in actual exam. Furthermore, you can see additional time you spent when the given time is over. It would be better time information for each question is shown separately too;you can pause mock exam (Pause Test) and continue whenever you want (Continue Test);you can add note for each question;you can ask questions regarding any test in Enthuware forum. If you don't understand any test after reading explanation you can click "discuss" button and ask your question or read existing discussion. All questions are replied by admin in a short period of time;performance report – your results for each topic are shown in percentages (%) in all tests, thus you can determine your strengths and weaknesses;missed questions – all your incorrect answers are kept in this section. At the end you can look through these questions again to ensure that you understand them;Objective-wise questions – this section contains questions for each topic and after standart test it is recommended to revise the chapters that you do not understand well (they will be shown in performance report) and to do the relevant tests once again; "Most missed questions" section makes it possible to see the questions that are confused by most exam takers;You can take files in “ETSWF_com_enthuware_ets_oca-jp-i_v8” folder home or work and continue your test from where you have stopped.
Mostly I was worried about
“Which statements are true?” type questions in actual exam because of my english. But I had already learned almost 90% of such questions from Enthuware which I encountered in actual exam.
I tried to remember the Enthuware questions which are similar to the actual exam questions and I have written some of them below:
Foundation test:
22 (less similar)63 (very similar)78 (less similar)
Test 1:
19 (maybe) 33 (similar, than harder) 44 (similar)60 (similar)
Test 2:
26 (very similar)47 (similar)68 (very similar)
Test 3:
9 (very similar)
Test 4:
10 (less similar)41 (similar)44 (similar)
Test 5:
44 (less similar, but very tough)51 (similar)66 (similar)67 (similar)
Test 6:
12 (very similar)14 (very similar)19 (less similar, than harder)28 (less similar)56 (very similar)57 (very similar)
Last Day Test
13 (similar, than harder)14 (very similar)20 (similar, but main method overloading)24 (very similar)37 (very similar)42 (maybe)44 (less similar)49 (very similar)68 (similar)71 (similar)72 (similar)
I found Enthuware very helpful so I would like to thank Paul and Enthuware team for this excellent app
3. Coderanch forum
I discovered Coderanch forum thanks to Mrs Jeanne. She directed me to the forum when I sent her email regarding OCA book. When I got familiar with the forum I understood that using the forum was one of the best decisions I made during certification exam preparation. Indeed, it had great beneficial effect on my studies. Every day I visited forum to read new posts. I read explanation of questions which I hadn't known and took notes if necessary. Before finishing preparation this forum also helped me to have some idea about test center, exam registration process, as well as how to get printed copy of certificate. I bookmarked those questions to read again in case I needed.
I also posted my questions that I didn’t understand. If the explanations of questions written in study guides or in test banks were insufficent, first I looked for extra information about those questions in the forum. I guessed that someone might have asked the same question before me and indeed in most cases it was so. Most questions in the forum are explained step-by-step and in details, so it helps readers to understand that concept very well.
In Addition, I want to emphasize "Certification Results" forum. Exam takers’ experiences were very helpful for me. Thanks to all forum users for sharing questions, answers, sharing useful information, their experiences etc.
I am especially very thankfull for the time Roel De Nijs took to reply to 98% of my posts
My brief thoughts regarding actual exam questions:
• There were no questions about
instanceof operator,
“dangling” else,
enum, inner class;
• There was a question about
Period, but not
Duration and
ZonedDateTime;
• There was no question regarding Wrapper constructor, but there was question regarding
parseXXX() and
valueOf() methods
(I will write about it in detail);
• More questions were asked about arrays compared to other topics (
declaration,
initialization);
• There were many questions regarding
switch case statements, inner
for loops,
if conditions;
• There were a lot of questions regarding
this() and
super(), too. The important rule to find answers to these questions was:
this() and super() have to be only first statements of code block;
• There was only one question regarding
Lambda and I had seen such question neither in
SYBEX nor in
Enthuware during my exam preparation
(I will write about it in detail);
• There were 3 or 4 questions regarding
Time API and all questions were almost easy.
95-99% of these questions were covered in the topics of Dates and Times in SYBEX;
• There were about 3 questions regarding
pass-by-value;
• There was a question about overloading main method;
• There were many questions with right answer of
“compilation fail”;
• There were complicated questions about
casting;
• Most important methods of
String and
StringBuilder were also asked. All of these methods were described in
SYBEX book except for
append() method with three parameters. Fortunately, I had learned it from Enthuware tests. There were no questions regarding
intern(),
compareTo(),
ensureCapacity(),
insert() with four parameters (but
insert() with two parameters existed),
setLength() methods;
• I was familiar with all the questions asked about
Exception in actual exam. Although during my preparation I came across with some Exception subclasses in Enthuware that were not included in SYBEX book,
all Exception questions of actual exam were covered in SYBEX book.
The question types which I didn’t encounter in SYBEX or Enthuware:
• The inner for loops form which I saw until actual exam was: Two dimensional array was given, the lengths of the first and second element were used for outer and inner iteration, respectively, for example:
But in actual exam instead of two-dimensional array one-dimensional String array was given and String length was used for inner loop iteration, for example:
Edit: Code snippet was removed
It was similar but much harder than the example shown above;
• There was an array question in Grid form. Probably everbody knows
the game of Tic-tac-toe. You imagine grid (3x3) as two-dimensional array and you have to find in which index
you should draw
X to make
X winner;
• There were some questions about import but the answer options of one of them were weird. I had seen no similar questions in SYBEX and Enthuware.
(I will write about it in detail).
Four questions confused me
1) In two questions I couldn't decide between two answer options.
The first question was related to Wrapper. The question was like following example:
Edit: Code snippet was removed
Everything was clear about
parseXXX() methods because they returned primitive value. But I got confused with the
valueOf() method, because it returned Reference. I thought it might cause compilation fail if there was no
intValue() at the end:
Integer.valueOf(args[0]).intValue();
But then I changed my mind. I thought there was no need to call
intValue() because we can initialize
Integer.valueOf(args[0]) to primitive type due to unboxing. After exam I immediately checked it and found that I had answered it correctly.
The second question was regarding Lambda. Generally I had learned Lambda well, I usually answered most of lambda questions correctly in mock exams. And I learned some new facts regarding Lambda from Enthuware which I didn’t know before. The lambda question asked in the actual exam was a bit different and I had never seen such type of question before in
SYBEX and
Enthuware. ~15-20 minutes after exam you get feedback showing the respective topics of the questions that you answered incorrectly. In my feedback
three topics were shown and one of them was about lambda. Since in the actual exam I got only one question about lambda, I understood that was one of my mistakes. That question was similar to the following sample:
Edit: Code snippet was removed
When I saw
asList() and
removeIf() together the first thing that came to my mind was that this code throws
UnsupportedOperationException. Because we create
“fixed size list” with
Arrays.asList() we can’t change the size of this list. But before choosing that option I checked lambda syntax because I had learned from my studies that most of lambda questions were related to syntax.
removeIf() method takes parameter in type of
Predicate interface and:
• the parameter type was shown explicitly (
String) so it had to be parentheses and ok;
• there had to be arrow and ok;
• there had to be semicolon and braces because of return statement and it had to return boolean value and ok.
After making sure that everything was correct with syntax I chose
“throws UnsupportedOperationException” as answer. But I changed my mind when I looked through all questions again at the end. I remembered I read somewhere that the list isn’t considered
“fixed size” if we create
Arrays.asList() inside
new ArrayList(). Therefore I came to conclusion that this code didn’t throw exception and I chose the option
“Mushfiq removes”. But after actual exam I tested this code in IDE and saw that there was a tricky point. I checked only line 7 as syntax, but complication fail occured on line 8. The variable declared in parameter list cannot be used outside lambda body.
2) There were two complex questions with a weird structure:
The first question was regarding import. Similar as the following:
There is a project called A. Project A contains B and C packages:
Edit: Code snippet was removed
The question is that which imports are required to use ClassC inside ClassB? Choose two valid syntax options (approximately):
Edit: Options were removed
Required import is only option C. But I had to choose two options so I chose option D because option D is valid syntax, but is not required. It was weird that there was no information about
getName() method. At that moment I remembered Roel`s words (sorry if I remember wrong):
“If something doesn't exist in question you shouldn’t guess it”. Therefore I chose option C and D. But I don’t remember that question exactly, I might be wrong.
The second question was regarding
this() and
super(). This question was similar to the
44th question of Enthuware Standard Test 5, but it had a very complex structure. The size of question was bigger than that of screen, so you had to use scroll to see the end of question..
According to the feedback I know that one of my incorrect answers was regarding lambda. The other four incorrect answers are still interesting for me
At the end I want to especially note that
SYBEX book and Enthuware together are excellent study guides and they are absolutely enough to pass the exam with high score. But you should follow the right sequence.
P.S. The above thoughts are referring to my actual exam questions.
Edit: Code snippets have been removed as they don't quite meet publishing standards of forum.
Hope it helps.
With kind regards,
Mushfiq Mammadov,
from Baku, Azerbaijan