Sunday, 24 November 2013

A comprehensive guide for OCPJP 7 exam preparation

OCPJP 7 book

Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805  is a concise, comprehensive, step-by-step, and one-stop guide for the Oracle Certified Professional Java SE 7 Programmer Exam. (Publisher: Apress)

Why an OCPJP 7 aspirant should refer our book? Here is the answer:
- Our book is the first and only book available right now for OCPJP 7 exam preparation. It covers all the exam topics for OCPJP 7 with required depth.
- First chapter (FAQs chapter) of the book clears very basic questions that one may have related with the exam. 
- Second chapter sports a pre-test which can be used to know the preparation level initially and where one needs to put more effort. 
- Each topic is explained using examples with many corner-cases covered.
- After each chapter, a set of questions are presented to quickly test what one just learnt. 
- "Points to remember" is a very interesting section that lists corner cases and tricky elements with respect to the topic. 
- The book comes with two full-size mock-tests (90 questions each) which gauge preparedness of the aspirant for the actual exam.

If you are new to Java certification, please refer this post. We offer a set of downloadable resources here. You can report a possible mistake from this erratapage.

Saturday, 23 November 2013

Oracle Java Certification Exam Preparation (for OCPJP 7 Exam)

Why Oracle Java Certification?  

Let us start with the question - why get certified? 

The reason is to differentiate yourself. The key to getting a job, hike, or promotion is to show that you deserve it! 

Getting certified is one of the means to show that you have relevant knowledge and skills:
  • Show that you have some document proof that you have relevant skills or knowledge
  • Show that you are different from others (competing with you) that you have some specialized skills or knowledge 
Getting certified also has other benefits as well: 
  • Preparing for a certification exam gives you focus on learning relevant and important topics; the certification exam date gives you a deadline so you will take learning seriously 
  • The process of preparing for the exam and actually passing the exam gives you confidence necessary for getting a job or asking for a promotion or a raise
Now you may ask, why Java certification? 
  • One obvious reason is that Java is one of the most popular programming languages on this planet. As on 17th March 2013, according to TIOBE index - the language popularity index most people refer to - listed Java as the most popular language in the world ahead of languages like C, Objective-C, C++, and C#. This popularity of Java translates to the need for more Java programmers in the IT industry. 
  • Java certifications are one of the most popular IT certifications, so potential employers or your managers will recognize this certification.
  • There is always need for high-quality Java developers and having this certification shows that you are one of those qualified Java developers 
Next, we’ll briefly discuss about the Oracle’s certification path. At a very high-level, there are four levels of certifications: Associate, Professional, Expert, and Master levels. 
  • Oracle Certified Associate: This certification shows that you have fundamental skills necessary for an IT career; it provides a strong foundation for further exams.
  • Oracle Certified Professional: This certification shows that you have professional skills and technical expertise to develop enterprise software. 
  • Oracle Certified Expert: This certification shows that you have specialized levels of skills and knowledge.
  • Oracle Certified Master: This certification shows that you have mastery or expert level of skills and knowledge.      
There are three Oracle Java exams for Java SE 7 at beginner to intermediate level.
  • Java SE 7 Programmer I: The is a beginner level exam - if you pass it you get Oracle Certified Associate Java SE 7 Programmer (OCAJP 7) certification. There are no pre-requisites for taking this exam. 
  • Java SE 7 Programmer II and Upgrade to Java SE 7 Programmer: These two are intermediate level exams - if you pass either of these exams, you will get Oracle Certified  Professional, Java SE 7 Programmer (OCPJP 7) certification. If you have older Java certifications such as SCJP 5, then you can go for Upgrade to Java SE 7 Programmer; otherwise, you need to take Java SE 7 Programmer II exam. For Java SE 7 Programmer II exam, the prerequisite is that you should have passed the OCAJP 7 exam. 
Oracle Certified Professional Java Programmer 7 (OCPJP 7) Overview

Exam topics

There are 12 exam topics for Java SE 7 Programmer II certification - 
  • Java Class Design
  • Advanced Class Design
  • Object-Oriented Design Principles
  • Generics and Collections
  • String Processing
  • Exceptions and Assertions
  • Java I/O Fundamentals
  • Java File I/O (NIO.2)
  • Building Database Applications with JDBC
  • Threads
  • Concurrency
  • Localization
However, the Upgrade to Java SE 7 Programmer has only six exam topics: 
  • Language Enhancements
  • Design Patterns
  • Java File I/O (NIO.2)
  • Building Database Applications with JDBC
  • Concurrency
  • Localization
In other words, the Upgrade to Java SE 7 Programmer assumes that you know topics such as class design because you have passed one of the earlier exams. So, the focus of the Upgrade exam is only on additional topics or Java 7 topics.  

