There are 5 stages for this interview, interns and real applicants go through the same application process.
First you apply with your CV and cover letter, then if they find you suitable they send you a HackerRank test, which I scored 85%. You need to be good at algorithms and data structures to do well. If you score good enough they give you an HR interview on Skype. Thereafter comes the Tech interview which you talk about the HackerRank test, and your way of coming up with a solution.
If everything was well until this point, the last round is a face-to-face interview day at the company. They bring everyone to Amsterdam no matter what; paying for the flight & hotel stay at Amsterdam.
In the face to face interview day, there are a few sub interview parts, first there is a company tour, and then comes 2 CS interviews where they test your CS knowledge and way of thinking on problems that you are unfamiliar with. Then you eat with two developers working at the company and get a chance to ask questions. 4th part is a project deep dive interview where you talk in-depth about a project that you worked on and lastly there is another HR interview, where they ask you questions like "How was your day at Optiver?", "Do you want to work here?".
I have been rejected after all because despite doing well in all parts, they expected some hardware knowledge and apparently mine isn't enough. It surprised me at first that they expect SW engineers to know HW, but they have their own networks and you have to have a general understanding of how everything works, so it makes sense. Yet, my interviewers were coming from Electrical Engineering backgrounds, so I still believe that the questions were a bit biased towards that.
Overall, it was a great interview process, it was my first interview and they were very helpful.