Contacted by the recruiter. I was not ready to take the interview during that time. Recruiter was kind enough to wait almost 2 to 3 months and then contacted again with the same opportunity. I was ready to take the interview. So first scheduled telephonic round. It was 45 mins long interview. Standard questions on previous experience, toughest bug that i worked, questions on threads, deadlocks etc. After that onsite interview was scheduled. I had prepared for it and practiced writing programs on board. I went to the the office. Total 3 persons interviewed me and each took 45 mins long. They started with their introduction then started asking me to write programs on board. All three of them asked different programs. Those are not academic type. More or less related to what they are working currently. For e.g. write a simple character FIFO implementation, function to convert ascii to int, a problem related to insertion sort, program to mirror the image, semaphores, locks etc. I wrote most of these programs and also tested to ensure the correctness. I guess only while implementing FIFO, i couldn't able to come up with correct IsFIFOFull() logic, otherwise rest all did OK. After all interviews they gave me *** ROKU 3 *** box for giving interview to them. That was very sweet and totally unexpected.
After going home I was sure i get the offer as my background is exactly matching to the job requirements, i'm working on competitor company and I did interview pretty good. But to my surprise next day I got email saying they are looking for better match to the requirements of this job. That means no-offer. This is not my first interview. I had given interviews to more than 20 companies and got 5 offers from different companies like ROKU. However i never did perform as good as in ROKU interview, but still no-offer !!!. God only knows why they didn't select me. Anyway i got free ROKU 3, which is a consolation prize in this process.