I applied online. The process took 3 weeks. I interviewed at Canva (Sydney) in May 2023
Interview
The initial meeting with the recruiter caught me off guard as they unexpectedly presented a JavaScript question without prior notice. Fortunately, I was able to pass the first meeting and proceeded to the first interview. However, I ultimately failed because the recruiter's recommendation was completely inaccurate. The recruiter advised me to heavily focus on asynchronous JavaScript, so I dedicated almost a full day of studying and even took a day off from my current job to prepare. To my surprise, the coding challenge during the interview involved creating a Sudoku game using vanilla JS and CSS. Since I had been overly focused on asynchronous code, I hadn't prepared much for this specific task. Although I believed I could get the ball rolling with some guidance and support from the recruiter, overall it wasn't too terrible. When they informed me that I didn't proceed to the next round, I requested feedback, but they didn't bother responding. It's extremely disappointing, and I wouldn't recommend anyone to apply to this company.
Interview questions [1]
Question 1
Initial Meeting with Recruiter: They asked several JS questions: 1. What is the diff between var , let and const modifiers? 2. In JS what happens if you call setTimeout with delay of 0? will the call back function be executed immediately, like right at the setTimeout call? 3. If you have 1000 HTTP request that you need to send from a single client to a single backend service as quickly as possible, how do you do it and what problems you will encounter? 4. Tell me what this code is doing: function (a, b) { return a % b === 0 } 5. Same thing: function (arr) { return new Set(arr).size; } 5. Same thing: function (paragraph) { return Math.max(...paragraph.split(' ').map(s => s.length) } 6. same thing: function (arr) { const m = new Map(); for (let i = 0 ; i < arr.length; i++) { let num = m.get(arr[i]) || 0; m.set(arr[i], num + 1); } return m; } Input: [1,1,5,6], what do you expect to be thrown out of this function? 7. same thing: function (promises) { let arr = []; let fn; promises.forEach(p => { p.then(v => { arr.push(v); arr.length === 10 && fn(arr; }) }) return new Promise(r => fn = r) } First Coding Interview: make a Sudoku game using HTML, CSS, Vanilla JS
Surprisingly long process with 4 stages in total including 3 interviews and a take home challenge that took a few hours to complete. Pretty informal and can be fun if you make it fun.
Initial screening with recruiter Introductory interview with team Take home task - multiple parts for technical and culture fit Present task to team plus senior member and additional interview questions about career history
Interview questions [1]
Question 1
How would you change your presentation for a different senior stakeholder