How to prepare yourself for programming interview questions?
Could someone give me pointers on how go to about preparing for a technical interview? As a CS graduate, I guess one must be thorough with the following topics:
Data Structures: Array, Linked List, Stack, Queues, Heap, Hash Table, Binary Tree, Binary Search Tree, Self Balancing Binary Tree (AVL, Red Black Tree), B-Tree, Tries/Suffix Tree
Algorithms: Sorting (Bubble Sort, Insertion Sort, Selection Sort, Shell Sort, Quick Sort, Merge Sort, External Sorting), Searching (linear and logarithmic time searching), Graph Theory (Adjacency List, Adjacent Matrix, DFS, BFS, Topological Sort), Dynamic Programming, Greedy Algorithms, Divide and Conquer.
Adhoc Algorithms: Select Algorithm, Fisher Yates Card Shuffle, Reservoir Sampling and list is endless.
Databases: SQL Queries
Programming and Design: C,C++, Java, scripting languages (Perl, Python), (OOPS basics, virtual functions, deep and shallow copy, copy constructor, assignment operator, STL, memory management, pointers/reference, interface, abstract classes
Operating Systems: Thread Synchronization (Mutex, Conditional Variables, Semaphores, Deadlocks), Memory Management (Segmentation, Paging, TLB, Caching Mechanisms)
Also it would be great if we all could compile the resources available on internet to brush up these topics. I will add some of these:
Linked List and trees: http://cslibrary.stanford.edu/103/
Please help me out to find useful resource to prepare for these topics, also I would appreciate if you could add in to these topics.