# cheat-sheet

A reference knowledge base for software and research engineers, covering algorithms, data structures, system design, operating systems and the mathematics behind them.

cheat-sheet is a knowledge base organized into coding and algorithms, large-scale design, and research engineering sections. The coding and algorithms material covers searching, sorting, core data structures such as lists, hashes, trees and heaps, and graph algorithms and traversal.

The large-scale design section covers system design topics such as feature sets, class hierarchies, distributed systems, trade-offs between simplicity, robustness and limitations, how routers, DNS, load balancers and firewalls fit into how the internet works, and operating-system topics such as processes, threads, synchronization primitives, deadlock and livelock, context switching and scheduling.

A research engineering section covers probability and financial mathematics topics relevant to research-oriented engineering work. The material is written in Java.

Website: https://ljeng.github.io/cheat-sheet/
