I am preparing for interviews which involves questions on algorithms. I have 3 months ( roughly 12 hours per week) . I have in front of me all these books i don't know which one to read first?
1) Programming Interviews Exposed 2) Algorithms for Interviews by Amit Prakash and Adnan Aziz 3) CLRS ( Think three months is not enough for this what do you think? Can i skip some parts?) 4) Programming Pearls
What are you going to do if the interviewer asks you a question which is not in the book? Or after managing to get selected, you are presented with a problem which was not in the book? Don't you think the correct approach is to learn about algorithms than focusing on interview questions on algorithms?
Practice the examples given in the books. I have not read any of those books but data structures and algorithms will be the best place to start. The main focus should be to understand and practice what is described in the books. You have no control as to what questions will be asked.
The OP's intention may well be to learn algorithms and understand how to approach open ended problems that are usually asked in an interview.
There is no order that is 'right'. Learn algorithms and solve problems and you should be on your way to passing the interview. But like the others have warned, do not rely on these books alone to prepare for the interview.
3) CLRS - this book is huge, contains lot of stuff which no interviewer may even ask. So you might selectively read this book. But its a good/famous book for Data Structures/Algorithms.
1) Programming Interviews Exposed- Good for interviews and general as well because it teaches concepts as well as solving few typical interview questions.
4) Programming Pearls - I dont think this is a interview specific book.
You can also pick Algorithms book by Anany Levitin (and also one more Puzzles book by the same author released recently) its a simple read and covers lot of concepts. But the bottomline is that you need to code and practice the algorithms, implement them. Clearing the interview is one step but surviving in the workforce is other but the most important aspect.
Thanks a lot for the all the replies. Actually my background is like this. I have spent 3 and half years developing web applications using struts and JSF related technologies.
Now i am a masters student. I have already taken a course in my university on Algorithms but the questions asked in the interviews should be solved within a short time. So i think practise is essential in that case. So i was looking for that specifically.Any ways i think the question is answered.
Why am I so drawn to cherry pie? I can't seem to stop. Save me tiny ad!