* Books :-

1) Cracking the coding interview (Gayle McDowell)

2) Programming interviews exposed

3) Elements of programming interview

4) Revise CLRS

* Data structures :-

1) String

2) Arrays

3) Linked Lists (Singly, Doubly, Circular)

4) Trees ( Binary Tree, Binary Search Tree, Red-Black Tree, etc)

5) Hash Table

6) Queue

7) Stack

8) Graph

9) Trie

You must know Big-O for every operations on each structure( http://bigocheatsheet.com/ ).

* Algorithms :-

1) Searching

2) Sorting

*Quick Sort

*Merge Sort

*Selection Sort

*Insertion Sort

* Bubble Sort

3) Graph traversals

4) Tree traversals

5) Divide and Conquer

7) Run Length Encoding

8) Matrix

9) Dynamic programming

Practice questions on Topcoder Division 2, level 1-3

MIT 6.006

Skiena’s Algorithm Lectures

Practice questions :- Top 10 algorithms for coding interview

* Bit Manipulation :- Bit Twiddling Hacks

* OOP/OOD Concepts :-

1)Inheritance

2)Polymorphism

3)Abstraction

4)Encapsulation

5) Composition

* Knowledge based :-

1) Database Management System

2) C, C++, Java

3) Threads and Locks

4) Operating Systems