1. Print Ancestors of a given node in Binary Tree. [https://www.geeksforgeeks.org/print-ancestors-of-a-given-node-in-binary-tree/]
2. Find intersection of two linked lists. [https://www.geeksforgeeks.org/write-a-function-to-get-the-intersection-point-of-two-linked-lists/]
3. Question related to factory design pattern.
4. Smart Pointers in C++. [https://www.geeksforgeeks.org/smart-pointers-cpp/]
5. Consider a function that has return statement at 10 different places. Assume this function modifies some global variable to achieve its functionality. Now every time before you return from this function, you need to reset the global variable. How would you do that in better way ? [With less duplication of code]
1. Visualization of 2D array. Dynamic allocation and de-allocation of 2D array.
2. Pre-order traversal without recursion. [https://www.geeksforgeeks.org/iterative-preorder-traversal/]
3. Reverse a linked list. [https://www.geeksforgeeks.org/reverse-a-linked-list/]
4. Virtual and override keywords in C++.
Round 3: (Hiring Manager Round)
1. Consider a chat-box where two users can chat. Design a thread safe chat-box such that only one user can add comment to the chat-box at a time. Asked to implement low level design in C++ using mutex, condition variables etc.
2. Some general questions on LRU cache, image scaling and image translation concepts as I was interviewed for Photoshop team.
Round 4: (Director Round)
1. Discussion on current company projects.
2. Biggest achievement till now at current company.
3. Why are you leaving your current organization ?
4. How do you keep yourself up with new technologies/concepts ?
5. Questions on multithreading, design patterns like Singleton, Observer etc.