First step, phone interview (half an hour with human resources and one hour with an engineer of the team). The HR interview was very simple (What do you know about Maxeler Technologies? Why do you want to work for us? etc) and the interview with the engineer was more complicated but still okay. He asked a lot of questions about my previous experiences. He also asked me what do I know about Maxeler technologies. And then he switched on technical questions. Some of them appeared to be tricky (I was a graduate engineer at that time) and other were more basics.
Second step, they send you an exercise where you have to write a small software that can process some data files that they give you. And then you have to reuse your software to generate a specific .bga file. Good thing: You are free to use any language that you want. At the same time, they send you a link for a shl IQ test. The software and the shl test have to be done whithin three days.
Third step, they call you to debrief on the results of your program. The questions asked by the engineer appeared to me to be difficult (again, I was a graduate). They were more optimisation questions regarding my program (For example: How could you use an integer and still encode a number bigger than the limit of the integer or something like that?).
Fourth and last step, they invite you for an onsite interview. I arrived at the HQ in London at 12:30. You begin with a small visit of the offices with the head of the hardware team and then interview with him. We went through all my application process (first phone interview, software and shl results, second interview,...) and then asked me some technical questions regarding FPGAs. He showed me several schematics and asked to say what is it and explain it. And then, second interview with a software engineer where he asked me to write another program regarding nodes and basic calculations in 90 minutes and then debrief with him. The third interview with another hardware engineer and he asked two simple questions regarding some logical design. The fourth interview was with the same guy that interviewed me on phone (first phone interview) and he asked some more tricky questiosn regarding digital design (Metastability, FIFOs,...). The fifth and last interview was with an application engineer and he asked me some reasoning questions. Average questions and the guy helps you a little bit. They told me that I also should have met the CEO but he was very busy on that day. So, to summarize, arrived at 12:30. Had 5 interviews with 5 different engineers and they released me at 19:00.
After two weeks, I sent an email to the human resources lady to know if they already have the results of my interview or not. Two hours later, she replied to me telling me that they decided to not pursue the recruitment process with me... I keep asking myself that, if I didn't send that email, would I have one day received an answer? Who knows... Another disappointing thing from them is that they refused to tell me why I didn't get the job... They claimed that "it is our company mandate that we do not provide feedback as to why the application was refused". Worst thing to say to a young graduate that needs to is making mistakes and needs to know what are his mistakes.
But, generally speaking, except those two things, this interview was an amazing experience, I learned a lot and the people that interviewed me were amazing guys.