practice problems for algorithms and data structure -type interview questions