For me it was 3-step process: - Codility screening with 3 tasks for 120 minutes total (1 easy and 2 medium tasks, nothing really hard) - Live coding with engineer - coding a roughly specified problem where you're expected to ask questions to refine requirements, you are given an challenging engineering questions (high performance / concurrency) - Meeting with CTO & team lead / engineer - discussing previous experience in details, questions on why particular solution was chosen, engineering questions