I applied online with a resume and a cover letter, and a couple of days later they reached me out and we scheduled an interview with the CTO. I had a 30 min remote call with him and it was basically an HR interview where we got to know each other better -- and I got to know the company better as well. He asked me my salary expectation in the end of the interview and told me I'd probably get a code challenge in the next few days.
A couple of days later they sent me the code challenge. They say you can spend as much time as you want (you decide the deadline), but that they don't expect you to spend more than 4 hours on it. I definitely spent more than 4 hours, but I really did my best on every single aspect of it -- I actually enjoyed their challenge so I took my time.
A few days later they contacted me again saying that I made it to the next round, and since they had a really positive feeling, they'd like to skip the technical interview and invite me directly for the onsite interviews. We scheduled a day and I went to Berlin (I paid for the expenses and got a refund later).
I spent most part of a day in their office. It started with a 3 hours long pair programming with two other Android devs. I actually got to work on their code base, and it was a nice experience -- everyone was super friendly and after a few minutes I wasn't nervous at all. Then I had a pleasant lunch with the Android team (they bought my lunch according to my diet restrictions!) and had 3 more interviews, 45 minutes each, and each one of them with someone from a different area: design, product, and backend. They all had different interview styles, but none of them asked annoying or tricky questions, all of the interviews would always turn into an interesting conversation.
Overall, the process was super fast and very pleasant. It definitely helped me deciding to join them in the end.