FORGE//RS
FORGE//RS
INTERVIEW READINESS / RUST 1.96
Concise theory. Deliberate practice. Rust, distributed systems, and blockchain without installing a local toolchain.
INTERACTIVE OPERATIONS
12 modes
Twelve retrieval signals and a personal route without false mastery claims.
Filter by topic and format, answer trusted questions, then move to code evidence.
Due mastery, confidence gaps, and spaced retrieval without an XP illusion.
Run a free-form main.rs in an isolated Rust 1.96 sandbox.
Drop without GC, Future/Waker fairness, and one Hash/Eq identity contract.
Practice rebase, revert, and bisect on one commit graph.
PostgreSQL plans, Redis invariants, Kafka delivery, and ClickHouse layout.
Weighted finality, equivocation, and an atomic reorg materialized view.
Cardinality, histogram buckets, recording rules, and burn-rate windows.
Capacity, failure domains, and defensible trade-offs.
Code review, schema evolution, and canary rollout.
Evidence-based scoring and a balanced mock interview.
ACTIVE EXPEDITION
0 complete · 58 remaining
Repair a production patch that accidentally moves a mutable reference.
RUST / LANGUAGE
Borrowing, lifetimes and typed boundaries form the entry contract for every later system.
Repair a production patch that accidentally moves a mutable reference.
Return borrowed data without inventing ownership or static lifetimes.
First: The reference that disappearedReplace lossy strings with a stable typed error contract.
First: The view that must not outlive its sourceRUST / CONCURRENCY / SAFETY
Restore independent reasoning about async, locks, atomics, unsafe invariants, tests and allocation cost.
Make multi-lock state changes safe under opposite request order.
First: The reference that disappearedProve two mutable borrows are disjoint using a safe standard API.
First: The reference that disappearedKeep the same output while collapsing per-item heap work.
First: The reference that disappearedTurn a correct collecting pipeline into an allocation-preserving Vec update.
First: The flamegraph made of tiny allocationsUpdate a hot metric atomically without turning overflow into a lie.
First: Two correct transfers, one deadlockMake overload and shutdown observable instead of hiding them behind an unbounded sender.
First: Two correct transfers, one deadlockReturn validated views into one frame without allocating payloads.
First: The view that must not outlive its source · The flamegraph made of tiny allocationsTurn a diagnostic index into a non-owning view of live contexts.
First: The flamegraph made of tiny allocationsTurn a borrowed pointer-length pair into owned Rust bytes safely.
First: The unsafe block that did not need to existDesign a compact table that kills realistic parser mutations.
First: The error string nobody can branch onRepair a HashMap key whose equality and hash functions disagree.
First: The error string nobody can branch onBound asynchronous attempts without hiding cancellation semantics.
First: The error string nobody can branch onMake heterogeneous runtime rules deliberately dyn-compatible.
First: The error string nobody can branch onRestore a Send future without holding shared inventory state across suspension.
First: The retry loop with no budget · Two correct transfers, one deadlockRepair a Future combinator that confuses Pending with an early exit.
First: The retry loop with no budgetModel Cargo's feature union without last-wins configuration bugs.
First: Six happy paths and three surviving bugsMake an exported macro resolve helpers at its definition site.
First: The feature flag that removed TLSInitialize an address-sensitive value only after its final allocation.
First: The future that starved its right branchALGORITHMS / COMPLEXITY
Turn common patterns into bounded, deterministic Rust implementations you can explain under time pressure.
Track one monotonic boundary instead of rescanning every substring.
First: The view that must not outlive its sourceKeep only the current winners and make ties deterministic.
First: The window that moved backwardMove two monotonic cursors and consume every match exactly once.
First: The window that moved backwardSearch the smallest feasible capacity, not the space of schedules.
First: The replica event matched twiceProduce deterministic order or identify that no valid order exists.
First: Top K without sorting the worldCombine compatible value with dynamic programming instead of a local greedy score.
First: The backfill rate guessed from averages · The dependency graph that never startsKeep lookup and recency updates constant-time without unsafe pointers.
First: The rollout planner that chose one shiny changeRETRIES / CONSISTENCY / TRANSACTIONS
Coordinate retries, rate limits, quorum, caches and transactional workflows under partial failure.
Keep a cold key from multiplying downstream load.
First: The reference that disappearedSpend one deadline budget instead of multiplying a partial outage.
First: Midnight cache stampedeDesign deterministic tests that expose four cache-refresh race defects.
First: Midnight cache stampedePreserve bursts without trusting a clock that can move backward.
First: The retry storm after the timeoutClose the dual-write gap with one transactional boundary.
First: The retry storm after the timeoutFence old completions and admit exactly one recovery probe after cooldown.
First: The limiter that minted free trafficTurn R, W and N into guarantees instead of interview folklore.
First: The limiter that minted free trafficUndo business effects in reverse order without pretending it is rollback.
First: The order committed, the event vanishedPOSTGRES / REDIS / KAFKA / CLICKHOUSE
Design storage and observability paths whose correctness and cost survive production traffic.
Design a bounded Redis keyspace before it becomes shared global state.
First: Midnight cache stampedeDesign for the predicate, ordering and MVCC cost you actually have.
First: The order committed, the event vanishedMake at-least-once delivery boring at the business boundary.
First: The order committed, the event vanishedShape analytical ingestion before small parts shape the incident.
First: The offset committed before the balanceChange a live schema while two application versions coexist.
First: The index that starts with the rangeTurn a write-skew incident into one bounded, identity-stable retry boundary.
First: The compensation ran twice · The index that starts with the rangeFence detached work before a reassigned partition advances the wrong offset.
First: The offset committed before the balanceEstimate observability cost before shipping an unbounded label.
First: A million one-row inserts · The limiter that minted free trafficCI / KUBERNETES / SLO
Connect dependency graphs, capacity and error budgets into a release path with a deliberate abort boundary.
Find the dependency critical path while independent jobs run in parallel.
First: The dependency graph that never startsTurn maxSurge and maxUnavailable into explicit traffic headroom.
First: The CI pipeline measured as a sumKeep scheduled demand visible when the system starts queueing.
First: The rollout that dropped below capacityTranslate availability targets into finite bad events and burn rate.
First: The load test that got faster under overloadSIGNING / MERKLE / TRANSACTIONS
Build deterministic protocol boundaries around signatures, proofs, nonces and mempool replacement.
Make signed bytes canonical, framed and bound to one domain.
First: The error string nobody can branch onValidate every fallible field before mutating deterministic state.
First: The signature valid on two chainsVerify authenticated paths without erasing left and right.
First: The signature valid on two chainsBound churn in one sender/nonce slot with explicit fee policy.
First: The transaction whose nonce advanced on failureP2P / CONSENSUS / FINALITY
Reason about peer diversity, fork choice and weighted agreement when participants or links can fail.
Separate chain selection from economic or protocol finality.
First: The reference that disappearedRank useful peers without outsourcing your network view to one failure domain.
First: The limiter that minted free trafficCompute weighted supermajority without accepting duplicates or equivocation.
First: The quorum with no intersection · The signature valid on two chainsRUNTIME / RPC / INDEXER
Keep gas, pagination and derived state deterministic across snapshots, finality and chain reorganization.
Meter deterministic work before an untrusted program can consume it.
First: The flamegraph made of tiny allocationsBind cursors to one snapshot so pagination cannot drift under the caller.
First: The block that came backRoll derived state back to the ancestor and switch branches atomically.
First: The block that came back · The order committed, the event vanishedMISSION PRINCIPLE
Do not merely recall a term. Restore your ability to make an independent decision under constraints.