Loading interactive atlas…
Software engineering topics
Browse the interactive map above or jump directly into a written guide.
- Software EngineeringThe root of the Engineering Atlas and the written-content entry point.
- SystemsHow software systems are decomposed into scalable, reliable components.
- StorageWays of persisting and retrieving application data.
- DatabaseStructured persistent storage queried and updated by applications.
- SQLA workload-driven comparison of relational and non-relational database models.
- NoSQLA workload-driven comparison of relational and non-relational database models.
- CacheTemporary fast storage used to avoid repeated expensive work.
- RedisAn in-memory data structure server often used for caching and ephemeral state.
- IVFAn approximate nearest-neighbor index that partitions vectors into clusters and searches only the most promising partitions.
- Two PointersA traversal technique that uses two indices to efficiently process arrays, strings, or linked structures.
- Prefix SumA preprocessing technique for answering range-sum and cumulative-frequency queries efficiently.
- Binary Search on AnswerAn optimization technique that searches a range of possible answers using a monotonic feasibility test.
- In-orderA depth-first tree traversal that visits the left subtree, the current node, and then the right subtree.
- Pre-orderA depth-first tree traversal that visits the current node before its left and right subtrees.
- Post-orderA depth-first tree traversal that visits both subtrees before the current node.
- Level-orderA breadth-first tree traversal that visits nodes one level at a time from the root downward.
- TrieA tree-shaped data structure for storing strings and answering prefix-based queries efficiently.
- HeapifyThe process of restoring the heap property at a node or transforming a collection into a heap.
- K-MeansAn unsupervised learning algorithm that partitions observations into groups represented by their centroids.
- Cache Line BouncingHow competing CPU cores can repeatedly transfer ownership of a cache line, creating coherence traffic and reducing multithreaded performance.
- False SharingHow independent variables sharing one cache line can create unnecessary coherence traffic between CPU cores.
- Cache CoherencyHow multiple CPU caches maintain a consistent view of shared memory.