I submitted my resume online, and was contacted two weeks later for an online challenge on codility. There were three questions, which were not difficult. However, it started with the most difficult questions, and I spent over thirty minutes on that and I started to panic cause I only had 90 minutes in total. I solved the first question perfectly, but with the second one, though being easier, I missed some edge cases. The third question was too simple (think of fizz-buzz), but due to my rush, I was so exhausted and I decided to submit the answer anyway (didn't realize my mistake in the second question until late).
Anyway, I thought I failed and wasn't expecting to hear from them anytime soon, but it turned out I did well enough and they moved me to the phone screening round. The first round was very simple - the engineer asked only basic questions and did some small coding. I was told then that they would do another round of phone interview - the questions weren't too difficult, and I stumbled a bit but I think I did very well.
Finally, they moved me forward to the onsite interview. As I'm based in Asia and the team in Edinburgh, they sent me to the Tokyo office and I did the interview with the virtual conferencing room there. The interview questions were standard - I also stumbled a bit but basically I managed fine. I was told of that they decided to extend an offer a week later