Tap to explore a project

Job Test Practice Generator

If you've applied for a job where there is a likely chance of there being hundreds of applicants, you may have come across one of these:

I did my first one during a recruitment process and it didn't go so well to help me practice them I decided the most logical approach would be to write my own procedural generator that generates 32 of them (a standard test - you get 24mins). Due to the formulaic nature of these tests, it is fairly straightforward to make most operations in code that can be randomised to generate random questions.

Behind the scenes it uses loads of bitpatterns and performs operations. e.g. see my comment below:

 
// Size Shade Shape
  // Size 0 (small) / 1 (large)
  // Shade 0 (light) / 1 (dark)
  // Shape 0 (triangle) / 1 (circle)
  // e.g. 010 Small Dark triangle
  // 0 - 000 - Small Light triangle
  // 1 - 001 - Small Light circle
  // 2 - 010 - Small Dark triangle
  // 3 - 011 - Small Dark circle
  // 4 - 100 - Large Light triangle
  // 5 - 101 - Large Light circle
  // 6 - 110 - Large Dark triangle
  // 7 - 111 - Large Dark circle
   

I also had a load of selectors (used to determine what to perform operations on):

I then wrote lots of operations:

The system was OOP and all stored within one single HTML file, ~950 lines long. Using bit patterns made it really easy to generate random questions just by generating a number and just writing it out in binary. The system generates the other answers by applying a random operation to the answer. There are also some additional checks to make sure no answer is the same. In the end the javascript translates the bitpattern to the pretty example given at the top of this post.

I don't think this is how they do it for the real tests, I think they just make them manually but this is way more fun albeit probably not quite the same. (don't worry I passed the next one I did 🙂)

P.S. here is the answer

Copyright © 2025 Freddie Nicholson All rights reserved.