I applied for a firmware engineer position in their RAID controller department, through their career website. They contacted me in about 2-3 weeks .
Phone interview was fairly easy and straight forward. Questions about my current job and some questions on C ( volatile, interrupts etc ) and also on Cache management ( write through/ write back, Non cacheable memory etc) . At the end of it the interviewer was convinced enough to invite me for an in person interview at their site in Milpitas , CA.
The onsite interview was from 10 am to 4.30 , with about 6 people ( all Indian ). Only a little interest was shown by most interviewers on my current work experience . Most of the interview was on coding in C and on algorithms. The topic range was also very wide and in some cases very specific to the work that they do .
Most of the questions were on pointers ( function pointers , call back ptrs , pointer to const , volatile pointer, wild pointer etc ) and data structures ( Link list - delete a node, reverse , find Nth node, find middle , find loop etc. and Trees - I have not worked much on hierarchical data and so could not answer that ). Also questions on dynamic memory management ( prototype of malloc, free ) , sorting algorithms , code compile process ( linker, assembler, compiler ) , RTOS concepts ( scheduling, interrupts , cooperative,preemptive etc ) . There were also questions on string manipulation generic functions in C ( sprintf, strcmp etc ).
The easy ones were questions on bit operations ( set ,clear, XOR ) , use of bit fields , storage classes in C , SAS protocol ( which I have experience in ) , inline functions versus macros ,enum , about tools I use at my current job ( emulators ( diff between onchip/ soft breakpoints) , analyzers etc ) .
I was able to answer a lot of those . But, I guess they required some one with even more experience in coding ( which they had not mentioned in the job description ) . I personally think that I was a bit unlucky here that I got a tough panel . My advice to fellow job seekers would be to study the areas mentioned here and you should be able to land the offer.
My impressions on the company were not that great. Office building and the cubicles/offices inside looked a bit old . I have to agree with another reviewer in this forum that I felt like the company did not have enough cash flow for all these little things that go a long away in affecting employee morale. Also , this view point is limited to the building I visited. I heard that the other locations outside CA are a bit better off and have a better work/life balance and company culture. Also the demographics was overwhelmingly Indian, as admitted jokingly by the hiring manager who was also one. And yes I am one too. I guess that is true for most bay area companies.