There were two stages of asynchronous knowledge assessments. The first was very general, about basic software development concepts, mostly multiple choice. The second was more about algorithms that you could run locally on tests provided by the employer. They were both timed. If you did well enough on the first, you were able to take the second, and same with the third, which was a remote interview where they come with two coding problems prepared. You will share a screen with them and show them the code that you right. Code does not have to be picture perfect, but you do have to show your understanding of the problem and the solution and stick to the right syntax of the language that you provide.