First was a phone screening with a recruiter. We chatted about my current role, why I wanted to leave, what was the most important thing I was looking for in my next job then I asked a few questions.
Next was an in-person, hour long chat with their Director of Engineering (Brian). This was an awesome experience as he is a very pleasant guy to talk to. It more like a conversation than an interview, he talked a bit then I told him what I thought, sometimes I'd ask a question and we'd go back and forth on that topic. I mentioned that I wanted to work on web apps but since I didn't have much experience he suggested continuing to interview for the web dev team then move to web apps gradually after a year or so.
After that, they sent me a timed Codility test to do at home. I found it to be the perfect level of difficulty. There were some multiple choice questions but mostly coding (I used JS).
The last stage I made it to was an in-person interview with 2 senior engineers. They gave me a wireframe of a site and spent about an hour going through various parts of the site, asking me how I'd build it, what platform I'd use and exploring my potential solutions.