A recruiter contacted me through LinkedIn. I initially ignored the email, but decided few months later to give it a shot. The interview process was quite long and a bit tedious and it was divided in four stages.
First, they gave me an online test, through HackerRank. I had about 1.5h to complete the test and it was divided in 4 parts:
(1) - 15 multiple choices questions (basic Java and OOP related questions) - beware, there isn't much time to complete this (I think it was around 10 minutes).
(2) - provided a snippet of code (a class with some basic functionality implemented), I had to write down as many code-smells and bad practices I could spot and how to avoid/fix them.
(3) - free text - describe what dev tools I prefer and why.
(4) - coding problem - I had to implement, using Java of course, a basic algorithm. I can't remember right now the exact problem, but it was not that difficult. Perform some basic processing on strings/collections as far as I remember.
After this stage, I got a call from one of Flow Trader's recruiters where we we discussed about my knowledge related to trading in general, their product, what they do, and so on (it was more of a screening/cultural fit type of a phone call), as well as living in Amsterdam, the cost of living, relocation, what they offer and all kinds of related topics. I think the call was in total around 30 minutes to 1 hour.
The third stage of the interview process was an online code-pair interview. I got a (video) call through HackerRank with one of their developers, we discussed a little about my experience, what I've done in the past years, and after that I received an interface of a data structure that I had to implement. After I did it, we discussed about time and space complexity and possible drawbacks and improvements. After that, the requirements of the problem changed and I had to adapt the implementation based on the new requirements, nothing too complex. It was a pleasure discussing the approach and the solution chosen with their dev.
The last stage of the interview was in Amsterdam. They provided me flights from my home city to Amsterdam and back, hotel accommodation as well as a taxi driver that took me from the airport to the hotel and the next day from the hotel to their office. At their office, first I had a cultural fit interview, with two employees from their (lower) management - we discussed again about my experience (not too technical), different work situations, how I reacted/how I would react in some situations, and at the end I received a few brain teasers to solve (how many golf balls can an airplane fit, and few similar). The second interview in Amsterdam was with two of their developers, we discussed again about my previous (technical) experience, what I did, how I did it, and most important why I did it. It wasn't so much of a typical technical interview, where the interviewer asks questions one after another you have to provide the correct answer, it was more of a very technical related discussion. We discussed about performance, concurrency and optimizations in general. After this interview we went out for lunch with a couple of their developers - it was nothing more than lunch break. We discussed politics, weather and nothing more. Final part of this 'interview' was a discussion with one of their recruiters where we went through the previous interviews that I had that day, we discussed again about the relocation package, company's benefits, salary and in the end we made a quick tour of the company's office.
Anyway, after a couple of days, I got a call from one of their recruiters and they informed me that unfortunately I was not accepted and I got some feedback from the final stage of interviews (they wanted me to ask more questions and be more confident, lol, read more about their business and have more knowledge about trading in general, and it would have been better if I've answered some of their technical questions more in depth than I did). So if you are going to apply and get there, make sure you explain yourself, your thoughts, decisions and make sure they understand why you did something you tell them you did. :)
As a conclusion, I don't think the interview is difficult overall, but the process is tedious.
Good luck!