I applied online and within a week, I received an email for a phone call interview the next day. There were two 30-minute phone interviews on consecutive days. Afterward, they invited me for an onsite interview. There, I had almost seven rounds.
Phone call interview:
Questions related to DDR2:
Onsite:
First round was scripting. The interviewer brought some code and asked me to explain its operation. Then, they showed me the content of a file and asked me to fetch lines that start with "#define".
Second round was memory structure. How data gets stored in memory. Bit-level C programming.
Third round: They asked me questions about global and local variable scope by showing some code. Then, type casting related questions/coding.
Fourth round was longer. We went to the cafeteria and brought food back to the room. They didn't even let me eat properly, and I didn't finish half my plate. They kept asking me questions for the next four rounds. This round focused on DDR and bit-level C programming. How to design a number divide-by-5 operation in hardware?
Fifth round was on data structures.
Sixth round was on verification and C++. What is formal verification? Random constraints? Assertions? Design the malloc function. I was not prepared for verification at all. This was the reason for my rejection, although I performed well in all other rounds.
Seventh round was on computer architecture. Pipeline, virtual memory, cache. Ideally, what should be the block size?
The following metrics were computed from 1 interview experience for the Broadcom Staff I Firmware Engineer role in Andover, Massachusetts.
Broadcom's interview process for their Staff I Firmware Engineer roles in Andover, Massachusetts is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Broadcom's Staff I Firmware Engineer interview process in Andover, Massachusetts.