Preliminary level
- Data Structure Concepts
- Linear Structure, Recursion
- Binary Search, Binary (Search) Tree
- Heap, Sorting Algorithm, Graph (Search) Basic
- Backtracking, Memorized Search, DP Basic
Advanced level
- Data Structure Design
- Pointers, Stack, Queue, Iterator, Stream
- B+/Trie/Segment/Binary Indexed Tree
- Shortest Path Problem, Best First Search, Union Find
- Advanced Dynamic Programming, Greedy
Language level
- Efficient DS in Java
- Java Interface/Framework
- Java 8 New Features, Guava
- OOD Basics
- Design Pattern, OOD Advance
- Advanced Algo: Bit Operation
- Advanced Algo: Big Data
- Advanced Algo: Strings
- Java Multithread Basics
- Java Multithread Advance