Hiring process was split into 2 parts:
1. ~2h interview with team leader and HR.
I was asked to show a solution for two tasks – one algorithmic (I had to show my idea for a solution with estimated computational complexity) and one about designing a simple system. Then I could ask my questions about the project.
2. "Trial day"
I was working with the team for whole one day, I was presented two tasks, one to solve a bug in the code and one to discuss possible solutions. After finishing my tasks I had a brief talk with CTO about my career goals and if my goals fit with company's goals, also my english language skills were reviewed.
Everything took 8 days – from the first interview to final job offer.