Frage im Vorstellungsgespräch bei IBM

Questions got asked: 1. Explain software terms, e.g., virtual function, multiple inheritance, template, memory allocation etc; 2. Writing code to reverse a linked list; generate Fibonacci sequence; judge isPowerOf2 without using +/- operations; 3. Given a string and calculate its operation result, e.g., given string "2+3-5+9" it should return 9. Implement code to check whether an integer is a power of 2 without using + and - operations.