Getting familiar with OCPJP 7 exam 

The exam has only multiple-choice questions. You will get 4 to 7 options for each question; but most questions will have four options. Note that many questions will have more than one answer to be selected - the question will clearly tell you how many options you need to select. 

The exam questions intend to test your ability to solve real-world problems. You can expect most questions to be programming-based questions. For example, given a program or code segment, the question could be to predict the behavior by selecting the expected output from the given list of options. You will also get a few conceptual questions. These questions will test your knowledge and will not have any programs in it. Examples: What are different kinds of drivers in JDBC? What are different kinds of liveness problems with threads? 

Most questions will check your knowledge of language features and their usage. They will test if you understand language features and can apply them in practical situations. But note that most questions will not be on obvious aspects of Java language features. Rather, the questions will be on nitty-gritty details or corner cases, or unusual aspects of the language. For example, you don’t just need to understand the generics feature in Java but also need to understand problems due to type-erasure in generics. 

Many questions will test your knowledge of library features and their usage. They will test if you are familiar with Java APIs and know how to use them in practical situations. You can be sure that questions will be on nitty-gritty details or corner cases, or unusual aspects of the library. For example: What does the remove() method of Deque do? (Answer: It removes the front or first element from the underlying deque instance - not the back or last element).

To summarize, the exam tests your understanding of the Java language and library and your ability to apply it for problem solving. However, note that it does not test your memory skills. Still there are few topics where you may need to remember key things. Some examples: 
  • Letters used for creating custom date and time formats (i.e., "string patterns") for use with SimpleDateFormat class
  • Characters used for forming pattern strings in regular expressions
  • Format specifiers and their meaning for use in format() method in String and in printf()
If you have done programming with time formats, regular expressions, format specifiers etc. you’ll know them; but if you are relatively new to these topics, then you need to refresh them before appearing for the exam. 

Also note that exam questions need not be exactly from the exam objectives! Any topics related to the exam objectives can come in the exam. For example, serialization and use of transient keyword is not explicitly mentioned in the OCPJP exam topic. But this topic can come in the actual exam because it is related to reading and writing streams, and one of the streams is ObjectStreams and it relates to serialization!

How to Prepare for the Exam 

Now let us discuss about preparing for the exam. 

The best way to prepare for the exam is to write lots and lots of small programs and learn from your mistakes! If possible, try taking up some small toy projects in the topics you’re new or not familiar with. This is especially important if you don’t code in Java in your regular job. 

However, it is also important to read and learn more about the language features and the library. There are some excellent resources out there in the internet freely available for you to read. 
Some tips for exam preparation 
  • When preparing for the exam, focus especially on the new features introduced in Java 7.   
  • Take a close look at the exam objectives and grade yourself from, say 1 to 10, with 10 being the highest. Prepare all the topics for which you've rated yourself as 8 or below.
  • Plan for taking your exam well in advance: look out for scheduling the exam when you’ll be free for at least a few weeks for exam preparation; avoid last minute rush to prepare for the exam. 
How to register for the exam?

You have three options:
  • You can register and pay at the Pearson VUE website (this is the option most exam takers choose).  
  • You can buy exam voucher from Oracle and then register yourself in Pearson VUE website. 
  • You can register and pay in the Oracle Testing Center (OTC). 
Before we end 

Do checkout our OCPJP 7 book which is the only book available in the market for exam preparation. 

That’s all, and wishing you all the best for cracking the OCPJP 7 exam with ease. 

Thursday, 21 November 2013 2013 Job Survey results: Java/J2EE developers topmost in demand!

You can read the whole report here:

Extract from this report:
What’s not new is the continuing demand for developers – the closer to the application, the stronger the job market. Atop the priorities list for the second consecutive year: Hiring Java/J2EE developers. More than one in five of the 77,000 jobs posted on Dice contained some mention of the need for java know-how. The bottom line: If you’re looking to hire veteran Java-fluent talent, expect plenty of competition for the human equivalent of the iPad Mini, this year’s “tech gadget everyone has to have.”

Bottom-line: Getting certified in Java could be one of the ways to differentiate yourself in the high-demand market for Java developers!

Tuesday, 5 November 2013

Winners of our contest

We announced a contest two weeks back where we invited our readers to write reviews and win free printed copies of our book (see the relevant post). The contest got over on 3rd Nov 2013. Overall it attracted decent participation. Based on the reviews, we are happy to announce three winners of the contest:
  • Tomas Petras Rupsys (from Lithuania)
  • Carl Clemens (from USA)
  • Ujwala (from India)
Congratulations to winners!!

We are in the process of sending them printed copies of our book; they will receive the book in a few days. Thanks to all the participants who had participated in the contest.