Wednesday, 3 January 2018

Spring Core Certification

I recently passed my Spring Core Certification (v4.3). It was a challenging exam and I felt I should share some of my experiences.

The Basics

Pre-2017, it was a requirement to do the Official Spring Core Training in order to be eligible for the exam. It is an expensive course, and created an unnecessary barrier to entry. Fortunately. this requirement has been dropped and you can simply book and write the exam.

The exam can be booked on the Pivotal Website, and costs $200.

Preparation

Official Spring Course Material

If you have attended the training, the material provided is a good start. It consists of a detailed notes, and an elaborate worked example. Now, as I've mentioned, the course is expensive, but the material is available on-line .

I'll not violate their copyright by posting it here, but I will say that it can be found by searching creatively on github. :)

Spring in Action

Spring in Action (4th Ed) is about as comprehensive as you can get with Spring Core Topics. Just match it with the Study Guide so that you don't focus too much on topics that are out of scope on the exam.

Code, Code, Code

This probably goes without saying, but simply swatting the material is not enough. Write as much code as you can and try as many scenarios as you can imagine. 

Mock Exams

The final step to take is to do some mock exams. I used the ones on Spring Mock Exams. Unfortunately, these are not free ($20 for 4 full mock exams). The mock questions are pretty close to the real exam and will give a great impression of what to expect on the big day. In all honestly, I found the mocks to be a little more challenging than my actual exam. The website I also gives explanations for each question, which ended up being a useful supplement to my existing notes.

Traps

When going through the mock exams, I identified a few big gaps in my knowledge that the official material did not clearly highlight. 

Exception Handling 

The exam contained a few questions on the exceptions thrown when a Spring Application is misconfigured. Try and be aware of the Exception names for Container issues, Data Access Issues and Transaction Errors. 

XML Configuration

Despite the modern focus on Java and Annotation Based Configuration, I got quite a few questions in which XML Config was used, be sure to know all 3 Configuration styles. 

What's New In Spring 4

For each Spring feature encountered, be sure to know whether or not it was introduced in Spring 4. 

AOP Pointcut Expressions

The exam contained a few questions in which you are required to interpret pointcut expressions. Knowledge of the expression language, as well as which parts are optional and which parts are mandatory will definitely help pass the AOP section. 

The Exam

Exam Process

The exam is now written on your own PC in a venue of your choice. You are monitored by an examiner via a live video feed. It is a requirement that the machine you use has a webcam and that your internet connection is sufficient to handle a video stream for the duration of the exam. They recommended a minimum of 4Mbps. 

At the beginning of the exam, the examiner will ask you to pan the webcam around the room. You have to be alone and the desk you use needs to be clear of any items. You will also be prompted to show the examiner under your desk. 

The camera and microphone will be on for the duration of the exam. 

I elected to use my dining room, the spot where I usually keep my laptop was too cluttered and the examiner would have definitely had an issue with my computer desk. 

Exam Format

The exam consists of 50 multiple choice questions and you are given 90 minutes to complete these. The pass mark is 76% (or 38/50). There are no questions in which you will need to write code or type any free text.


Take Your Time

The time provided is more than enough. Don't rush. If you're unsure of a question, mark it and move on, then go back to all the marked ones at the end. The 76% pass mark leaves little room for error, so take your time to ensure that you've chosen the best options. 



Sunday, 22 October 2017

Hello World

Hello,

My name is Milesh and I am a Java/Spring developer. I've been doing pretty much only this for my entire career, but now and again I try a few new things.

For the most part, it's a pretty effective tech stack to work on, but every now and again, I find something that will stump the few of us. We'll scratch our heads, google like crazy, try weird and wonderful solutions and eventually have that "facepalm moment" where we find that solution. This was my inspiration for finally starting a blog.

Also, recently acquired a Raspberry Pi, so will probably write some of my experiences there.

Actually I have no idea what the focus will be, but probably programming related. Let's see how this goes...