Certification Exam My Exam Experience

Passed the 1Z0-808 Java SE 8 Programmer I (OCA 8) exam with 94% (my experience with in detail)

Java OCA certification
Written by Mushfiq Mammadov

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):

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:

“OCA/OCP Java SE 7 Programmer I & II Study Guide”, Kathy Sierra and Bert Bates, Self Test:

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):

Second attempt Comparison with first attempt
Chapter 1 – 91.3% 74%
Chapter 2 – 100% 55%
Chapter 3 – 84.85% 66.7%
Chapter 4 – 93.1% 62.1%
Chapter 5 – 70% 60%
Chapter 6 – 90% 60%
Assessment test – 65%

In my summer holiday I hadn’t taken my laptop with me, so I downloaded some java quizzes 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:

Later “OCA/OCP Java SE 7 Programmer I & II Study Guide”, Kathy Sierra and Bert Bates, Practise Exams (it was difficult enough):

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:

Foundation Test – 79%     
Test 1 – 88%     
Test 2 – 94%     
Test 3 – 78%     
Test 4 – 87%     
Test 5 – 92%     
Test 6 – 94%     

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:

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:

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 Boyarsky. She directed me to the forum when I sent her email regarding OCA 8 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:

int count=0;
int[][] arr = new int[3][4];
for(int i=0; i<arr.length; i++)
    for(int j=0; j<arr[i].length; j++)
        if(j<2) count++;
System.out.println(count);

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:

    
    int count=0;
    String[] arr = {"one", "three", "five", "seven"};
    for(int i=0; i<arr.length; i++)
        for(int j=0; j<arr[i].length(); j++)
            if(arr[i].length() == 5) count++;
    System.out.println(count); 

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 (3×3) 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:

    
    public static void main(String[] args) {
        int i1 = Integer.parseInt(args[0]);
        boolean b1 = Boolean.parseBoolean(args[0]);
        System.out.println(i1 + " " + b1);
        int i2 = Integer.valueOf(args[0]);
        boolean b2 = Boolean.valueOf(args[0]);
        System.out.println(i2 + " " + b2);
    } 

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:

  String names[] = {"Roel", "Jeanne", "Paul", "Mushfiq"};
  List<String> list = new ArrayList(Arrays.asList(names));
  if(list.removeIf( (String s) -> { return s.contains("s"); } )){
      System.out.println(s + " removes");
  }

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:

package B;
public class ClassB {}

package C;
public class ClassC {}

The question is that which imports are required to use ClassC inside ClassB? Choose two valid syntax options (approximately):

A. String name = ClassC.getName();
B. import A;
C. import C.ClassC;
D. import B.ClassB;
E. String name = C.ClassC.getName();

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.

P.S.S. You can also read this article in coderanch forum.

Hope it helps.
With kind regards,
Mushfiq Mammadov,
from Baku, Azerbaijan

About the author

Mushfiq Mammadov

8 Comments

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.