Round 1) - Given a string containing only the characters 'A' 'B' 'C' 'D', return the string when all adjacent "AB" / "BA" and "CD" / "DC" pairs have been removed. - Given a graph (represented as an array) where nodes have value either 'A' or 'B', find the longest path where no two adjacent nodes have the same value. Round 2) - Physical memory vs virtual memory. You have 4GB physical, but you allocate an 8Gb buffer. Is this possible? If so, how? How is the memory actually read as we traverse the memory? - Thread vs process, what's the difference? Talk about some common threading models. -What are some methods of inter-process communication. Between threads. Between processes. - Explain how a named pipe works (FIFO). - What does the inline keyword do in C++? What are the pros and cons? - How do virtual functions work in C++? Explain how vtable lookup works. - Map vs unordered_map in C++, how is each one implemented under the hood. What data structure is used.