<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>SystemCraft</title>
  <subtitle>High-Level System Design notes for tech interviews</subtitle>
  <id>https://systemcraft.in/</id>
  <link rel="alternate" type="text/html" href="https://systemcraft.in/"/>
  <link rel="self" type="application/atom+xml" href="https://systemcraft.in/feed.xml"/>
  <updated>2026-10-01T00:00:00+00:00</updated>
  <author>
    <name>SystemCraft</name>
    <uri>https://systemcraft.in/about/</uri>
  </author>
  <rights>Copyright 2026 SystemCraft</rights>
  <icon>https://systemcraft.in/favicon-192x192.png</icon>
  <entry>
    <title>String Algorithms - KMP, Z-Function, Rolling Hash</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/dsa-fundamentals/string-algorithms/"/><id>https://systemcraft.in/dsa-fundamentals/string-algorithms/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">KMP failure function, Rabin-Karp rolling hash, and the Z-function for substring search, plus expand-around-centre palindromes, in Python/Java/C++/JavaScript.</summary><category term="DSA Patterns"/>
  </entry>
  <entry>
    <title>Search Indexing - Inverted Index and BM25</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/search-indexing/"/><id>https://systemcraft.in/concepts/search-indexing/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">How a search index actually works: inverted index, tokenisation and stemming, TF-IDF to BM25 ranking, immutable segments, and scatter-gather sharding.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Prefix Sum and Hashing - Subarray Patterns</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/dsa-fundamentals/prefix-sum/"/><id>https://systemcraft.in/dsa-fundamentals/prefix-sum/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">Prefix sums and hash maps: subarray sum equals K, divisible by K, 2D range queries, and difference arrays. Worked examples and Python/Java/C++/JavaScript code.</summary><category term="DSA Patterns"/>
  </entry>
  <entry>
    <title>Matrix and Grid Patterns - DSA Fundamentals</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/dsa-fundamentals/matrix-grid/"/><id>https://systemcraft.in/dsa-fundamentals/matrix-grid/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">Grid BFS and DFS, multi-source BFS, in-place 90 degree rotation via transpose and reverse, and spiral traversal. Code in Python, Java, C++ and JavaScript.</summary><category term="DSA Patterns"/>
  </entry>
  <entry>
    <title>LSM Trees and SSTables - Write-Optimised Storage</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/lsm-trees/"/><id>https://systemcraft.in/concepts/lsm-trees/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">How LSM trees beat B-trees on writes: memtables, SSTables, Bloom filters, size-tiered vs levelled compaction, tombstones, and the three amplifications.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Change Data Capture - CDC with Debezium and the WAL</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/change-data-capture/"/><id>https://systemcraft.in/concepts/change-data-capture/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">How CDC solves the dual-write problem: polling vs triggers vs log-based capture, Debezium and the WAL, snapshot-then-stream, and CDC versus outbox.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Design Trending Topics - Top K in a Stream</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/hld/TrendingTopics/"/><id>https://systemcraft.in/hld/TrendingTopics/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">System design for trending topics - Count-Min Sketch, Space-Saving heavy hitters, two-tier top-K aggregation, sliding windows, and rate-of-change ranking.</summary><category term="System Design"/>
  </entry>
  <entry>
    <title>Design Spotify - Music Streaming System Design</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/hld/Spotify/"/><id>https://systemcraft.in/hld/Spotify/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">System design for a music streaming service - pre-transcoded audio ladders, CDN delivery, instant playback prefetch, offline DRM, royalty-grade play counting.</summary><category term="System Design"/>
  </entry>
  <entry>
    <title>Design an E-Commerce Platform - Amazon and Flipkart</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/hld/EcommercePlatform/"/><id>https://systemcraft.in/hld/EcommercePlatform/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">System design for an e-commerce platform - preventing oversell with conditional updates and reservations, order sagas, checkout idempotency, and CDC-fed search.</summary><category term="System Design"/>
  </entry>
  <entry>
    <title>Design a Distributed Cache - System Design Interview</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/hld/DistributedCache/"/><id>https://systemcraft.in/hld/DistributedCache/</id>
    <published>2026-10-01T00:00:00+00:00</published>
    <updated>2026-10-01T00:00:00+00:00</updated>
    <summary type="text">Design a distributed cache like Redis Cluster - consistent hashing with virtual nodes, approximated LRU eviction, hot key replication, and stampede control.</summary><category term="System Design"/>
  </entry>
  <entry>
    <title>QPS vs TPS vs RPS - System Design</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/qps-tps-rps/"/><id>https://systemcraft.in/concepts/qps-tps-rps/</id>
    <published>2026-08-25T00:00:00+00:00</published>
    <updated>2026-08-25T00:00:00+00:00</updated>
    <summary type="text">QPS vs TPS vs RPS explained: what each unit counts, which layer it belongs to, why transactions are always the smallest number, and how to size from one to another.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Design a Freight Logistics System</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/hld/FreightLogistics/"/><id>https://systemcraft.in/hld/FreightLogistics/</id>
    <published>2026-08-19T00:00:00+00:00</published>
    <updated>2026-08-19T00:00:00+00:00</updated>
    <summary type="text">System design for a freight logistics platform with truck allocation, route optimization, real-time tracking, and ETA computation. Complete HLD with diagrams and data modeling.</summary><category term="System Design"/>
  </entry>
  <entry>
    <title>Design a Real-Time Bidding Platform</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/hld/FreightBidding/"/><id>https://systemcraft.in/hld/FreightBidding/</id>
    <published>2026-08-19T00:00:00+00:00</published>
    <updated>2026-08-19T00:00:00+00:00</updated>
    <summary type="text">System design for a real-time freight bidding platform where carriers compete on loads posted by shippers. Complete HLD with auction mechanics, WebSocket updates, and data modeling.</summary><category term="System Design"/>
  </entry>
  <entry>
    <title>Design a Rules Engine - Business Rules</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/hld/RulesEngine/"/><id>https://systemcraft.in/hld/RulesEngine/</id>
    <published>2026-08-17T00:00:00+00:00</published>
    <updated>2026-08-17T00:00:00+00:00</updated>
    <summary type="text">System design for a Business Rules Engine with condition expression parsing, event evaluation, Rete algorithm, hot reload, versioning, and action triggering. Complete HLD with diagrams and deep dives.</summary><category term="System Design"/>
  </entry>
  <entry>
    <title>Design an Image Processing Microservice</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/hld/ImageProcessing/"/><id>https://systemcraft.in/hld/ImageProcessing/</id>
    <published>2026-08-17T00:00:00+00:00</published>
    <updated>2026-08-17T00:00:00+00:00</updated>
    <summary type="text">System design for an async image processing pipeline with resize, compress, format conversion, worker pools, idempotency, and auto-scaling. Complete HLD with diagrams and deep dives.</summary><category term="System Design"/>
  </entry>
  <entry>
    <title>Snowflake vs UUID v7 vs ULID - Unique IDs</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/unique-ids/"/><id>https://systemcraft.in/concepts/unique-ids/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Snowflake vs UUID v7 vs ULID compared: sortability, bit layout, clock skew, and which to pick for distributed ID generation. Plus ticket servers and base62.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>UML Class Diagrams - Relationships</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/uml-class-diagrams/"/><id>https://systemcraft.in/lld-fundamentals/uml-class-diagrams/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">UML class diagrams for LLD interviews: association, aggregation, composition, inheritance, and dependency. Quick notation guide with Mermaid examples you can use in 90 minutes.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Transaction Isolation Levels - ACID and MVCC</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/transactions-isolation/"/><id>https://systemcraft.in/concepts/transactions-isolation/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to database transactions and isolation levels for system design interviews. ACID properties, read committed vs repeatable read vs serializable, dirty reads, write skew, MVCC, and 2PC.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>System Design Terminology - 180+ Distinctions</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/terminology/"/><id>https://systemcraft.in/concepts/terminology/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Partition vs sharding, latency vs response time, linearizability vs serializability, authentication vs authorization. The precise vocabulary distinctions system design interviewers probe, in one rapid-fire reference.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Template Method Pattern - Algorithm Skeletons and Hooks</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/template-method-pattern/"/><id>https://systemcraft.in/lld-fundamentals/template-method-pattern/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Template Method pattern: define algorithm structure in base class, let subclasses override specific steps. ETL pipelines, order processing, and test frameworks in Java, Python, C++.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Strategy Pattern - When and How to Use It</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/strategy-pattern/"/><id>https://systemcraft.in/lld-fundamentals/strategy-pattern/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Strategy pattern explained with real examples: parking allocation, rate limiting, pricing. Code in Java, C++, Python. Know when to use it vs simpler alternatives.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>State Pattern - State Machine Implementation</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/state-pattern/"/><id>https://systemcraft.in/lld-fundamentals/state-pattern/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">State pattern for LLD interviews: eliminate nested if-else with clean state transitions. Vending machine and order lifecycle examples in Java, Python, C++.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>State Machines in LLD - Enum-Based FSM</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/state-machines/"/><id>https://systemcraft.in/lld-fundamentals/state-machines/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Implement state machines for LLD interviews: enum-based FSM, transition tables, guard conditions. Order lifecycle, elevator control, vending machines in Java, Python, C++.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>SOLID Principles with Code Examples</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/solid-principles/"/><id>https://systemcraft.in/lld-fundamentals/solid-principles/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Master all 5 SOLID principles with real violation examples and fixes in Java, Python, C++. Practical guide for LLD interviews with before/after code.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Singleton Pattern - Thread-Safe and Pitfalls</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/singleton-pattern/"/><id>https://systemcraft.in/lld-fundamentals/singleton-pattern/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Singleton pattern done right: thread-safe implementations, double-checked locking, enum singleton. Learn when Singleton is appropriate and when it&apos;s an anti-pattern.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Saga Pattern - Choreography vs Orchestration</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/saga-pattern/"/><id>https://systemcraft.in/concepts/saga-pattern/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to the Saga pattern in system design interviews. Distributed transactions, choreography vs orchestration, compensating transactions.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Rate Limiting - Token Bucket, Sliding Window</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/rate-limiting/"/><id>https://systemcraft.in/concepts/rate-limiting/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to rate limiting for system design interviews. Token bucket, sliding window, leaky bucket algorithms. Distributed rate limiting with Redis.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Performance Metrics - p99, Little&apos;s Law, SLOs</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/performance-metrics/"/><id>https://systemcraft.in/concepts/performance-metrics/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to performance vocabulary for system design interviews. Latency vs throughput, p50/p99/p999, Little&apos;s Law, tail amplification, queueing theory, SLI/SLO/SLA, error budgets.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Over-Engineering in LLD - YAGNI and When NOT to Use Patterns</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/over-engineering/"/><id>https://systemcraft.in/lld-fundamentals/over-engineering/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Avoid over-engineering in machine coding rounds. Learn YAGNI, when patterns hurt, and how to keep designs simple without being simplistic. Practical LLD interview advice.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Observer Pattern - Event-Driven Design</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/observer-pattern/"/><id>https://systemcraft.in/lld-fundamentals/observer-pattern/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Observer pattern for LLD: decouple publishers from subscribers using event-driven design. Payment notifications, stock tickers, and real-time updates in Java, Python, C++.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Observability - RED vs USE, Metrics vs Logs</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/observability/"/><id>https://systemcraft.in/concepts/observability/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to observability for system design interviews. Metrics vs logs vs traces, the four golden signals, RED and USE methods, distributed tracing, cardinality explosion, and alerting on symptoms.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Networking Basics - TCP, UDP, HTTP/3, DNS, TLS</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/networking-basics/"/><id>https://systemcraft.in/concepts/networking-basics/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Networking fundamentals for system design interviews. TCP vs UDP, HTTP/1.1 vs HTTP/2 vs HTTP/3, QUIC, DNS resolution, TLS handshakes, keep-alive, head-of-line blocking, and OSI layers.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Money Handling - BigDecimal and Ledgers</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/money-handling/"/><id>https://systemcraft.in/lld-fundamentals/money-handling/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Correct money handling in code: avoid floating point, use minor units or BigDecimal, implement proper ledger patterns. Java, Python, C++ examples for LLD interviews.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Machine Coding Round - Format and Strategy</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/machine-coding-round/"/><id>https://systemcraft.in/lld-fundamentals/machine-coding-round/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to machine coding interviews: format, grading rubric, 90-minute timing breakdown, and how it differs from DSA rounds. Prepare with real strategies.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Load Balancing - Algorithms and L4 vs L7</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/load-balancing/"/><id>https://systemcraft.in/concepts/load-balancing/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to load balancing for system design interviews. Round Robin, Least Connections, Consistent Hashing, L4 vs L7, health checks, sticky sessions.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Leader Election in System Design - Raft, ZooKeeper, Bully</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/leader-election/"/><id>https://systemcraft.in/concepts/leader-election/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to leader election in system design interviews. Bully algorithm, Raft consensus, ZooKeeper ephemeral nodes, split-brain prevention.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Inheritance vs Composition - When to Use Which in OOP</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/lld-fundamentals/inheritance-vs-composition/"/><id>https://systemcraft.in/lld-fundamentals/inheritance-vs-composition/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Inheritance vs composition with real tradeoffs: when IS-A makes sense, when HAS-A is better, and how to refactor from inheritance to composition. Java, Python, C++ examples.</summary><category term="LLD Fundamentals"/>
  </entry>
  <entry>
    <title>Idempotency Keys - Patterns and Retry Safety</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/idempotency/"/><id>https://systemcraft.in/concepts/idempotency/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Complete guide to idempotency in system design interviews. Idempotency keys, Redis implementation, at-least-once delivery with exactly-once semantics.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Heartbeat vs Health Check - System Design</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/heartbeat/"/><id>https://systemcraft.in/concepts/heartbeat/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Heartbeat vs health check: who initiates, push vs pull, liveness vs readiness probes, timeout tuning, and gossip-based failure detection.</summary><category term="Concepts"/>
  </entry>
  <entry>
    <title>Fan-Out on Write vs On Read - System Design</title>
    <link rel="alternate" type="text/html" href="https://systemcraft.in/concepts/fan-out/"/><id>https://systemcraft.in/concepts/fan-out/</id>
    <published>2026-08-14T00:00:00+00:00</published>
    <updated>2026-08-14T00:00:00+00:00</updated>
    <summary type="text">Fan-out on write vs fan-out on read: push at post time or pull at read time, the celebrity problem, and the hybrid approach news feeds actually use.</summary><category term="Concepts"/>
  </entry>
</feed>
