This time we demonstrate more of the CodeSignal platform’s strengths in handling more complicated tasks involving a variety of database systems; specifically, we look at a PostgreSQL database task which involves fetching data from two tables.
As we’ve seen in previous episodes, the main power of the IDE is the automated testing features built in. So how does it work? Well, this is what happens when a user runs the tests:
- The user’s code is sent to a dedicated coderunner server, along with some metadata about the task.
- The coderunner is set up with a docker image for handling various challenge types. Since the image is already prepared, this makes it very fast to set up a container and begin running the database commands.
- The database is instantiated according to the given setup scripts, then the user’s queries are executed, yielding results which are then returned to the CodeSignal server. The results are displayed in a nicely readable format and compared to the expected values for assessment.
- Because the code was run within a docker container, the entire process executes and terminates very quickly.
Because half of the tests are hidden, candidates are unable to tailor their solution to the particular test set, thus reducing noise in the results. This is another of many features that optimize the platform for automated assessment.