Memory & Runtime
Where data lives while a program runs, and who cleans it up.
Backend Engineer
Junior
Write correct code, ship small changes safely, ask good questions.
- Compiled vs InterpretedTranslating to machine code ahead of time vs executing source at runtime.
Mid-level
Own a feature end to end without hand-holding.
- PointerA variable that holds a memory address.
- Stack vs HeapShort-lived call frames vs dynamically allocated, longer-lived memory.
- Garbage CollectionAutomatic reclamation of memory that's no longer reachable.
- BytecodeAn intermediate instruction format run by a virtual machine.
- Language Runtime / VMThe environment that executes your code: JVM, V8, CPython, CLR.
- Memory LeakMemory that's never released, growing until the program slows or crashes.
Senior
Own a system, its failure modes, and its trade-offs.
- EndiannessThe byte order of multi-byte numbers in memory.
- JIT CompilationCompiling hot code to machine code while the program runs.
- Manual Memory ManagementAllocating and freeing memory yourself, as in C.
- Buffer OverflowWriting past the end of a buffer and corrupting memory; a classic vulnerability.
- Dangling PointerA pointer to memory that has already been freed.
- Object PoolingReusing objects to avoid the cost of allocating new ones.
- Ownership and BorrowingRust's compile-time rules that prevent memory bugs without a GC.
- Reference CountingFreeing an object when nothing refers to it anymore.
- Weak ReferenceA reference that doesn't keep its object alive.
Frontend Engineer
Junior
Build UI that works, ship small changes safely, ask good questions.
- Compiled vs InterpretedTranslating to machine code ahead of time vs executing source at runtime.
Mid-level
Own a feature end to end without hand-holding.
- Stack vs HeapShort-lived call frames vs dynamically allocated, longer-lived memory.
- Garbage CollectionAutomatic reclamation of memory that's no longer reachable.
- Language Runtime / VMThe environment that executes your code: JVM, V8, CPython, CLR.
- Memory LeakMemory that's never released, growing until the program slows or crashes.
Senior
Own an app's architecture, performance, and failure modes.
- BytecodeAn intermediate instruction format run by a virtual machine.
- JIT CompilationCompiling hot code to machine code while the program runs.
- Object PoolingReusing objects to avoid the cost of allocating new ones.
- Reference CountingFreeing an object when nothing refers to it anymore.
- Weak ReferenceA reference that doesn't keep its object alive.