The first stage was live coding which was not hard, but proposed 3 tasks, mostly oriented for checking your language skills, library knowledge and ability to use in certain cases. Even if the problems are easy, you have to explain every step, analyze and present several possible ideas at the moment. Second stage has checked the overall background knowledge in CS starting from low level staff like HTTP, TCP/UDP and REST principles and how these are related to each other. Then we went on discussing OOP principles with specific examples and ability to correlate to Design Patterns, Asked about relational DB knowledge and presented some practical task like why an issue might rise in certain case and how to properly index, what are the consequences and etc. Asked about DB vaccum! The most crazy thing after 2 hours of in-depth interview they asked to build some sort of a rocket. Like how would you approach building this rocket. In their own words, this is used to understand your ability to solve problems and general background.