I applied through a recruiter. The process took four weeks.
It was an excellent process mostly. The first interview was a screening. They asked about general experience.
The next interview was a technical test, which could be take-home. I appreciated that explaining my code was much easier than writing a solution on the day. It is worth writing it completely yourself and avoiding AI generating the code so you can explain it and have a deep understanding during the review.
The behavioral interview went really well, using classic STAR principles to go over what you improved. The interviewers were fantastic and asked good questions. They allowed me to have notes and prompts, which helped me answer efficiently and meet all my points.
System design was a real problem for me. If you go online and try to prep for this, you'll find "hello interview", which will consistently show billions in data volume. This is not the correct path for this interview. I was caught off guard when the volume was actually millions, which is a different problem. My prep was basically useless, as you don't really need much in terms of actual systems, since most problems are a server plus a DB. Given my prep was incorrect, I had a tough time course-correcting.
There was a strange question around DynamoDB's GSI. I guess my explanation wasn't enough, so try to stick to technologies that the interviewers will be familiar with, else it'll hurt your chances. After the interview, I went back and tried again, and I managed to get a good solution in fifteen minutes, admittedly without follow-up questions. It is worth trying not to worry too much about the interviewers' responses here. I noticed I wasn't going to get through early on, and that made it difficult to recover.
The interviewers you get vary massively in effectiveness. I'd say in two out of the three interviews the interviewers were to the point and didn't reveal much about how I was doing, while the third was a bit of an anxiety-inducing experience. So go in with good prep on millions, not billions, and get the solution done quickly. It doesn't seem to matter if the solution works or not, and it is more to do with communication and getting good data forms.
Question 1: Build a web crawler and think about concurrency.
Question 2: Find the top N of songs from millions of options.
The following metrics were computed from 30 interview experiences for the Monzo Senior Software Engineer role.
Monzo's interview process for their Senior Software Engineer roles is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Monzo's Senior Software Engineer interview process.