Round 1 (Focus was on DSA & coding)
1. Write code to remove duplicates from linked list
2. Implement stack class. Internal array should automatically extend size when max capacity reached.
3. Synchronization questions. Critical section methods in C++.
Round 2 (Focus was on DSA & coding, C++)
1. Questions about previous projects' experience, what major challenges I faced in my job.
2. What is synchronization? How mutex is internally implemented?
3. What is virtual function? How does it internally link it to derived class function in runtime?
4. Questions on C++ classes, private, protected access specifiers.
5. Find loop in linked list. Remove loop.
6. What is vector? How is it internally implemented?
7. What is hash table? How is it internally implemented?
Round 3 (Focus was on kernel mode. My experience was on windows kernel device drivers)
1. Difference between paged pool vs non-paged pool
2. Critical section handling in kernel mode
3. Questions about windbg. How do you debug from a crash dump.
4. How does the user mode communicate with kernel mode, and vice-versa?
5. Discussion on the assignment problem implementation (unicows).