There were three rounds of interviews. All interviews were conducted remotely. The first was a general interview with the manager and the current customer application engineer. The questions were mostly asking me to expand upon my CV and the skills I have.
The second interview was a technical one. I was given a small C programming exercise with the option of doing a Java one alternatively. I was given several days to do the test. The interview was with the same manager, customer application engineer, as well as a senior software engineer.
I was asked to expand upon issues I'd noticed with the pre-written code, how I could resolve the issues, and how I could improve the code. Additionally, I was asked several scenario-based questions. These questions were given to me days in advance of the interview to allow me to prepare.
The final interview was with the HR director and CEO. This interview was far more personal and revolved around my views on work, how I work within a team, and areas where my skills could benefit the company. This interview was to get a feeling for my character and the type of person I am.