Codility offers an extensive task library for hiring teams to utilize. Here is an overview of the different types of tasks, how they’re scored, and what roles and skills they can help you assess.
When creating tests, you can combine different task types to help review your candidates across a range of skills.
Need help? Contact us at support@codility.com with the job description for which you'd like help creating a test and we'll make some suggestions for you.
The Codility library assesses:
Real-life skills are assessed through automated tasks that get into the practicalities of working with specific languages and/or frameworks for specific roles. For example React tasks for Front-End Engineers, Spring tasks for Back-End Engineers, or .NET tasks for .NET Developers. These tasks are based on real-life scenarios and replicate slices of scenarios common in everyday development.
Problem-solving skills are those that all developers have, no matter their role, and are assessed through automated, and language-agnostic tasks. For example, Algorithms, Bug-Fixing, and Coding. These tasks are based on hypothetical scenarios and test the fundamental principles of programming.
Technical knowledge is tested through domain-specific multiple-choice question sets, designed to give a rounded view of a candidate’s understanding of a specific technology. For example, AWS, Scrum, and Git. These question sets are typically made up of 10 questions and are a combination of theory and practice.
REAL-LIFE SKILLS:
Application Security
If you're looking for Security Engineers, then consider our Application Security tasks. These tasks usually require the candidates to audit the code (or website) in order to find any possible vulnerabilities or security bugs.
Back-End
We've got a plethora of tasks that you can use in order to screen your candidates for back-end skills. Some of the example technologies that can be assessed in Codility include Python Flask/Django, C# .NET, Java Spring, Ruby on Rails, and more.
Big data
If your company works with large data sets spread across multiple servers, ensuring your new teammates have strong big data skills is an important consideration in the hiring process. Using our new Big Data tasks, you can screen for these skills early on in the recruitment cycle, or use these same tasks at the interview stage.
Blockchain
Blockchain has been getting a lot of press lately both for its vital role in the rise of cryptocurrencies, and it's growing wider application to businesses at large.
Our first Blockchain task focuses on Solidity, which is a programming language used for writing smart contracts by various blockchain platforms, such as Ethereum.
Data Science
To assess data science skills, we've created a couple of different types of tasks - coding, analysis, and multiple-choice questions.
- How it's scored: Each type is scored slightly differently. Coding tasks and Multiple Choice questions are graded automatically for correctness, whereas analysis tasks are left for you to manually grade based on your priorities.
- What it's good for: Any roles which require some element of Data Science.
Design
In these tasks, candidates will implement a simple web design using HTML and CSS based on a design file.
- How it’s scored: These are not automatically assessed, the recruiter or hiring manager is given a view of what the web design should look like, and how the candidate's version renders. You can also download the file to review it yourself, and then you can assign a score manually in the candidate's report.
- What it’s good for: These tasks are great for testing entry-level web developers and UI designers who need to know some basic coding principles.
Front-End
Our Front-End tasks will help you assess your candidates in various front-end frameworks. Unlike Design tasks, these are automatically assessed coding tasks and you can find tasks available in frameworks such as Angular, React, or Vue.
DevOps
DevOps tasks are designed to help you assess DevOps skills, and they are focused on various technologies, including writing Bash scripts, Kubernetes, Docker, Terraform, and more.
- How they're scored: Automatically for correctness.
- What they're good for: DevOps, system, and Linux/Unix administrators and other roles that rely heavily on scripting skills
QA
Our QA tasks tackle real-life problems, allowing candidates to showcase their experience in everyday tasks. In these tasks, we ask the candidate to apply the knowledge of testing frameworks, such as Selenium, Cucumber, or Mocha to solve an everyday QA problem. Our QA tasks are available in Java, JavaScript, Python, C#, Robot Framework, and more. They are also scored in an unusual way, you can read more about it here. Depending on the stack your QA engineers are using, we recommend pairing one of these QA tasks with a Coding task in the same language.
PROBLEM-SOLVING SKILLS:
5-Minutes
Designed to help you get a reliable signal about candidates' technical capabilities without taking too much of their time.
We recommend using 5 Minute Tasks in pairs or triplets to ensure you get a rounded view of your candidate's technical skills or in combination with a knowledge-based multiple-choice question.
- How they're scored: Automatically for correctness.
- What they're good for: if you need a shorter screening assessment or if you're in a time crunch and need a reliable signal, quickly.
Algorithmic
These tasks are designed to assess a candidate’s ability to write code that is not only correct but also optimized. Codility calculates time and space complexity for selected submitted solutions.
- How it’s scored: We measure for the correctness and also performance - how fast the solution runs with big data sets. We measure time, space, both, or neither. Coding style can also be assessed for limited languages.
- What it’s good for: These tasks are great if you want to measure correctness, performance, and style simultaneously.
Business Context
These tasks are designed to assess candidates' coding skills in a themed task, that can be closely related to your industry. There are many subcategories and tasks to choose from in order to find the tasks that suit you best.
- How it’s scored: Only correctness is measured. Some tasks may be testing performance too.
- What it’s good for: These tasks are great if you want to have a better understanding of your candidates' skills because they're more deeply connected to real context.
Bug-fixing
In real life, candidates will need to review and fix the buggy code. With Bug-fixing Tasks, candidates get a snippet of code that is working but gives the wrong output for the test cases. The objective is to change (at most 2-3 lines of code depending on the task) the code so that it gives the right output for the test cases.
- How it’s scored: We measure correctness to test whether the candidate's bug-fixing changes properly correct the solution.
- What it’s good for: These tasks are great for testing Quality Assurance or test engineer candidates. They can also be used if someone wants to check performance in a Test Driven Development environment.
Coding
These tasks assess a candidate’s coding ability. The candidate only has to arrive at the solution. It doesn’t matter if the code is optimized or fast because these tasks are only graded for correctness.
- How it’s scored: Correctness is verified by at least 6 test case groups. Coding style can also be assessed for limited languages.
- What it’s good for: The bread and butter of our tasks. Get a sense of how well candidates can code in their preferred language.
Developer Thinking
Developer thinking tasks will help you find people that have the predisposition to become good programmers. People who display skills in Developer Thinking have the potential to become programmers and are great candidates for internal mobility and training programs aimed to upskill existing employees and offer them new opportunities internally.
Multi-Stage
These tasks assess a candidate's coding ability as well. The difference between a multi-stage and a regular coding task is that multi-stage tasks are broken down into several sub-tasks that increase in difficulty. This way, multi-stage tasks give more opportunities to receive a partial score, are more engaging, and simulate software development's iterative nature. They are also well-suited for assessing senior technical roles.
Regex
Regular Expression Tasks check for candidates' ability to write text strings to search for particular patterns. These tasks are shorter compared to other task types, requiring no more than a few lines of code. Regular Expression Tasks are perfect to use in conjunction with other coding questions from the Task Library.
- How they're scored: Regular Expression Tasks are automatically graded using Python's re.search. Correctness is verified by at least 8 test case groups.
- What they're good for: Regular Expression skills are core to every front-end and back-end developer. These tasks show how well candidates can write search patterns in their code.
SQL
These tasks assess a candidate’s SQL skills. Codility Supports PostgreSQL as well as SQLite.
- How it’s scored: We measure correctness.
- What it’s good for: Great for any developer who has to write database queries or possess basic SQL knowledge.
Web
These tasks mainly test front-end candidates' JavaScript skills, but they can also use Jquery to arrive at their solution. Web Tasks focus on typical front-end developer skills like communicating with the backend, handling asynchronous jobs in JavaScript, and injecting responses into HTML pages.
- How it’s scored: They’re scored based on correctness and in some cases, performance as well.
- What it’s good for: Great way to assess how good a candidate is at using APIs (Fetch API, XMLHttpRequest).
TECHNICAL KNOWLEDGE:
Multiple Choice Questions
Codility offers out-of-the-box Multiple Choice Questions that test for candidates' knowledge of Git, Data Science, Java and the Java-based framework, Spring and more
- How they're scored: Each Multiple Choice Question set includes 10 questions around the subject that are automatically scored and their result is shown on the candidate report card.
- What it's good for: When you want to test a candidate's knowledge base on a specific topic quickly and succinctly.
Multiple Response Questions
MRQ Tasks are very similar to Multiple Choice Questions. The difference is that these tasks allow having as many correct responses as needed, from zero to all of them. This means that they will be naturally harder for the candidates as guessing the correct answer will be much harder.
YOUR EXCLUSIVE LIBRARY:
Codility also gives you your own exclusive library where you can create your own tasks exclusive to your account. To learn more about how to create exclusive tasks, check out the full article here.
CODILITY TRAINING LIBRARY:
Codility has a special library reserved for training. To learn more about how to use Codility for employees, check out the full article here.
If you have any questions about our Task Library or would like to check what additional tasks may be on offer for you, please contact us at support@codility.com and we'll be happy to help.