There are usually 3 stages. First one with a written tests. You can have 1 hour coding practise alone, and then discuss your code with another engineer. Second round is the face to face discussion about your previous experience and whiteboard session to draw some designs. Third round depends, you may meet with the C levels .