Miro logo

Miro Frontend Engineer Interview Questions
& Process

Real candidates share what happened, how many rounds they had,
and how the experience turned out.

Based on 20 interview experiences · FREE TO READ

4 Rounds average
Average Typical difficulty
55% Positive experience

Candidate interview experiences

First-hand accounts from people who interviewed at Miro.

Showing 3 of 20
Miro logo
Miro

Frontend Developer

Engineering · more than a year ago

Entry Average Negative experience No offer 3 rounds
Interview process
Recruiter call Technical screen Onsite
Interview formats
Coding System Design

First, I had a recruiter round where two recruiters were super helpful and gave me all the info I needed. Then, there was a coding round, which was a medium Leetcode problem. I didn't get much help when I asked questions. It was okay overall. After that, I had a design round. The question was to design a piece of Miro, which they were clearly already biased towards. They barely worked with me on my proposed solution. The interviewers seemed more focused on their paychecks than the product. I noticed bad teamwork and passive-aggressive behavior. It's been two weeks and I haven't heard back, so I guess they just ghost you if you don't pass.

Confirmed questions2 questions
  • Was there a Leetcode medium problem?
  • Can you describe the system design for a Miro board with core functions like text, image, and post-its, supporting multiple collaborators?
Miro logo
Miro

Senior Frontend Engineer

Engineering

Senior Average Negative experience Decline offer 5 rounds
Interview process
Recruiter call Technical screen Technical screen Technical screen Technical screen
Interview formats
Coding System Design Behavioral

I'd recommend reading this genuine review and saving your time. The process is hay-wired, don't waste your time. The stages were: 1- HR call 2- Live coding 3- System design 4- Team round 5- Engineering manager. The HR call was a normal chat about the position and my experience. In the Live coding round, I was asked a really trivial question about promises, specifically coding an event loop. I found it pretty easy. The interviewer said it wasn't scalable even though he found no mistakes in my solution, and when I asked him to elaborate so I could show him how it would scale, he just stayed silent. For System design, I was asked to design something like Miro, a real-time collaborative whiteboard. It was a huge problem with many dimensions to solve in just an hour, and the interviewers kept jumping from one topic to another, which felt like a complete waste of time. The Team round involved discussing my past experiences and projects. The Engineering manager asked mostly behavioral questions, like 'Tell me about a time when...'

Confirmed questions3 questions
  • Can you code an event loop related to promises?
  • How would you design a real-time collaborative whiteboard like Miro?
  • Tell me about a time when...
Miro logo
Miro

Frontend Software Engineer

Engineering

Mid Average Positive experience No offer 5 rounds
Interview process
Recruiter call Technical screen Technical screen Group Phone screen Offer
Interview formats
Coding System Design Behavioral

Miro's hiring process is pretty standard. First, you'll chat with HR about your background and why you're interested. Then, there's a live coding test to see how you handle technical problems. After that, you'll have a system design interview to check out your architectural skills. Then you'll meet the team to make sure you're a good fit culture-wise. Finally, the hiring manager will talk with you about the role and your expectations before they extend an offer if everything checks out.

Confirmed questions2 questions
  • Can you give a brief summary of your professional background?
  • Write code for an AsyncTaskQueue that handles concurrency and runs tasks efficiently.

Miro Frontend Engineer Interview Questions

Quoted word for word from Miro interview reports.

Given a Runner class that takes a concurrency limit, implement the add method to queue and execute tasks, respecting the concurrency limit.

Read reports

Write code for an AsyncTaskQueue that handles concurrency and runs tasks efficiently.

Read reports

Given the `taskRunner` with an `add` method, and a helper `logAfterDelay` function that takes a string and returns a promise resolving after a 2-second timeout, simulate adding multiple tasks with different delay logs (e.g., 'Delayed by 4', 'Delayed by 6'). The tasks should be added sequentially. Also, utilize the `getDelay` helper function which calculates the elapsed time since `startingTime` to log the actual delay in seconds within the `setTimeout` callback.

Read reports

How does JavaScript output work with string manipulation?

Read report

Can you explain JavaScript output related to closures?

Read report

Formats, difficulty and experience

Across all 20 Miro interview reports.

Interview formats

Behavioral 29.3%
Coding 27.6%
System Design 24.1%
Technical 17.2%
Presentation 1.7%

Interview difficulty

Easy 5%
Average 70%
Difficult 25%

Candidate experience

Positive 55%
Neutral 25%
Negative 20%