Skip to content

Instantly share code, notes, and snippets.

@rjswenson
Created May 15, 2025 15:55
Show Gist options
  • Save rjswenson/fe4d4cd556b197634179309abe3ac2ef to your computer and use it in GitHub Desktop.
Save rjswenson/fe4d4cd556b197634179309abe3ac2ef to your computer and use it in GitHub Desktop.
General CS Dev Study Guide for new hires
๐—•๐—ฎ๐˜€๐—ถ๐—ฐ ๐——๐—ฎ๐˜๐—ฎ-๐—ฆ๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ๐˜€
๐˜Œ๐˜ท๐˜ฆ๐˜ณ๐˜บ๐˜ฐ๐˜ฏ๐˜ฆ ๐˜ด๐˜ฉ๐˜ฐ๐˜ถ๐˜ญ๐˜ฅ ๐˜ฌ๐˜ฏ๐˜ฐ๐˜ธ ๐˜ฉ๐˜ฐ๐˜ธ ๐˜ต๐˜ฉ๐˜ฆ๐˜บ ๐˜ธ๐˜ฐ๐˜ณ๐˜ฌ, ๐˜ธ๐˜ฉ๐˜ฆ๐˜ฏ ๐˜ต๐˜ฐ ๐˜ถ๐˜ด๐˜ฆ ๐˜ต๐˜ฉ๐˜ฆ๐˜ฎ, ๐™๐™ค๐™ฌ ๐™ฉ๐™ค ๐™ž๐™ข๐™ฅ๐™ก๐™š๐™ข๐™š๐™ฃ๐™ฉ ๐™ฉ๐™๐™š๐™ข
โ€ข Array
โ€ข Set
โ€ข Hashmap
โ€ข Linked List
โ€ข Stack
โ€ข Queue
โ€ข Tree
โ€ข Graph
๐—”๐—ฑ๐˜ƒ๐—ฎ๐—ป๐—ฐ๐—ฒ๐—ฑ ๐——๐—ฎ๐˜๐—ฎ-๐—ฆ๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ๐˜€
๐˜ ๐˜ฐ๐˜ถโ€™๐˜ญ๐˜ญ ๐˜ด๐˜ฆ๐˜ฆ ๐˜ต๐˜ฉ๐˜ข๐˜ต ๐˜ต๐˜ฉ๐˜ฆ๐˜ด๐˜ฆ ๐˜ข๐˜ณ๐˜ฆ ๐˜ฎ๐˜ข๐˜ฅ๐˜ฆ ๐˜ถ๐˜ด๐˜ช๐˜ฏ๐˜จ ๐˜ต๐˜ฉ๐˜ฆ ๐˜ฃ๐˜ข๐˜ด๐˜ช๐˜ค ๐˜ฐ๐˜ฏ๐˜ฆ๐˜ด ๐˜ข๐˜ด ๐˜ฃ๐˜ถ๐˜ช๐˜ญ๐˜ฅ๐˜ช๐˜ฏ๐˜จ ๐˜ฃ๐˜ญ๐˜ฐ๐˜ค๐˜ฌ๐˜ด. ๐˜›๐˜ฉ๐˜ฆ๐˜บ ๐˜ค๐˜ข๐˜ฏ ๐˜ฃ๐˜ฆ ๐˜ฑ๐˜ฐ๐˜ธ๐˜ฆ๐˜ณ๐˜ง๐˜ถ๐˜ญ ๐˜ต๐˜ฐ๐˜ฐ๐˜ญ๐˜ด ๐˜ต๐˜ฐ ๐˜ฉ๐˜ฆ๐˜ญ๐˜ฑ ๐˜บ๐˜ฐ๐˜ถ ๐˜ค๐˜ฐ๐˜ฎ๐˜ฆ ๐˜ถ๐˜ฑ ๐˜ธ๐˜ช๐˜ต๐˜ฉ ๐˜ฒ๐˜ถ๐˜ช๐˜ค๐˜ฌ ๐˜ข๐˜ฏ๐˜ฅ ๐˜ฑ๐˜ฆ๐˜ณ๐˜ง๐˜ฐ๐˜ณ๐˜ฎ๐˜ข๐˜ฏ๐˜ต ๐˜ด๐˜ฐ๐˜ญ๐˜ถ๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜ด.
โ€ข Heap (a.k.a Priority Queue)
โ€ข LRU Cache
โ€ข Binary Search Tree
โ€ข Disjoint Set
โ€ข Trie
โ€ข Skip List
๐—•๐—ฎ๐˜€๐—ถ๐—ฐ ๐—ฆ๐—ฒ๐—ฎ๐—ฟ๐—ฐ๐—ต๐—ถ๐—ป๐—ด/๐—ง๐—ฟ๐—ฎ๐˜ƒ๐—ฒ๐—ฟ๐˜€๐—ฎ๐—น ๐—”๐—น๐—ด๐—ผ๐—ฟ๐—ถ๐˜๐—ต๐—บ๐˜€
๐˜š๐˜ฐ๐˜ฎ๐˜ฆ ๐˜ด๐˜ต๐˜ณ๐˜ถ๐˜ค๐˜ต๐˜ถ๐˜ณ๐˜ฆ๐˜ด ๐˜ณ๐˜ฆ๐˜ฒ๐˜ถ๐˜ช๐˜ณ๐˜ฆ ๐˜ฎ๐˜ฐ๐˜ณ๐˜ฆ ๐˜ค๐˜ฐ๐˜ฎ๐˜ฑ๐˜ญ๐˜ฆ๐˜น ๐˜ฎ๐˜ฆ๐˜ต๐˜ฉ๐˜ฐ๐˜ฅ๐˜ด ๐˜ต๐˜ฉ๐˜ข๐˜ฏ ๐˜ข๐˜ณ๐˜ณ๐˜ข๐˜บ ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น๐˜ช๐˜ฏ๐˜จ ๐˜ฐ๐˜ณ ๐˜ฉ๐˜ข๐˜ด๐˜ฉ๐˜ฎ๐˜ข๐˜ฑ ๐˜ฌ๐˜ฆ๐˜บ๐˜ด ๐˜ต๐˜ฐ ๐˜ง๐˜ช๐˜ฏ๐˜ฅ ๐˜ฅ๐˜ข๐˜ต๐˜ข. ๐˜›๐˜ณ๐˜ฆ๐˜ฆ๐˜ด ๐˜ข๐˜ฏ๐˜ฅ ๐˜Ž๐˜ณ๐˜ข๐˜ฑ๐˜ฉ๐˜ด ๐˜ถ๐˜ด๐˜ฆ ๐˜ต๐˜ฉ๐˜ฆ๐˜ด๐˜ฆ ๐˜ฃ๐˜ข๐˜ด๐˜ช๐˜ค ๐˜ข๐˜ญ๐˜จ๐˜ฐ๐˜ณ๐˜ช๐˜ต๐˜ฉ๐˜ฎ๐˜ด.
โ€ข Breadth First Search (BFS)
โ€ข Depth First Search (DFS)
โ€ข Binary Search
๐—”๐—ฑ๐˜ƒ๐—ฎ๐—ป๐—ฐ๐—ฒ๐—ฑ ๐—ฆ๐—ฒ๐—ฎ๐—ฟ๐—ฐ๐—ต๐—ถ๐—ป๐—ด/๐—ง๐—ฟ๐—ฎ๐˜ƒ๐—ฒ๐—ฟ๐˜€๐—ฎ๐—น ๐—”๐—น๐—ด๐—ผ๐—ฟ๐—ถ๐˜๐—ต๐—บ๐˜€
I๐˜ฏ ๐˜ฐ๐˜ณ๐˜ฅ๐˜ฆ๐˜ณ ๐˜ฐ๐˜ง ๐˜ง๐˜ณ๐˜ฆ๐˜ฒ๐˜ถ๐˜ฆ๐˜ฏ๐˜ค๐˜บ.
โ€ข Quick Select
โ€ข Dijkstra
โ€ข Bellman-Ford
โ€ข A-star (rare)
๐—ฆ๐—ผ๐—ฟ๐˜๐—ถ๐—ป๐—ด ๐—”๐—น๐—ด๐—ผ๐—ฟ๐—ถ๐˜๐—ต๐—บ๐˜€
๐˜’๐˜ฏ๐˜ฐ๐˜ธ ๐˜ฉ๐˜ฐ๐˜ธ ๐˜ต๐˜ฐ ๐˜ช๐˜ฎ๐˜ฑ๐˜ญ๐˜ฆ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต ๐˜ข๐˜ญ๐˜ญ ๐˜ฐ๐˜ง ๐˜ต๐˜ฉ๐˜ฆ๐˜ด๐˜ฆ ๐˜ธ๐˜ช๐˜ต๐˜ฉ๐˜ฐ๐˜ถ๐˜ต ๐˜ญ๐˜ฐ๐˜ฐ๐˜ฌ๐˜ช๐˜ฏ๐˜จ ๐˜ข๐˜ฏ๐˜บ๐˜ต๐˜ฉ๐˜ช๐˜ฏ๐˜จ ๐˜ถ๐˜ฑ.
โ€ข Quick Sort
โ€ข Merge Sort
โ€ข Topological Sort
โ€ข Counting Sort
๐—œ๐—บ๐—ฝ๐—ผ๐—ฟ๐˜๐—ฎ๐—ป๐˜ ๐—ง๐—ผ๐—ฝ๐—ถ๐—ฐ๐˜€
โ€ข Recursion
โ€ข Greedy Algorithms
โ€ข Dynamic Programming
โ€ข Bit Manipulation (AND, NOT, OR, XOR)
๐—–๐—ผ๐—บ๐—บ๐—ผ๐—ป ๐—ฃ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐—ป๐˜€
๐˜›๐˜ฉ๐˜ฆ๐˜ด๐˜ฆ ๐˜ฑ๐˜ข๐˜ต๐˜ต๐˜ฆ๐˜ณ๐˜ฏ๐˜ด ๐˜ค๐˜ข๐˜ฏ ๐˜ฃ๐˜ฆ ๐˜ถ๐˜ด๐˜ฆ๐˜ฅ ๐˜ต๐˜ฐ ๐˜ด๐˜ฐ๐˜ญ๐˜ท๐˜ฆ ๐˜ฎ๐˜ข๐˜ฏ๐˜บ ๐˜ด๐˜ช๐˜ฎ๐˜ช๐˜ญ๐˜ข๐˜ณ ๐˜ข๐˜ญ๐˜จ๐˜ฐ๐˜ณ๐˜ช๐˜ต๐˜ฉ๐˜ฎ๐˜ด ๐˜ฒ๐˜ถ๐˜ฆ๐˜ด๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜ด
โ€ข Backtracking
โ€ข Two Pointers
โ€ข Sliding Window
โ€ข Divide & Conquer
โ€ข Reservoir Sampling
๐— ๐—ฎ๐˜๐—ต ๐—ฏ๐—ฎ๐˜€๐—ฒ๐—ฑ ๐—ฝ๐—ฟ๐—ผ๐—ฏ๐—น๐—ฒ๐—บ๐˜€
โ€ข Permutations
โ€ข Combinations
โ€ข Factorial
โ€ข Power Set
๐—ข๐˜๐—ต๐—ฒ๐—ฟ ๐—–๐—ผ๐—บ๐—บ๐—ผ๐—ป ๐—ฃ๐—ฟ๐—ผ๐—ฏ๐—น๐—ฒ๐—บ๐˜€
โ€ข String to Integer
โ€ข Integer to String
โ€ข Adding huge numbers (that canโ€™t fit into memory)
โ€ข Add/Sub/Multiply/Div without using operators
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment