I had to do a Java 6 IKM test the other day. I thought i’d post the result sheet up because it has lots of green bars :D
I’m led to believe that the percentage score (99) is not particularly useful, but rather the percentile score (97 on the right) is what’s looked at. I don’t know how good scoring in the 97th percentile is, as that’s not the 97th percentile of competent test takers, but (presumably) 97 percentile of ALL test takers, including the clueless ones.
It was enough, however, to get me an interview with a large investment bank in the city when I had no prior experience. According to the agent I “smashed it” :D but my man on the inside had informed me already that 97 (i think) was the score that I would need.
Anyway, the purpose of the post is to talk a little about the test and how it works:
Firstly – it’s an adaptive test which means that the difficulty varies dynamically according to how well you answer. I did one previously with very little preparation and scored in the 95th percentile, and it was very noticeable how the test is reactive doing it for the second time; I’d prepared properly this time and as a consequence the questions became quite a lot more obscure.
As a consequence of the test being adaptive there is another important thing to remember, which is potentially very off-putting if you weren’t expecting it – you cannot skip questions and come back to them later. This is a big deal to me, because now one has to decide on the fly how much time to give to a particular question should it be a tricky one; because the latter question difficulty depends on how you answer the earlier ones, you have to answer it right now or not at all!
Which leads into the third significant point. There can be up to four (if I remember correctly) correct answers out of 5-ish options, and the points you get for your answer will depend on how close your chosen answer/s are to the correct answer. This means that, for example, you may score partial credit for selecting a reasonable, even though incorrect answer. In the same way you will score negatively for selecting an entirely nonsense answer. I like this mechanism as it accounts for random guesses, while rewarding partial understanding with partial credit.
Timings… there was a time limit of about 2 hours. You can see from the results report above that the test taker is marked on their speed & accuracy combined. I have no idea how much the time taken affects the score as the first time around I used all of the time available, while the second time around I had a lot of time left over AND the questions were harder (because I was doing better), yet the score differed by only 2 percentage points. If we imagine a bell curve of results then it makes sense that the scoring differences at the higher ends especially will correspond with performance in a non-linear fashion. I would *guess* though, as an experienced professional, that speed is less important than accuracy.
What should you study to prepare? Look at the scoring sheet above. It’s worth digesting the lava.lang package especially I think as you can easily spend a lot of time figuring out how some class that you haven’t used in 10 years is supposed to work. If you haven’t done much multithreading before then definitely study that.
Apart from that there isn’t much advise I can give other than to understand that this exam is HARD. Much harder than the SCJP, or whatever Oracle is calling it these days.