The process was long, but quite diligent, with quick communication from the recruiting team.
The first was a typical recruiter screen. After that, there was a one-hour session with one of their developers, where I was asked to describe one of my past work projects.
Then you have a choice: a take-home assignment or a pair coding session. I went for the take-home, and after that, I had another one-hour call with an engineer where we went through my solution. I was asked to explain certain decisions, how I'd change things if requirements changed, and how the system handles faults.
After that, you are scheduled for a one-on-one with your lead recruiter, who will read to you the feedback you received during the first two sessions and also share some potential questions that will appear in the next stages.
System Design: Here, I highly suggest you listen to your interviewer's advice and read the DDIA book if you haven't done it before (or refresh yourself on it), as the interviewers will grill you about concurrency, consistency, and network faults. Also, a small tip: the system design task I received was very similar to a popular system design problem, but it had a big, notable change that made "the usual" solution not applicable (which other reviews here seem to have tripped over). Make sure you know how to design systems and not just memorize solutions from the web.
Behavioral Interview: It was fairly typical. Just make sure you are well prepared and get some fluency with the STAR framework (with the addition of reflection to show how you learned from your experience).
How could a mutex be implemented?
1 answer.
The following metrics were computed from 48 interview experiences for the Monzo Software Engineer role.
Monzo's interview process for their Software Engineer roles is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Monzo's Software Engineer interview process.