Collections
Arrays, maps, sets and the everyday operations on them.
Backend Engineer track
Junior
Write correct code, ship small changes safely, ask good questions.
Core: start here
- Mutable vs ImmutableWhether a value can be changed after it's created.
- Pass by Value vs ReferenceWhether a function receives a copy or a reference to the caller's data.
13 more junior concepts
- ArrayAn ordered, indexed collection of elements.
- DestructuringUnpacking values from arrays or objects into variables.
- Dictionary / MapA collection of key-value pairs with fast lookup by key.
- Equality vs IdentitySame value vs same object in memory.
- IndexingAccessing elements by position, usually starting at zero.
- ListAn ordered collection; a dynamic array or a linked list depending on the language.
- Map, Filter, ReduceThe three core operations for transforming collections.
- SetAn unordered collection of unique values.
- Shallow vs Deep CopyCopying only the top level vs copying everything nested inside.
- SlicingTaking a sub-range of a sequence.
- Sorting with a Key or ComparatorSorting by a custom key or comparison function.
- Spread / Rest SyntaxExpanding or collecting elements with ... (or * and ** in Python).
- TupleA fixed-size, ordered group of values, often of different types.
Mid-level
Own a feature end to end without hand-holding.
- GeneratorA function that lazily yields a sequence of values.
- IteratorAn object that yields items one at a time from a sequence.
- Lazy EvaluationComputing values only when they're actually needed.
Senior
Own a system, its failure modes, and its trade-offs.
Nothing here yet.
Staff
Shape how many teams build, across systems.
Nothing here yet.
Principal
Set technical direction for the organization.
Nothing here yet.
Data Engineer track
Junior
Build and fix pipelines from clear specs; write correct SQL.
- ArrayAn ordered, indexed collection of elements.
- DestructuringUnpacking values from arrays or objects into variables.
- Dictionary / MapA collection of key-value pairs with fast lookup by key.
- Equality vs IdentitySame value vs same object in memory.
- IndexingAccessing elements by position, usually starting at zero.
- ListAn ordered collection; a dynamic array or a linked list depending on the language.
- Map, Filter, ReduceThe three core operations for transforming collections.
- Mutable vs ImmutableWhether a value can be changed after it's created.
- Pass by Value vs ReferenceWhether a function receives a copy or a reference to the caller's data.
- SetAn unordered collection of unique values.
- Shallow vs Deep CopyCopying only the top level vs copying everything nested inside.
- SlicingTaking a sub-range of a sequence.
- Sorting with a Key or ComparatorSorting by a custom key or comparison function.
- Spread / Rest SyntaxExpanding or collecting elements with ... (or * and ** in Python).
- TupleA fixed-size, ordered group of values, often of different types.
Mid-level
Own pipelines and models end to end, including their quality.
- GeneratorA function that lazily yields a sequence of values.
- IteratorAn object that yields items one at a time from a sequence.
- Lazy EvaluationComputing values only when they're actually needed.
Senior
Design the platform's storage, processing and modeling choices.
Nothing here yet.
Staff
Shape how the whole organization produces and uses data.
Nothing here yet.
Principal
Set data strategy and architecture across the company.
Nothing here yet.
Frontend Engineer track
Junior
Build UI that works, ship small changes safely, ask good questions.
Core: start here
- DestructuringUnpacking values from arrays or objects into variables.
- Mutable vs ImmutableWhether a value can be changed after it's created.
- Shallow vs Deep CopyCopying only the top level vs copying everything nested inside.
- Spread / Rest SyntaxExpanding or collecting elements with ... (or * and ** in Python).
11 more junior concepts
- ArrayAn ordered, indexed collection of elements.
- Dictionary / MapA collection of key-value pairs with fast lookup by key.
- Equality vs IdentitySame value vs same object in memory.
- IndexingAccessing elements by position, usually starting at zero.
- ListAn ordered collection; a dynamic array or a linked list depending on the language.
- Map, Filter, ReduceThe three core operations for transforming collections.
- Pass by Value vs ReferenceWhether a function receives a copy or a reference to the caller's data.
- SetAn unordered collection of unique values.
- SlicingTaking a sub-range of a sequence.
- Sorting with a Key or ComparatorSorting by a custom key or comparison function.
- TupleA fixed-size, ordered group of values, often of different types.
Mid-level
Own a feature end to end without hand-holding.
- GeneratorA function that lazily yields a sequence of values.
- IteratorAn object that yields items one at a time from a sequence.
- Lazy EvaluationComputing values only when they're actually needed.
Senior
Own an app's architecture, performance, and failure modes.
Nothing here yet.
Staff
Shape how many teams build, across apps.
Nothing here yet.
Principal
Set technical direction for the organization.
Nothing here yet.