c# data structures interview questions