I just finished the exam and get unexpected score 90%. So I decide to share with you some information on studying.
Duration: 3.5 weeks
I'm newbie to Java so lots of things in OCP i have never heard before, even the general ideas.
- Jeanne and Scott's OCP. Technically read through 1 time (lots of hard sections I had to read multiple times to understand before moving on to next part).
- Enthuware mock test - My note to review while I was doing mock tests and before I did the exam. Here's the Link
The book is really good in explaining all the objective of OCP as well as provided kick-a$$ difficult questions, but those questions will help you a lot. In my opinion, you have to clearly understand syntax, how things works in chapter 3 (generic and collection) with chapter 4 (functional programming) before moving on the later chapters because they are used almost everywhere, especially in IO, NIO2 and concurrency, which have the most difficult review questions and content there. Don't bother for getting many wrong answers, the most important aspects of review questions are to understand why you were wrong and right, learn from answer explanation. Following are few parts that I honestly did not bother to try memorizing from the book and my note, but mostly do through mock tests (Disclaimer: if you don't study these, that's your risks):
- Atomic classes and methods: skip all except AtomicInteger
- Collectors methods: do the questions, remember the pattern or guess how's things to look like
- Synchronized collections
- Fork/join methods
- Primitive versions of functional interface, mapToAAA and flatMaptoAAA: mostly learning the pattern
Result for enthuware tests:
Mock tests: for OCP are muchx4 tougher than mock test of OCA, so don't feel down if you get lower score compare to OCA. In my opinion, geting around 70% (except test 1 which is really difficult as that's your first mock) is a good indication you have learned pretty well. What's important here is to review all questions after you finish the test and take note things that is not in the book or really tough. Each mock tests will have around 10-15 questions that ask about things including methods, definition, edge cases that I have no clues and answer wrong.
Also, the BIGGEST problem in OCP test is time management because 85 questions(especially in mock tests, which contains many difficult questions) in 150m is tough, especially in test 1 which I barely made it on time. Here's are few tips to make things quick:
- If you don't see any compile or exception options, don't pay attention on error (might be just a little)
- All options are lamda, stream or kind of, quickly eliminate those that are wrong in syntax and that would leave you usually 1-3 options left in mock test, and mostly likely 1 option left in real exam
- When encounter strange methods, usually if they are much more different than method you knew (in term of word), they usually are correct. So better guess here than choosing not compile.
- Don't just see a long questions and skip. Calmly read them first, eliminate and choose answer. If you still can't narrow down to what you need, mark the question and do it later.
- Memorizing all build-in function interface until it just quickly pop to your head when you see them, then apply them with pattern to figure out their primitive version. There are a lot but it's easier to remeber than you thought.
- Pay attention to whether terminal operation exists, whether terminal operation is placed in wrong places, or whether a stream is reused
- Scan quickly through simple constructor (which simply just assign value to instance var), instance var declaration, get/set methods
- run vs start in Thread - Path.get vs Paths.get
- Executor vs Executors
- try-with-resource with class that do not implement AutoCloseable or Closeable
- Optional-like return type is assign to primitive without invoking get__() method
- In addtion to collection mentioned in books, learn about all Deque methods that add new element to deque.
Real exam: 25m left and I finish, much easier than Enthuware mock tests, less edge cases and simpler answer options in which many I can eliminate quickly. Still, keep in mind time management and recommend Enthuware mock test (And Jeanne and Scott's OCP, of course) because you need to practice on doing exam and learn new things to prepare better on real exam, eliminate chance of failing.
Next Objective Get a fresher job and apply in real project. No more certificate consideration until at least 1-2 year in the job.
Got any questions about exam ? Ask here before i forget things lol