Topic briefs on what engineers forget before technical interviews:
Each topic in docs/topics/ is a brief grouped by subtopic, covering what an experienced engineer tends to forget before an interview. Skim them to memorize.
- Algorithms — complexity, arrays and sequences, strings, sorting, data structures, graphs, dynamic programming, greedy and backtracking, NP-hardness
- Distributed Systems — theory, consistency models, replication, partitioning, consensus, clocks and IDs, transactions, conflict resolution, failure handling, Kafka and stream processing
- Networking — TCP, keepalive and congestion control, HTTP/1.1 vs 2 vs 3, QUIC, DNS, IP addressing, NAT, MTU, BGP and anycast
- Operating Systems — processes and signals, scheduling and cgroup throttling, virtual memory, OOM and cgroup limits, NUMA, file descriptors, epoll and io_uring, fsync, synchronization, perf tools
- System Design — interview framework, load balancing, caching and consistency, storage choices, queues, rate limiting, reliability, architecture, probabilistic and geospatial structures, classic designs
- Go — concurrency, memory management, slices/maps/strings, types and interfaces, errors, standard library gotchas, modules and GODEBUG, testing, profiling and PGO
- JavaScript — event loop, scope and closures,
thisand prototypes, numbers, async, modules, memory, metaprogramming, Node.js runtime, DOM events, recent additions - Python — runtime and the GIL, memory management, data structures, concurrency, gotchas, object model, functions, recent features, typing, tooling
- Rust — ownership and borrowing, lifetimes, traits, closures and iterators, smart pointers, error handling, concurrency, async, unsafe, macros and Cargo
- Solidity — language semantics, storage layout, calls and ABI, contract security, gas optimization, upgradeability, errors, compiler and Foundry testing, inline assembly
- TypeScript — type system semantics, narrowing, type-level programming, compilation and TypeScript 6/7, strictness, declarations, typing patterns
- Backend — API design, idempotency and concurrency, service calls and webhooks, async work, data access, lifecycle and health, security, testing
- Frontend — rendering strategies, browser pipeline, CSS, performance, caching, accessibility
- Next.js — rendering and Cache Components, caching layers and invalidation, routing conventions, Server Actions, proxy and auth, build and deployment, built-in components, Pages Router
- React — rendering model, hooks, state management, performance, Server Components, Suspense and transitions, forms and Actions, hydration, error boundaries, events and refs, version changes
- Security — server-side and browser-side attacks, auth and sessions, tokens and OAuth, authorization, cryptography, TLS, supply chain, threat modeling
- AWS — IAM and KMS, VPC networking, compute, storage and databases, events, operations
- DevOps — deployment strategies, containers, Kubernetes workloads/storage/networking/operations, Terraform, CI/CD and GitOps
- PostgreSQL — indexes, isolation, MVCC and VACUUM, locking and schema changes, query tuning, SQL gotchas, WAL and backups, replication, pooling and partitioning, schema design
- Redis — execution model, transactions and scripts, data structures, expiration and eviction, persistence, replication and Sentinel, Cluster, pub/sub and streams, locks and counters
- AI Engineering — LLM fundamentals, attention and MoE, reasoning models, inference and serving, RAG, fine-tuning, agents, tools and MCP, evaluation, cost, security
- Ethereum — accounts and transactions, gas, EVM, signatures and standards, PoS consensus, scaling, DeFi and MEV
The quiz skill (.agents/skills/quiz/, linked into .claude/skills/ for Claude Code) generates questions from random brief concepts, asks them one at a time, and reports your score at the end. Run it from the repository root with /quiz in Claude Code or $quiz in Codex:
/quiz golang # 10 random concepts from one topic
/quiz golang ethereum # concepts mixed from several topics
/quiz all 20 # 20 concepts from every topic
The renovate skill (.agents/skills/renovate/) checks briefs against the latest released versions of the languages, tools, and specs they cover. It reads the release notes, fixes stale claims, adds changes worth knowing for an interview, and reports each change with its source. With several topics it runs one subagent per topic. It edits the briefs in place and doesn't commit. Run it from the repository root with /renovate in Claude Code or $renovate in Codex:
/renovate golang # one brief
/renovate react nextjs # several briefs
/renovate all # every brief
Install the site builder, then serve the site:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-docs.txt
zensical serveTo produce the same files as the Pages workflow, run zensical build --clean --strict. Zensical reads the Markdown directly from docs/ and reloads edits while serving. The generated site/ directory is ignored by Git.
GitHub Pages must be configured to use GitHub Actions as its build and deployment source. Once this workflow is on main, each push builds and publishes the site.