HighTech Innovators Techical Challenge

We usually ask candidates to complete a little coding challenge, for which we have a nice assignment set up an ready to go. This may mean (depending mostly on your approach, talent and a bit of luck while debugging maybe) that you might have to spend between 2 and maybe 8 hours on this challenge – but it’s a fun little thing to work on! The point is to build a Bot that connects to a server which hosts ‘maze’ challenges – imagine a PacMan like labyrinth, which you navigate (and discover) using API calls. Point is to collect money, ‘bag’ it at collection points and then find an exit tile.

Goal of the Assessment

With this challenge, we measure not only coding style and problem solving skills, but also how you scope & attack a problem, work with an API that’s technically correctly documented, but may still hold surprises; how you test & debug, work with version control, and also how you polish the solution (as you would when you create a PR for review, for example). In the interview, you present & we discuss the code and approach. Efficiency (using fewer API calls) of the presented solution is not so important, but we will discuss your ideas on how to maybe improve the algorithm during the interview. It’s more to be able to show or discuss a little of each of the above, than to have 1 of the items covered completely, but forget about the rest!

Documentation

You’ll be able to find all info you need from this page or via https://maze.kluster.htiprojects.nl/ .

Tip: start with small mazes; be careful with Example Maze from the Rules page at first – it may seem simple, but the tunnels/portals sometimes cause trouble. On the other hand - its map is visible for you in the Rules page, while the layout of all the other mazes are a mystery! Still, maybe try Easy deal first.

Interfacing

The most up-to-date openAPI is autogenerated & hosted by the server itself at /swagger/api/swagger.json, with an interactive browser.

Be careful when interfacing: there is a glitch in the server that makes it sometimes respond text/json content-type instead of the documented application/json.

Client packages

For some languages, we or the community have created ready-to-use client packages; for other platforms, you’ll have to generate or write your own code.

Platform Package
.NET dotnet add package HightechICT.Amazeing.Client.Rest
Python https://pypi.org/project/hightech-amazeing