Introducing OCAJP7 & OCPJP7 certifications S G Ganesh firstname.lastname@example.org Tushar Sharma email@example.com
Outline Why get certified? Oracle’s Java certifications Getting familiar with exam questions Preparing for the exam Registering and taking the exam
Why get certified?
How do I get my first job? Hundreds of thousands of freshers try for jobs every year How do you get noticed by recruiters? Why should the recruiter select you and not someone else?
How do I get a pay raise and promotion? I work hard and do what I’m expected to do in my work Still, every year my manager says he expected more! Are you a key player? Have you gone extra Are you a star as seen mile for the project and by others (particularly exceeded expectations? management?) Do you have provable expertise or skills that are relevant for the job?
Differentiate yourself Key to get a job, hike or promotion is to show you deserve it One of the ways to demonstrate that you have relevant skills and knowledge is to get certified
Benefits of getting certified To show you’ve some document proof that you’ve relevant skills or knowledge To show that you are different from others and have some specialized skills or knowledge Preparing and passing the exam gives you focus on mastering the topic Gives you confidence for getting a job or asking for a promotion/raise
Oracle’s Java certifications
Why Oracle Java certification? Java programmer certifications (SCJA/SCJP) were very popular, and are now replaced with OCPJA/OCPJP7 certifications Java continues to be very popular The figure shows widely referred TIOBE (www.tiobe.com) language popularity index (as on Sept ‘12)
Oracle’s certification path Five levels of certifications Associate, Professional, Master (for general technologies) Expert and Specialist (for narrow domains or technologies) Oracle Certified Advanced levels of skills Oracle Master and knowledge Certified Professional Professional skills and technical Oracle expertise to develop enterprise Certified software Associate Fundamental skills, provides strong foundations for further exams
Note on exam details When creating this presentation in Sept 2012, OCPJP7 exam is in Beta. The actual exam is scheduled to be released in November, and these details may change in the actual exam. The exam details and discussion here is based on information available as on Sept 2012
OCAJP 7 exam overview Expertise level Beginner Pre-requisite certification None Exam Number 1Z0-803 Exam Name Java SE 7 Programmer I Oracle Certified Associate, Java SE 7 Associated Certification Programmer (OCAJP 7) Exam duration 2 hrs 20 minutes (140 mins) Number of questions 90 Questions Pass percentage 77% Cost Approx. USD 300 Exam release status Beta Costs lesser in India – Approx. Rs. 8500!
OCAJP 7 exam topics Java Basics Working With Java Data Types This table shows only top-level Using Operators and Decision Constructs topics – for detailed sub-topics, see Creating and Using Arrays Oracle website Using Loop Constructs Working with Methods and Encapsulation Working with Inheritance Handling Exceptions
OCPJP 7 exam overview Expertise level Intermediate Pre-requisite certification OCAJP7 Exam Number 1Z0-804 Exam Name Java SE 7 Programmer II Oracle Certified Professional, Java SE 7 Associated Certification Programmer (OCPJP 7) Exam duration 2 hrs 30 minutes (150 mins) Number of questions 90 Questions Pass percentage 65% Cost Approx. USD 300 Exam release status Beta Costs lesser in India – Approx. Rs. 8500!
OCPJP 7 exam topics Java Class Design Advanced Class Design Object-Oriented Design Principles This table shows Generics and Col ections only top-level topics – for detailed String Processing sub-topics, see Exceptions and Assertions Oracle website Java I/O Fundamentals Java File I/O (NIO.2) Building Database Applications with JDBC Threads Concurrency Localization
Upgrade to OCPJP 7 exam overview Expertise level Intermediate Pre-requisite certification Any older OCPJP version or any version of SCJP Exam Number 1Z0-805 Exam Name Upgrade to Java SE 7 Programmer Oracle Certified Professional, Java SE 7 Associated Certification Programmer (OCPJP 7) Exam duration 2 hrs 30 minutes (150 mins) Number of questions 90 Questions Pass percentage 60% Cost Approx. USD 300 Exam release status Beta Costs lesser in India – Approx. Rs. 8500!
Upgrade to OCPJP 7 exam topics Language Enhancements This table shows Design Patterns only top-level topics – for detailed Java File I/O (NIO.2) sub-topics, see Oracle website Database Applications with JDBC Concurrency Localization
Getting familiar with exam questions
What kind of exam is it? It’s a multiple-choice questions exam The number of options would be based on the questions Can be from 4 to 7 options (typically four options) Many questions will have more than one answer to be selected! The question will clearly tell you how many options you need to select
What does the questions test? Questions intend to test your ability to solve real-world problems Most questions would be programming questions Given a program or code segment, predict the behavior Also 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
Example: Conceptual question Which one of the following relationship describes the OO design concept of "composition"? a) is-a b) is-a-kind-of c) has-a d) is-implemented-in-terms-of e) composed-as Answer: c) has-a Composition is a design concept that refers to has-a relationship.
Tests your Java language knowledge Questions will test your knowledge of language features and their usage Will test if you understand language features and can apply them in practical situations Most questions will be on nitty-gritty details or corner cases, or unusual aspects of the language Example: You don’t just need to understand the generics feature in Java but also need to understand problems due to type-erasure, mixing legacy containers with generic containers, etc.
Sample question – 1
Sample question – 1 [options] Which one of the following options best describes the behavior of this program? a) The program prints: in catch -> in finally -> after everything b) The program prints: after throw -> in catch -> in finally -> after everything c) The program prints: in catch -> in finally -> after everything d) The program prints: in catch -> after everything e) The program prints: in catch -> in finally -> f) When compiled, the program results in a compiler error in line marked with comment in LINE A for divide-by-zero
Sample question – 1 [answer] e) The program prints: in catch -> in finally -> The statement println("after throw -> "); will never be executed since the line marked with comment LINE A throws an exception. The catch handles ArithmeticException, so println("in catch -> "); will be executed. Following that there is a return statement, so the function returns. But before the function returns, the finally statement should be called, and hence the statement println("in finally -> "); will get executed. So, the statement println("after everything"); will never get executed.
Tests your library knowledge and skills Questions will test your knowledge of library features and their usage Will test if your familiarity with Java APIs and know how to use them in practical situations Most questions will be on nitty-gritty details or corner cases, or unusual aspects of the library Example: What does the remove() method of Deque do? (Answer: It removes the first element from the underlying deque instance). What will happen if sleep() method is interrupted? (Answer: You'll get an InterrputedException).
Example: API usage question
Example: API usage question [options] Which one of the following options correctly describes the behavior of this program? a) This program will result in a compiler error in line marked with comment LINE A b) When executed, the program prints: Brazil Russia India China c) When executed, the program prints: Brazil China India Russia d) When executed, the program prints: Russia India China Brazil e) When executed, the program throws a runtime exception NullPointerException when executing the line marked with comment LINE A f) When executed, the program throws a runtime exception InvalidComparatorException when executing the line marked with comment LINE A
Example: API usage question [answer] Answer: c) When executed, the program prints: Brazil China India Russia When null is passed as second argument to Arrays.sort() method, it means that the default Comparable (i.e., natural ordering for the elements) should be used. The default Compartor results in sorting the elements in ascending order. The program does not result in a NullPointerException or any other exceptions or a compiler error.
Does not test your memorizing skills! The exam tests your understanding of the Java language and library and your ability to apply it for problem solving It does not test your memory skills However, there are few topics where you may need to remember key things; examples: Letters used for creating custom date and time formats ("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()
Out-of-syllabus questions? 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 come in the actual exam because it is related to reading and writing streams .one of the streams is ObjectStreams and it relates to serialization!
Preparing for the exam
Code, code, code! The best way to prepare for the exam is to write lots and lots of small programs and learn from your mistakes! If possible, do some small toy projects in the topics you’re new or not familiar with. Examples: For localization, you can localize your old programs For JDBC, you can create a simple exam simulator program For I/O fundamentals and NIO.2, you can implement simple DOS or Unix commands using these Java APIs
Focus more on new topics 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. Focus more on the topics in which you’ve rated yourself 8 or below.
Take mock-exams Attempt mock exams Take the exam as if it were the real exam: Get a quite place where you can take the test without a break Don’t refer to any books, ask others, or check web … Prepare based on the topics where you score very low And then take another test, and so on …
Registering and taking the exam
How can I register for the exam? You can register and pay at the Pearson VUE website Recommended option 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)