Canva Coding Interview Questions
25 Canva coding interview problems with full optimal solutions — 16 easy, 8 medium, 1 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Canva interviewer values, and a FAQ section.
Showing 16 problems of 25
- #70easyfoundational
70. Climbing Stairs
Count distinct ways to climb n steps taking 1 or 2 steps at a time — Canva uses this classic DP warmup to check whether you recognize the Fibonacci recurrence and can articulate memoization vs. bottom-up tabulation before the harder design-system problems.
- #121easyfoundational
121. Best Time to Buy and Sell Stock
Find the maximum profit from a single buy-then-sell in a price array — Canva uses this single-pass sliding-minimum problem to confirm you can reason about 'running state' before handing you their real canvas-rendering performance metrics.
- #125easyfoundational
125. Valid Palindrome
Check whether a string reads the same forward and backward after stripping non-alphanumeric characters — Canva uses this two-pointer warmup to assess how you handle real-world messy string input before asking you to parse SVG path commands.
- #1easyfoundational
1. Two Sum
Find two indices whose values sum to a target — Canva uses this as a warmup to gauge how you reach for the right data structure on canvas-element lookups.
- #2easyfoundational
2. Valid Parentheses
Determine if a string of brackets is balanced — Canva uses this to test how you reason about stack-based parsing for nested layer trees.
- #3easyfoundational
3. Merge Two Sorted Lists
Merge two sorted linked lists into one — Canva uses this to test pointer hygiene and stable ordering, mirroring how template content streams are merged.
- #4easyfoundational
4. Remove Duplicates from Sorted Array
Compact a sorted array in place by removing duplicates — Canva uses this to evaluate two-pointer reasoning relevant to deduping asset-IDs in a design.
- #5easyfoundational
5. Remove Element
Remove all occurrences of a value in place — Canva uses this to test how cleanly you mutate arrays, like removing deleted layers from a render queue.
- #6easyfoundational
6. Search Insert Position
Find where to insert a value in a sorted array — Canva tests this to see if you reach for binary search on ordered z-index lists.
- #7easyfoundational
7. Plus One
Increment a number represented as a digit array — Canva uses this to gauge how you handle carries and array growth, similar to incrementing canvas page numbers.
- #8easyfoundational
8. Merge Sorted Array
Merge two sorted arrays in place — Canva uses this to test whether you can avoid scratch buffers when combining template asset lists.
- #9easyfoundational
9. Binary Tree Inorder Traversal
Return inorder traversal values of a binary tree — Canva uses this to check that you can walk tree structures, which mirror nested layer hierarchies.
- #10easyfoundational
10. Same Tree
Decide if two binary trees are structurally and value-equal — Canva uses this to test recursion hygiene around shape comparisons in template trees.
- #11easyfoundational
11. Symmetric Tree
Check whether a binary tree is a mirror of itself — Canva uses this to gauge how clearly you reason about mirrored layer compositions.
- #12easyfoundational
12. Maximum Depth of Binary Tree
Find the maximum depth of a binary tree — Canva uses this to verify simple recursion sense around bounding deeply nested group depth.
- #13easyfoundational
13. Balanced Binary Tree
Decide whether a binary tree is height-balanced — Canva uses this to test bottom-up recursion versus naive top-down recomputation.