Skip to content

Node.js & JavaScript Backend

Runtime & Internals

  • [[event-loop-and-architecture]] - V8, libuv, event loop, clustering, where Node.js fits and doesn't
  • [[v8-optimization]] - Hidden classes, monomorphic/polymorphic code, JIT, small function inlining
  • [[closures-and-scope]] - Lexical scope, closures as heap data structures, module scope

Async Programming

  • [[async-patterns]] - Callbacks, Promises, async/await, thenable objects, AbortController
  • [[streams]] - Readable/Writable/Transform/Duplex, backpressure, buffer optimization
  • [[concurrency-patterns]] - Actor model, CRDT, SharedWorker, binary protocols, deployment

Language & Type System

  • [[modules-and-packages]] - CommonJS vs ESM, interop, package-lock, npm, module cache
  • [[solid-and-grasp]] - SOLID/GRASP in JavaScript, algebraic types, immutable records, LSP
  • [[design-patterns-gof]] - Factory, Strategy, Observer, Adapter, Facade, Proxy, Flyweight, State

Architecture

  • [[application-architecture]] - DDD structure, layers, transport abstraction, context isolation
  • [[data-access-patterns]] - Repository, Active Record, cursors, transactions, DAL
  • [[dependency-injection]] - DI vs module system, coupling reduction, platform abstraction
  • [[middleware-and-http]] - HTTP/WS transport, middleware as Chain of Responsibility, multi-framework

Operations

  • [[error-handling]] - AppError, AggregateError, Error.cause, fail-fast, error types
  • [[security-and-sandboxing]] - Crypto, password hashing, vm sandbox, macaroons vs JWT
  • [[performance-optimization]] - Round-trip reduction, Map vs Object, buffer optimization, DSL vs imperative