First round : Phone screen with recruiter - coding round - bit manipulation based
Second round : Interview with another team member - mostly based on resume, projects, previous experience
Then Onsite interview : 5 or 6 rounds, some were 1 to 1, some were 2 to 1
First round was again C coding - based on malloc
Second was embedded specific problem solving - something like how to accurately read peripheral registers under a specific scenario - this was difficult
Third : Object oriented design problem
Fourth : Some behavioral questions, prior experience based, how I solved some specific challenged, something related to testing sub-modules of microprocessor based system
Fifth: Explain block design of typical microprocessor based system
Sixth: HR