Contents

Computer Science

Data Structures

Ways of organizing data so the operations you need are fast.

Backend Engineer track

Junior

Write correct code, ship small changes safely, ask good questions.

Core: start here

  • Hash TableKey-value storage with average O(1) lookup via a hash function.
8 more junior concepts
  • Binary TreeA tree where each node has at most two children.
  • Data StructureA way of organizing data so certain operations are efficient.
  • Dynamic ArrayAn array that grows by reallocating, with amortized O(1) appends.
  • Hash FunctionA function mapping data of any size to a fixed-size value.
  • Linked ListNodes pointing to the next node: fast inserts, slow random access.
  • QueueA first-in, first-out collection.
  • StackA last-in, first-out collection.
  • TreeA hierarchy of nodes with one root and no cycles.

Mid-level

Own a feature end to end without hand-holding.

  • Adjacency List vs MatrixTwo ways to store a graph's edges.
  • B-TreeA wide, shallow tree optimized for disks; how database indexes work.
  • Binary Search TreeA binary tree ordered so each lookup can halve the search.
  • DequeA double-ended queue that adds and removes at both ends.
  • Directed Acyclic Graph (DAG)A graph with directed edges and no cycles, as in build systems and pipelines.
  • Doubly Linked ListA linked list with pointers in both directions.
  • GraphNodes connected by edges; models networks, dependencies and maps.
  • Hash CollisionTwo keys hashing to the same slot, and how tables handle it.
  • HeapA tree that keeps the min or max at the root; backs priority queues.
  • LRU CacheA cache evicting the least recently used item, built from a hash map and a linked list.
  • Priority QueueA queue that always returns the highest-priority item first.
  • Tree TraversalVisiting tree nodes in pre-order, in-order, post-order or level order.
  • TrieA tree of characters for fast prefix lookups.

Senior

Own a system, its failure modes, and its trade-offs.

  • Balanced TreeTrees like AVL or red-black that stay shallow for guaranteed O(log n).
  • Bloom FilterA compact structure answering "definitely not" or "probably yes" for set membership.
  • HyperLogLogEstimating the number of distinct items with tiny memory.
  • K-D TreeA tree for searching points in multi-dimensional space.
  • Merkle TreeA tree of hashes that verifies large data efficiently.
  • Persistent Data StructureAn immutable structure that shares unchanged parts between versions.
  • Ring BufferA fixed-size buffer that wraps around.
  • Segment TreeA tree for fast range queries over arrays.
  • Skip ListA layered linked list with O(log n) search.
  • Union-FindTracking which elements belong to the same group.

Staff

Shape how many teams build, across systems.

Nothing here yet.

Principal

Set technical direction for the organization.

  • Suffix ArrayA sorted array of a string's suffixes for fast substring search.

Data Engineer track

Junior

Build and fix pipelines from clear specs; write correct SQL.

  • Binary TreeA tree where each node has at most two children.
  • Data StructureA way of organizing data so certain operations are efficient.
  • Dynamic ArrayAn array that grows by reallocating, with amortized O(1) appends.
  • Hash FunctionA function mapping data of any size to a fixed-size value.
  • Hash TableKey-value storage with average O(1) lookup via a hash function.
  • Linked ListNodes pointing to the next node: fast inserts, slow random access.
  • QueueA first-in, first-out collection.
  • StackA last-in, first-out collection.
  • TreeA hierarchy of nodes with one root and no cycles.

Mid-level

Own pipelines and models end to end, including their quality.

  • Adjacency List vs MatrixTwo ways to store a graph's edges.
  • B-TreeA wide, shallow tree optimized for disks; how database indexes work.
  • Binary Search TreeA binary tree ordered so each lookup can halve the search.
  • DequeA double-ended queue that adds and removes at both ends.
  • Directed Acyclic Graph (DAG)A graph with directed edges and no cycles, as in build systems and pipelines.
  • Doubly Linked ListA linked list with pointers in both directions.
  • GraphNodes connected by edges; models networks, dependencies and maps.
  • Hash CollisionTwo keys hashing to the same slot, and how tables handle it.
  • HeapA tree that keeps the min or max at the root; backs priority queues.
  • LRU CacheA cache evicting the least recently used item, built from a hash map and a linked list.
  • Priority QueueA queue that always returns the highest-priority item first.
  • Tree TraversalVisiting tree nodes in pre-order, in-order, post-order or level order.
  • TrieA tree of characters for fast prefix lookups.

Senior

Design the platform's storage, processing and modeling choices.

  • Balanced TreeTrees like AVL or red-black that stay shallow for guaranteed O(log n).
  • Bloom FilterA compact structure answering "definitely not" or "probably yes" for set membership.
  • HyperLogLogEstimating the number of distinct items with tiny memory.
  • K-D TreeA tree for searching points in multi-dimensional space.
  • Merkle TreeA tree of hashes that verifies large data efficiently.
  • Persistent Data StructureAn immutable structure that shares unchanged parts between versions.
  • Ring BufferA fixed-size buffer that wraps around.
  • Segment TreeA tree for fast range queries over arrays.
  • Skip ListA layered linked list with O(log n) search.
  • Union-FindTracking which elements belong to the same group.

Staff

Shape how the whole organization produces and uses data.

Nothing here yet.

Principal

Set data strategy and architecture across the company.

  • Suffix ArrayA sorted array of a string's suffixes for fast substring search.

Frontend Engineer track

Junior

Build UI that works, ship small changes safely, ask good questions.

  • Binary TreeA tree where each node has at most two children.
  • Data StructureA way of organizing data so certain operations are efficient.
  • Dynamic ArrayAn array that grows by reallocating, with amortized O(1) appends.
  • Hash FunctionA function mapping data of any size to a fixed-size value.
  • Hash TableKey-value storage with average O(1) lookup via a hash function.
  • Linked ListNodes pointing to the next node: fast inserts, slow random access.
  • QueueA first-in, first-out collection.
  • StackA last-in, first-out collection.
  • TreeA hierarchy of nodes with one root and no cycles.

Mid-level

Own a feature end to end without hand-holding.

  • Adjacency List vs MatrixTwo ways to store a graph's edges.
  • Binary Search TreeA binary tree ordered so each lookup can halve the search.
  • DequeA double-ended queue that adds and removes at both ends.
  • Directed Acyclic Graph (DAG)A graph with directed edges and no cycles, as in build systems and pipelines.
  • Doubly Linked ListA linked list with pointers in both directions.
  • GraphNodes connected by edges; models networks, dependencies and maps.
  • Hash CollisionTwo keys hashing to the same slot, and how tables handle it.
  • HeapA tree that keeps the min or max at the root; backs priority queues.
  • LRU CacheA cache evicting the least recently used item, built from a hash map and a linked list.
  • Priority QueueA queue that always returns the highest-priority item first.
  • Tree TraversalVisiting tree nodes in pre-order, in-order, post-order or level order.
  • TrieA tree of characters for fast prefix lookups.

Senior

Own an app's architecture, performance, and failure modes.

  • B-TreeA wide, shallow tree optimized for disks; how database indexes work.
  • Balanced TreeTrees like AVL or red-black that stay shallow for guaranteed O(log n).
  • Bloom FilterA compact structure answering "definitely not" or "probably yes" for set membership.
  • Persistent Data StructureAn immutable structure that shares unchanged parts between versions.
  • Ring BufferA fixed-size buffer that wraps around.

Staff

Shape how many teams build, across apps.

Nothing here yet.

Principal

Set technical direction for the organization.

Nothing here yet.