Canva OA 題型&備考全指南|獨家真題還原+上岸經驗分享

1,150Views

最近幫學員輔導 Canva OA,才發現這家設計軟體巨頭的技術崗筆試也越來越“卷”了。 不僅考察演算法,還融合了邏輯推理、實際開發理解,完全不是簡單刷幾道 LeetCode 就能搞定的。 這篇就來給大家全方位拆解 Canva OA 流程、出題風格、真題例子 + 助攻經驗。

Canva OA 题型&备考全指南|独家真题还原+上岸经验分享

Canva 線上評估流程概覽

Canva 的技術崗 OA(Online Assessment)流程在我們輔導的眾多學員中被普遍評價為“重視邏輯+代碼品質”的類型,整體偏向中等偏上難度,不是那種刷題刷熟就能輕鬆過的風格。

整個測試一般會控制在 75 到 90 分鐘之間,題目形式較為多樣,通常包括演算法程式設計題、邏輯推理題、Debug 或代碼理解題,有時還會附帶一道系統建模或簡易系統設計題。 平臺方面多用 Codility 或 HackerRank,支援主流語言如 Python、Java、C++,也有部分崗位提供 JavaScript 環境。

演算法題部分佔據 OA 的核心位置,題量為 2~3 道,主要考查字串處理、陣列操作、矩陣遍歷、滑動視窗等典型題型,但題目通常會包裝成偏業務場景的形式,例如“用戶行為統計”、“推薦邏輯類比”等。 Canva 比較重視工程風格,代碼結構清晰、變數命名合理是加分項。

邏輯推理題一般為選擇題或判斷題,偏認知類,形式可能是圖表、規則組合、流程分析等,有點像簡化版 GMAT 或 IQ 測試,但不需要太深的數學背景,重在細心讀題 + 條件拆解能力。

Debug 題或者代碼理解題也經常出現,會給出一段存在問題的代碼,要求找出錯誤或預測輸出。 這部分更像是在類比你入職后維護他人代碼的能力,能快速理清邏輯、分析邊界情況是關鍵。

部分崗位(特別是後端和數據崗)可能還會考你一個小型建模或系統設計題目,比如給你一個業務場景,讓你設計數據結構或寫偽代碼實現邏輯,不需要完整實現,但考的是你的架構思路和邏輯條理。

整體來看,Canva 的 OA 更偏實際開發場景而不是純演算法堆砌,答題時建議注重代碼可讀性、輸出格式規範,以及測試覆蓋率。 也有不少同學反饋時間分配比較緊湊,建議提前做好模擬訓練,確保能穩定輸出。

真題回憶 + 解題思路

我們一位上岸 Canva 的學員回憶了自己的 OA 真題,供大家參考:

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 ofvarying 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:

  1. She identifies the lightest remaining can, with weight w
  2. She uses the scooper to pick up that can along with its two adjacent cans (or fewer if at the edge)
  3. 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 theavailable 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

Returns
int: 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, 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:

  1. x and y are not already friends
  2. x and y have the maximum number of common friends (friends that both x and y are connected to)
  3. 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 used 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

Returns
long_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  

常見問題:Canva OA 常見問題

Q1:Canva OA 有幾道題? 難度如何?
通常有 2~3 道程式設計題 + 少量選擇題。 程式設計題的難度在 LeetCode Medium 偏上,重視代碼品質和工程風格,個別崗位可能出現難題。

Q2:支援哪些程式設計語言? 能在本地寫嗎?
Canva 一般使用 HackerRank 或 Codility,支援常見語言如 Python、Java、C++ 等。 考試必須在平臺上完成,支援基本的測試和 debug 功能,不建議複製粘貼本地代碼。

Q3:時間夠用嗎? 會卡住怎麼辦?
整體時間偏緊,特別是遇到設計題或邏輯題時建議先跳過難題,確保能拿下基礎分數。 如果擔心現場發揮不穩,也可以提前安排 Programhelp 的模擬訓練或實時輔助服務。

Q4:非演算法崗也要做 OA 嗎?
需要。 Canva 不同崗位(前端、後端、數據、SWE)都有 OA 環節,題目類型會略有不同,比如前端更偏實現,數據崗可能會考 SQL 或統計推理。

Q5:什麼時候能知道結果? 多久後安排下一輪?
通過 OA 后,一般 3~5 個工作日內會收到下一輪通知,主要看 HR 跟進節奏。 沒有通過通常不發通知,但也不代表你表現差,Canva 有時篩人比較謹慎。

Programhelp 助你無痕搞定 Canva OA

Canva OA 高頻題庫整理 + 模擬演練:幫你熟悉題型和出題邏輯,打好提前量

OA 遠端即時協助 / 無痕代寫服務:專業工程師團隊遠端協作,確保代碼高品質提交,風格統一、通過率高

平臺適配 + 風險規避方案:熟悉 Codility / HackerRank 環境,確保過程自然、不留痕跡

技術面試 & 簡歷優化輔導:通過 OA 後可繼續安排 VO 輔導,覆蓋專案包裝 + 行為面試話術

我們已協助多位同學順利通過 Canva、Atlassian、Airbnb 等澳洲獨角獸的 OA 和面試流程,服務流程嚴謹可靠,全程保密。 如果你也在準備 Canva OA,擔心時間緊、難度高、沒把握 —— 隨時歡迎私信我們了解詳情!

author avatar
Jack Xu MLE | 微軟人工智慧技術人員
Princeton University博士,人在海外,曾在谷歌、蘋果等多家大廠工作。深度學習NLP方向擁有多篇SCI,機器學習方向擁有Github千星⭐️專案。
END