• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Rob Spoor
  • Tim Cooke
  • Junilu Lacar
Sheriffs:
  • Henry Wong
  • Liutauras Vilda
  • Jeanne Boyarsky
Saloon Keepers:
  • Jesse Silverman
  • Tim Holloway
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
Bartenders:
  • Al Hobbs
  • Mikalai Zaikin
  • Piet Souris

My Java SE 8 Programmer II beta exam experience

 
author
Posts: 42
1
Eclipse IDE Spring Java
  • Likes 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Today I took the OCPJ 8 beta exam. Three hours and 106 questions. It's a tough exam.

I got a lot of questions related to lambda expressions. I would say about 30% of the exam, in one way or another, is about lambda expressions.

Based on my experience, here's a breakdown of the topics I got, so you can make sure to study them:

Java Class Design
* 2-3 questions about the concept of encapsulation
* Questions about inheritance regarding visibility modifiers and declaring throwing exceptions
* How to override equals and how it behaves if you don't override it
* How to create a singleton class
* Rules about static classes

Advanced Java Class Design
* Rules about abstract classes
* Final keyword on classes and methods
* 2-3 questions about how to create inner classes
* How to use methods and constructor inside an enum
* Extend and implement an interface (study the rules of defaults methods)

Generics and Collections
* Create a class with generic parameters
* Use ArrayDeque
* Use java.util.Comparator and java.lang.Comparable interfaces and Collections.sort
* Filter a collection by using lambda expressions

Lambda Built-in Functional Interfaces
* Use of Predicate, Consumer, Function, Supplier and UnaryOperator
* Just one or two questions about the primitive and binary versions, not hard

Java Stream API
* Focus on peek(), map(), flatMap(), max(), grouping, sorting, and Optional class

Exceptions and Assertions
* Focus on the rules of multicatch
* Create auto-closeable resources
* Enable asserts and the syntax assert condition : expression

Use Java SE 8 Date/Time API
* Work with ZonedDateTime, for example, what happens when you add hours to the time when the daylight savings starts
* Basic use of LocalDateTime, Instant, Period, and Duration

Java I/O Fundamentals
* Use of System static members and Console object
* Use of FileInputStream, BufferedReader, and BufferedWriter
* Rules about serialization

Java File I/O (NIO.2)
* Path operations (create paths, relative paths, normalize)
* Stream methods, for example, how to read a file with streams

Java Concurrency
* Identify a deadlock in code
* Use of CyclicBarrier
* The concept of the Fork/Join Framework
* Parallel Streams using reduction operations

Building Database Applications with JDBC
* Know the core interfaces and classes of the JDBC API and which of them have to implement the datasource provider
* How to load a driver and use the DriverManager class

Localization
* Know all the constructors of the Locale class
* Know which resource bundle is loaded depending on the locale set.

I created my own material to study. I put it online at http://eherrera.net/ocpj8-notes/ for all planning to take this exam.

Feel free to ask me something in particular or for any doubt you have about a topic covered by the exam.
 
Enthuware Software Support
Posts: 4575
45
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Great! Thank you for detailed feedback.
 
Greenhorn
Posts: 25
Hibernate AngularJS Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Please, share with us your study path mate! [EDIT: Just noticed it in the end of the post]

I'll do it on June 12, but i am convinced there are no chance since i have no extra time to study at the moment :/
 
Greenhorn
Posts: 22
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I just did the 'Java SE 8 Programmer II BETA". It was extremely tough. It had many questions on Lambda and Streams. I had so many questions on Lambda. I was not prepared for complex Lambda questions. May be I got 25% right. I am a theoretical physicist and I am not a professional programmer. I am using Java just for Computations. You luck to everybody.

 
Ranch Hand
Posts: 1376
Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for sharing detailed info. It will definitely help others
 
Shamal Jay
Greenhorn
Posts: 22
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This is my beta exam report:

