How to Deal with Algorithm/Data Structures Problems in Interview Process?

The point of asking these questions is that as people who build software, we are supposed to know this stuff and be able to apply them. This skill is a fundamental component and has uses beyond just passing the interview.

Most of the topics are discussed in any university algorithm course. But to be really good at them, you can try practicing problems from TopCoder, SPOJ and UVa (and lots of other sites like these).


When I've interviewed people, and asked them questions, I'm not looking for an answer (necessarily). Talk it out - discuss what you're thinking.

As an interviewer, seeing the logical train of thought will score more points with me than just saying "I'd do ...". If I can see that you know how to approach the problem, that demonstrates the ability to work out problems, which is usually the goal.