Skip to main content

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 25 problems of 25

  • #48mediumfoundational

    48. Rotate Image

    Rotate an n×n matrix 90 degrees clockwise in-place — Canva reaches for this to see whether you can decompose a 2D coordinate transform into the transpose-then-reflect steps their canvas rotation engine uses under the hood.

  • #54mediumfoundational

    54. Spiral Matrix

    Traverse an m×n matrix in spiral order and return every element — Canva asks this to probe boundary-management discipline, the same discipline needed to correctly clip rendering passes to the visible canvas viewport.

  • #56mediumfoundational

    56. Merge Intervals

    Merge all overlapping intervals into the fewest non-overlapping ones — Canva's timeline editor collapses overlapping animation keyframe ranges using exactly this pattern, so expect it early in a phone screen.

  • #57mediumfoundational

    57. Insert Interval

    Insert a new interval into a sorted, non-overlapping list and merge as needed — Canva's animation timeline must splice new keyframe ranges into an existing schedule without disruption, making this a direct analogue to production code.

  • #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.

  • #73mediumfoundational

    73. Set Matrix Zeroes

    Zero out entire rows and columns wherever a zero appears — Canva uses this to test in-place mutation discipline, mirroring how their grid-layout engine propagates empty-cell constraints without allocating a second matrix.

  • #79mediumfoundational

    79. Word Search

    Determine whether a word exists as a connected path of adjacent letters in a character grid — Canva uses grid-backtracking problems to evaluate candidates who will work on spatially-aware features like auto-snapping, object search, and canvas hit-testing.

  • #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.

  • #146hardfoundational

    146. LRU Cache

    Design a Least Recently Used cache with O(1) get and put — Canva's image and font rendering pipeline uses LRU eviction to cap memory on large canvases, making this a direct system-design-in-code test you'll likely see in a senior loop.

  • #200mediumfoundational

    200. Number of Islands

    Count connected regions of '1's in a binary grid — Canva applies connected-component logic to detect isolated element groups on a canvas, making this a strong signal for how you think about spatial partitioning in a design editor.

  • #207mediumfoundational

    207. Course Schedule

    Detect whether a set of course prerequisites forms a cycle — Canva applies topological-sort cycle detection to their layer-dependency graph, where circular element references would cause infinite render loops in their design engine.

  • #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.

  • #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.

  • #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.

Canva Coding Interview Questions — Full Solutions — InterviewChamp.AI