Interview Refresher¶
Topic briefs on what engineers forget before technical interviews, grouped by subtopic.
Topics¶
Fundamentals¶
- 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
Languages¶
- 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
Web¶
- 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
Infrastructure¶
- 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
Domains¶
- 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
Quiz¶
Clone the repository and start Codex or Claude Code from its root:
In the agent chat, run /quiz golang in Claude Code or $quiz golang in Codex. The quiz generates questions from random brief concepts, asks one at a time, and gives you a score at the end. Use /quiz golang ethereum to mix topics, or /quiz all 20 for 20 concepts across all topics.