I need to have the bigger picture in my head. I took a look at books of programming interviews and they focus a lot on algorithms and data structures. These concepts are one of the most important for a CS student? Is that knowledge used in the real world? Or they just ask that in programming interviews because they feel its good way to evaluate someone?