Developer competencies list with useful links (preparing to the interview)

Starting short training before competency test at my current work. You can find list of things you have to know. And comparison to those from Amazon. Below you can find advices what or where to read to be ready to interview or smth like this

Needed materials and topics can be found here:

Data Structures – array, linked list, stack, queue, dictionary, hash table, tree, binary search tree, hashtable, heap, AVL/RB tree, B-tree, skip list, segment tree

Useful links: Arrays article, Article about structures, used to implement dictionaries, Skip list implementation

Algorithms – sorting, searching, data structure traversal algorithms, algorithm complexity, O() notation, space/time complexity, greedy and dynamics algorithms, tree, graph algorithms, N-logN sorting

Useful links: Several O(N*logN) sorting implementations, quite good Wiki article about Binary search

Graph algorithms – dfs, bfs, loops (usual and Euler’s), Floyd-Warshall, Kruskal’s algorithm

Concurency – shared state and synchronization problems, sync primitives, basic parallel algorithms, sync primitives efficiency, data and task parallelism patterns, deadlocks, race conditions, thread scheduling details, GUI threading models