There were a total of 5 rounds. The process started at 10 am and ended at 4:45 p.m:
First Round (1hr 30min): Total focus was to understand the current project which I was working on. Then digging the question in the current project. Complete explanation is required and then asked question about the different data structures used in the project. I told them about hash tables which they asked me to implement.Be thorough with the current project.
Second Round (1hr 15 min): This was the programming round. Asked me 2-3 questions related to multi threading, mutexes, semaphores, their implementation. Then he asked me 2-3 questions on bitwise operator(set a bit, invert the bit). Then questions related to linked list(find a loop), trees(implement BST, depth of tree).
Third round(1hr 15 min): Again he started off with the current project. Then he asked me about the packet flow if you type google.com. He wanted to know about the application side HTTP which I did not have idea about. I told him about the L2-L3 flow. Then he asked about the different section going deep into the kernel, TCP UDP flow implementation in kernel.
Fourth Round (1hr 30min): He asked me again about the project, different data structure, linked list, trees, implement trie, hash. They were looking for people having knowledge in all the data structure(trie, hash map). Networking questions about VLAN, IP routing,
Fifth Round (1hr 45min: This was the manager round.Asked a lot of question about kernel, volatile variable, optimization, made two three programs and asked me to find the error. Asked about IP fragmentation and reassembly.
I was really exhausted after the process. I thought there would be a HR round but that did not happen. Was told HR will get back to you.
Experience was fine. Answered most of their questions but not sure about what was expected. They should inform where did the interview go wrong.