Recently tutored students Canva OA, only to find that the design software giant's technical written examination is also more and more "volume". Not only examining algorithms, but also the integration of logical reasoning, practical development understanding, not simply brush a few LeetCode can be fixed. In this article, we will give you an all-round disassembly of Canva OA process, question style, examples of real questions + experience in assisting.

Canva Online Assessment Process Overview
Canva's OA (Online Assessment) process for technical positions is generally evaluated as a "logic + code quality" type among the many students we've coached, and the overall difficulty level is on the upper end of the medium range, so it's not the kind of style that can be easily passed by brushing up on the questions.
The test is usually 75 to 90 minutes long, with a variety of questions, including algorithmic programming questions, logical reasoning questions, debug or code comprehension questions, and sometimes a system modeling or simple system design question. The platform is mostly Codility or HackerRank, and supports mainstream languages such as Python, Java, C++, and some jobs provide JavaScript environment.
Algorithmic questions occupy the core position of OA, with 2~3 questions, mainly examining string processing, array operation, matrix traversal, sliding window and other typical questions, but the questions are usually packaged in the form of business scenarios, such as "user behavior statistics", "recommendation logic simulation", etc. Canva pays more attention to engineering style, and clear code structure and reasonable naming of variables are a plus. "Canva pays more attention to engineering style, clear code structure and reasonable variable naming are a plus.
Logical reasoning questions are generally multiple choice or judgment questions, cognitive, in the form of charts, rule combinations, process analysis, etc., a bit like a simplified version of the GMAT or IQ test, but do not require a deep mathematical background, focusing on the careful reading of the question + the ability to break down the conditions.
Debug questions or code comprehension questions are also common, where a piece of faulty code is given and you are asked to identify the error or predict the output. This section is more of a simulation of your ability to maintain other people's code once you are on the job, and being able to quickly make sense of the logic and analyze boundary situations is key.
Some positions (especially back-end and data positions) may also test you a small modeling or system design topics, such as giving you a business scenario, let you design data structures or write pseudo-code to implement the logic, do not need to be a complete implementation, but the test is your architectural ideas and logical organization.
On the whole, Canva's OA is more oriented towards practical development scenarios rather than pure algorithm stacking, and it is recommended to focus on code readability, output format specification, and test coverage when answering the questions. A lot of students also feedback that the time allocation is relatively tight, it is recommended to do simulation training in advance to ensure stable output.
Recollection of real questions + solution ideas
One of our students who landed in Canva recalled his OA questions for your reference:
1. Women in STEM Charity
Stacey is coordinating a beach clean-up event with her university's Women in STEM Charity branch. The beach is covered with tin cans of varying weights arranged in a single line, indexed from 0 to n-1.
Stacey uses a scooper that can pick up three adjacent cans at a time. for each selection:
- She identifies the lightest remaining can, with weight w
- She uses the scooper to pick up that can along with its two adjacent cans (or fewer if at the edge)
- She continues this process until there are no cans left on the beach
If multiple cans have the lightest weight, Stacey selects the one with the smallest index. If a can has fewer than two adjacent cans, she removes the available adjacent cans. available adjacent cans.
Determine the sum of the weights of the lightest cans she picks in each selection.
Example
Let there be n = 5 cans on the beach with weights represented by cans = [5, 4, 1, 3, 2].
First, choose the minimum weight, i.e., 1, and add that weight to the total. The cans with weights 4, 1, and 3 are removed. The array of cans is now [5, 2].
Then, choose the minimum weight, i.e., 2, and add that weight to the total. The cans with weights 2 and 5 are removed, and there are no more cans on the beach.
Hence, the total is 1 + 2 = 3.
Function Description
Complete the function findTotalWeight in the editor with the following parameters:
int cans[n]: the weights of the cans on the beach
Returnsint: the sum of the minimum-weight cans at each selection
Constraints
3 ≤ length of cans ≤ 2000
1 ≤ cans[i] ≤ 10⁵
Input Format For Custom Testing
(Section shown but content cut off, likely for sample inputs)
2. Social Media Suggestions
Implement a prototype of a friend recommendation system for a social media application.
There are n users indexed from 0 to n-1, and m friendships are represented as a 2d array, which is a 2d array. friendships, where the i-th friendship is a connection between users friendships[i][0] And friendships[i][1].
A user x is suggested as a friend to user y if:
- x and y are not already friends
- x and y have the maximum number of common friends (friends that both x and y are connected to)
- If multiple users satisfy conditions 1 and 2, the user with the minimum index is recommended
Given n and friendships, for each of the n users, find the index of the friend that should be recommended to them. If there is no recommendation available, report -1.
Example
Suppose n = 5, m = 5, and connections = [[0, 1], [0, 2], [1, 3], [2, 3], [3, 4]]
| User | Max Common Friends With | Recommendation |
|---|---|---|
| 0 | 3 (1, 2) | 3 |
| 1 | 2 (0, 3) | 2 |
| 2 | 1 (0, 3) | 1 |
| 3 | 0 (1, 2) | 0 |
| 4 | 2 (3), 1 (3) | 1 (minimum index) |
Hence the answer returned is [3, 2, 1, 0, 1].
3. Element Swapping
A software development firm is hiring engineers and uses the following challenge in its online test.
Given an array arr that contains integers, the following operation can be performed on it any number of times (possibly zero):
Choose any index i (0 ≤ i < n - 1) and swap arr[i] And arr[i + 1].
Each element of the array can be swapped at most once during the whole process.
The strength of an index i is defined as (arr[i] * (i + 1)), using 0-based indexing. Find the maximum possible sum of the strength of all indices after optimal swaps. Mathematically, maximize the following:
∑I=0N-1 arr[I]×(I+1)
Example
Consider n = 4, arr = [2, 1, 4, 3].
It is optimal to swap (arr[2], arr[3]) and (arr[0], arr[1]). The final array is [1, 2, 3, 4]. The sum of strengths = (1 * 1 + 2 * 2 + 3 * 3 + 4 * 4) = 30, which is maximum possible. Thus, the answer is 30.
Function Description
Complete the function getMaximumSumOfStrengths in the editor below.
getMaximumSumOfStrengths has the following parameter:
int arr[n]: the initial array
Returnslong_int: the maximum possible sum of strengths of all indices after the operations are applied optimally
Constraints
1 ≤ n ≤ 10⁵
1 ≤ arr[i] ≤ 10⁵
Input Format For Custom Testing
The first line contains an integer, n, that denotes the number of elements in arr.
Each line i of the n subsequent lines (where 0 ≤ i < n) contains an integer that describes arr[i].
5
1
9
7
3
2
FAQ: Canva OA Frequently Asked Questions
Q1: How many questions are there in Canva OA? How difficult is it?
There are usually 2-3 programming questions + a few multiple choice questions. Programming questions are on the upper end of the LeetCode Medium range of difficulty, emphasizing code quality and engineering style, and may be difficult for individual positions.
Q2: What programming languages are supported? Can I write locally?
Canva generally uses HackerRank or Codility, and supports common languages such as Python, Java, C++, and so on. Exams must be done on the platform, support basic testing and debugging, and copy and paste of native code is not recommended.
Q3: Is it enough time? What if it gets stuck?
Overall time is tight, especially when encountering design or logic questions, it is recommended to skip the difficult questions first to ensure that you can get the basic score. If you are worried that you may not be able to perform well on the spot, you can also arrange for Programhelp's simulation training or real-time assistance service in advance.
Q4:Do I need to do OA for non-algorithmic posts?
Required.Canva has OA sessions for different positions (front-end, back-end, data, SWE) and the types of questions will be slightly different, e.g. front-end is more implementation oriented, data positions may test SQL or statistical reasoning.
Q5: When will I know the result? How long will it take to schedule the next round?
After you pass the OA, you will usually receive the next round of notification within 3~5 working days, it depends on the pace of HR follow up. If you don't pass the OA, you usually won't be notified, but it doesn't mean your performance is poor, Canva is sometimes more cautious in screening people.
Programhelp Helping you get Canva OA without a trace
Canva OA High Frequency Questions + Practice Drills: To help you familiarize yourself with the question types and question logic, and to get ahead of the game.
OA Remote Real-Time Assistance / No-Trace Ghostwriting Service: Remote collaboration with a team of professional engineers to ensure high-quality code submissions, uniform style and high pass rates
Platform Adaptation + Risk Avoidance Programs: Familiarize yourself with the Codility / HackerRank environment to ensure a natural and seamless process.
Technical Interview & Resume Optimization Coaching: VO coaching can be arranged after passing OA, covering project packaging + behavioral interviewing techniques
We have assisted many students to successfully pass the OA and interview process of Canva, Atlassian, Airbnb and other Australian unicorns, and our service process is rigorous, reliable and confidential. If you are also preparing for Canva OA, and are worried about the time constraint, difficulty and uncertainty -- feel free to contact us for details!