Someone sent me an informal email that he reviewed my profile and wanted to speak to me. Then I scheduled some time with him and had a nice conversation with a few technical questions and about the team and duties for about 30-40 mins. Then about 2-3 weeks later I received an email inviting me for an onsite interview. The onsite interview was with several managers in the same team that are heads of different teams.
The interview went well. They asked me basic to intermediate questions like,
1. !st person: Polling, interrupts, threads, multi-tasking, semaphores vs mutex etc.
2.2nd Person: Linked list reversal
Gave few lines of code and asked me to debug it and ifx it.
Asked me about SPI and I2C in detailed as I have those listed on my resume...again gave me a paper with a few C questions.
3. 3rd Person: We went out for a casual lunch to a place across the street. I asked him questions about what he does and he explained to me how things work . Not too technical interview but just technical discussion about phones, chips etc
4. 4th Person: Asked me some C questions concentrated a lot on memory management. It was very challenging but I really liked the questions he asked.
In fact I liked all the questions asked by everyone, as they asked questions from relevant topics to the job than just go with textual questions.
Then after a bout 3 weeks of my interview I got a call from someone in the team and he said, he woud like to setup one more interview for a position in a sub team of the team I interviewed for and make a final decision based on that .
This was about an hour interview, again lots of questions about multitasking, threading, interrupts, mutexes, semaphores, SPI details , I2C details.
The interviewer seemed to be pleased with my answered and spoke with a very pleasant tone. He told me he will get back to me in couple of days.
After as week I received an email that they wanted to offer me the position.