I applied online. The process took 5 weeks. I interviewed at Canva (Sydney) in Feb 2016
Interview
I applied online and got a call from the recruiter to chat about my current position, my future goals and to chat about Canva and the role. You'll be given a homework assignment to complete and submit in your own time. If your code looks good (i.e. well architected, high performance, clean code, etc), you'll get through to the in-person interview. This involves being interviewed by 2 engineers, who asked me to extend my code in various ways in front of them (live coding). The next stage was another round where I was interviewed by another 2 engineers. They asked me to write some tests and explain the reasons behind the structure of me code, and how I could improve its performance.
Interview questions [1]
Question 1
Why did you architect your code this way? How could you improve performance? How could you make it more testable? How could you test the rendering code in a way that would make you confident in its correctness?
I applied through a staffing agency. The process took 1+ week. I interviewed at Canva (Sydney) in Apr 2016
Interview
First talked with a recruiter. Then they gave an take home assignment. Next we had a video call where they asked me to extend and explain my assignment.
I really enjoyed this interview. The assignment is very well thought through and can be extended in many ways. They also send me detailed code review notes on my assignment. Which where very constructive and helpful.
Everyone I talked to was very excited about me and the company. I would definitely recommend them.
I applied online. I interviewed at Canva (Sydney) in Sep 2015
Interview
First part is a phone call to get a sense of who you are and what your interests are. Then you'll be asked to complete a programming challenge at home. It's an excellent challenge, it covers a lot of different aspects of javascript development and graphics programming. If you're successful with the challenge then you'll be invited to lunch followed by 2 onsite interviews, one after the other -- for a total of 4 hours.
The first onsite interview will be with 2 engineers and they will probe to get an understanding of the particulars of your challenge and why you took certain approaches. They will ask you to modify your code to achieve different results.
The second interview will be with 2 engineers who will ask high level questions about the way you solve problems. They aren't as concerned with the particulars of your work, they are more interested in patterns. You should be familiar with principles of modularity, dependency injection, unit testing and computational complexity.
Be sure to keep yourself energised through out the 4 hours because it can be exhausting. Have fun with it, and share your passions and interests.