Your Score: 23% Passing Score: 65% Result: Fail
Feedback on your performance is printed below. The report lists the objectives for which you answered a question incorrectly.

Build a resource bundle for each locale and load a resource bundle in an application
Create and use ArrayList, TreeSet, TreeMap, and ArrayDeque objects
Create and use Lambda expressions
Create and use singleton classes and immutable classes
Create custom exceptions and auto-closeable resources
Create inner classes including static inner class, local class, nested class, and anonymous inner class
Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks
Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnit
Describe the Stream interface and Stream pipeline
Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations
Develop code that declares, implements and/or extends interfaces and use the atOverride annotation
Develop code that uses Stream data methods and calculation methods
Develop code that uses abstract classes and methods
Develop code that uses final keyword
Develop code that uses primitive versions of functional interfaces
Develop code that uses static keyword on initialize blocks, variables, methods, and classes
Develop code that uses the Optional class
Develop code that uses the UnaryOperator interface
Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method
Filter a collection by using lambda expressions
Identify the components required to connect to a database using the DriverManager class including the JDBC URL
Implement inheritance including visibility modifiers and composition
Implement polymorphism
Iterate using the forEach methods of Streams and List
Read and set the locale by using the Locale object
Read and write data from the console
Save results to a collection using the collect method and group/partition data using the Collectors class
Search for data by using search methods including findFirst, findAny, anyMatch, allMatch, and noneMatch
Sort a collection using Stream API
Submit queries and read results from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections
Test invariants by using assertions
Use Autoclose resources with a try-with-resources statement
Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the java.iopackage.
Use Stream API with NIO.2
Use built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function, and Supplier
Use enumerated types including methods and constructors in an enum type
Use java.util.Comparator and java.lang.Comparable interfaces
Use method references with Streams
Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance
Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread execution
Use the Files class to check, read, delete, copy, move, manage metadata of a file or directory
Use the Path interface to operate on file and directory paths
Use the java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList
Use the parallel Fork/Join Framework
Use try-catch and throw statements
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Maybe next time..

Your Score: 47% Passing Score: 65% Result: Fail
Feedback on your performance is printed below. The report lists the objectives for which you answered a question incorrectly.

Build a resource bundle for each locale and load a resource bundle in an application
Create and manage date-based and time-based events including a combination of date and time into a single object using LocalDate, LocalTime, LocalDateTime, Instant, Period, and Duration
Create and use ArrayList, TreeSet, TreeMap, and ArrayDeque objects
Create and use singleton classes and immutable classes
Create inner classes including static inner class, local class, nested class, and anonymous inner class
Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks
Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnit
Describe the Stream interface and Stream pipeline
Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations
Develop code that uses Stream data methods and calculation methods
Develop code that uses abstract classes and methods
Develop code that uses final keyword
Develop code that uses primitive versions of functional interfaces
Develop code that uses static keyword on initialize blocks, variables, methods, and classes
Develop code that uses the UnaryOperator interface
Identify the components required to connect to a database using the DriverManager class including the JDBC URL
Implement inheritance including visibility modifiers and composition
Read and set the locale by using the Locale object
Read and write data from the console
Save results to a collection using the collect method and group/partition data using the Collectors class
Submit queries and read results from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections
Test invariants by using assertions
Use Autoclose resources with a try-with-resources statement
Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the java.iopackage.
Use Stream API with NIO.2
Use built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function, and Supplier
Use enumerated types including methods and constructors in an enum type
Use java.util.Comparator and java.lang.Comparable interfaces
Use method references with Streams
Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance
Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread execution
Use the Files class to check, read, delete, copy, move, manage metadata of a file or directory
Use the java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList
Use the parallel Fork/Join Framework
Use try-catch and throw statements
 
author & internet detective
Posts: 40747
827
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Édipo: Welcome to CodeRanch!

Shamal: I gave you a cow for being within 2% of your predicted score. That's impressive! (You said a good while ago that you thought you got about 25% correct. And you did.)
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic