To begin the series, we introduce CodeSignal’s pair-programming platform, which will not only allow us to create these videos in an interview-style environment, but which can also be used to automate the process of evaluating developer candidates’ technical abilities. Throughout the series we’ll be looking at the variety of ways that this can be done.
In this episode we look at a User Interface task, primarily geared towards measuring CSS skills. Evaluating a task like this normally involves a visual comparison, so it’s not an easy thing to automate, compared to an algorithmic task. Here’s what happens when a user runs the tests:
- The user’s code is sent to a dedicated server called a coderunner, which provides a sterile environment for the code to run in.
- The coderunner uses a Selenium-controlled browser to render the code. Since it’s actually loading the elements in the DOM, it’s possible to access their properties in order to test against expected values (eg: how many pixels lie between two elements).
- It’s also possible to perform an additional visual test, performing a pixel-by-pixel comparison.
- Once the tests are complete, the results are sent back to the CodeSignal server and displayed on the page.
Since the tests are based on different types of properties (eg: alignment, text, responsiveness), the results can give a detailed picture of the developers’ strengths. And since the evaluation doesn’t require an interviewer, it can be used to screen large numbers of candidates with high accuracy.