I had a phone interview first. The manager spoke to me about what the company did and the kind of work I would do as a firmware engineer. He asked me what I was looking for and answered some of my questions. The phone interview took about 45 mins. The manager then invited for an on-site interview which lasted for 6 hours and consisted of 8 different interviews. 5 out of the 8 interviews were non-technical while 3 were technical. They didn't ask me to code however but asked about general concepts.