Applied via recruiter. First I had a ~30min phone conversation with the HR lady. The lady was very strict and she asked me what I know about Maxeler and what I think about working in a small company. Immediately after that I had another call from their software engineer. He asked me some technical questions about C++, algorithms (how to add big and small floating point numbers without loosing precision), CPU cache optimization. After the telephone screening I had to pass some kind of 'intelligence and reasoning' test (web-based). Also received an offline programming test to be finished in five days. The test consisted of two tasks: implement a very simple virtual machine (bytecode interpreter) and then use that virtual machine for the 2nd task, which was much trickier (generating some image pattern in an optimal way). The tasks were expected to take 4-6 hours to complete both, but it took me one day, since I provided two different solutions for the 2nd problem. In few days after I submitted the solution I got an invitation to on-site interview in London.
On-site interview took almost the entire day. First I was met by one of Maxeler's software engineers who showed me around and explained the things they do. Then I had to do another programming test (1 hour). There was a choice between C++ or Java languages for the test (I chose C++). They gave me a laptop with a running Linux terminal (to remote server) to do the coding. The guy provided me the initial code, which I was not supposed to touch (just add my code to it). Their code though contained some mistakes (e.g. missing virtual destructors), which I pointed out. Laptop they provided to me was lagging terribly and it was impossible to do any coding or debugging. Luckily the task was really simple, we discussed solution with the software engineer and then he asked me some algorithmic problem, which was also quite easy to crack.
After that I was visited by four more engineers one by one (30min~1h per interview). Each gave me some puzzle to solve (mathematical or algorithmic). Surprisingly no one of these guys cared much to tell me about who they are and what they do, just directly presented me their conundrums. Couple of the guys were more friendly and answered some of my questions about their activities in the company. One of the guys also told me that they do not appreciate FPGA programmers (which I am not) at Maxeler. Only during this interview I learned that they had only one job opening at the moment in their network application department (rapid traffic screening, which I had no intention to apply for).
Finally I met the CEO who was really a smooth talking guy. He also had some mathematical problem for me (about modular arithmetic). He told me that the company's primary activities are in financial risks modelling and network traffic analysis. Unfortunately there was little about scientific computing, as advertised in the job description. He also told me that they prefer to work with clients who have money rather than interesting ideas and problems.
After the interview I was promised to get a feedback the next week. Unfortunately I had no any feedback from Maxeler the next week, not the week after. After three weeks of silence and my attempts to contact by e-mail I received no response at all. Since I wanted them to compensate my travel expenses I insisted and finally got a one line response from the HR lady that they will process my tickets by the end of the month. Nothing about the interview at all.
From what I learned Maxeler is not that much into software development, they are looking rather for algorithmists or mathematicians. The coding skills/experience they demand are quite low to my standards. Their primary tool is their compiler (not really a compiler) - a twisted Java that outputs VHDL. The people I met at the company were quite reserved, and the fact that I received absolutely no feedback while investing my time in solving their offline and on-site puzzles is quite outrageous.
For those applying to Maxeler consider watching the presentation of their CEO at Stanford (Stanford Seminar - Multiscale Dataflow Computing).