January 11 2025
Node Is Not Single-Threaded in the Way It Seems
How to separate the main thread, event loop, I/O, libuv, and worker threads without repeating a sentence that hides the real behavior.
Architecture, scale, reliability, data, and production concerns that shape real systems.
January 11 2025
How to separate the main thread, event loop, I/O, libuv, and worker threads without repeating a sentence that hides the real behavior.
March 11
Modern interviews still reward fundamentals, but they now lean harder on judgment, communication, debugging, system design, and responsible AI use.
February 26
A simple protocol for answering system design from start to finish with clarity under pressure.
January 20
How to do capacity estimation in system design without panicking or pretending false precision.
February 18 2025
How to turn business rules into entities, relationships, and constraints that stay useful in real systems.
February 21 2025
How to choose storage by looking at access patterns, consistency, data shape, and operational cost.
February 20 2025
How to think about cache as a copy with a consistency cost, not as a magic patch for slow reads.
May 29 2025
How to think about scale by starting with what breaks first and why.
June 12 2025
How to design boundaries between routes, services, and responsibilities without turning the system into a pile of hidden coupling.
September 29 2025
How to choose between retrieval and fine-tuning by looking at the actual failure mode in the system, not at hype.
May 20 2025
When to use a queue instead of a synchronous call, what the main patterns mean, and why that changes the architecture in production.
June 19 2025
How to understand when replication helps, when sharding enters the conversation, and why they solve different problems.
June 24 2025
How to think about rate limiting as shared capacity protection, which strategies exist, and what actually matters in practice.
June 4 2025
How to decide where each request goes without treating the load balancer like a magic box in the diagram.
June 2 2025
The useful part of CAP starts when parts of the system stop seeing each other and you need to decide whether to wait or keep responding.
September 27 2025
How to decide when stale data is acceptable and when it becomes a product error.
May 27 2025
What idempotency is, why it matters in distributed systems, and how to implement it so unstable networks do not corrupt data.
June 10 2025
How consistent hashing reduces the chaos of redistributing keys when a node enters or leaves the cluster.
May 1 2025
How to investigate a real production problem with a clear process for evidence, containment, and communication.
March 20 2025
How to write logs that actually help during an investigation instead of flooding the system with expensive text.
April 3 2025
How to make timing failures easier to understand by making ordering, concurrency, and shared state visible.
May 13 2025
How to investigate broken code with order, hypothesis, and a clear next step under uncertainty.
January 6 2025
How to decide whether a new layer is helping or whether the code is still better when it stays direct.
January 9 2025
How to share logic and structure without turning the code into a fragile web of dependencies that is expensive to understand and change.