Browse through all our published articles and discover knowledge across various topics
376 Articles
Java
Learn graphs in Java from scratch: nodes and edges, adjacency lists, and the two essential traversals — BFS with a queue and DFS with recursion, plus the visited-set trick.
System Design › Fundamentals
How do you keep an operation all-or-nothing across many microservices when each has its own database? The Saga pattern, compensating transactions, orchestration vs choreography, and the outbox pattern — fresher to senior.
Java
Learn heaps and PriorityQueue in Java: the min-heap rule, O(1) peek and O(log n) insert/remove, max-heaps, and the Top-K interview pattern.
System Design › Fundamentals
The 5 rate-limiting algorithms explained from scratch — fixed/sliding window, token bucket, leaky bucket — plus how to do it across many servers with Redis. A fresher-to-senior guide.
Java
Learn trees and binary search trees (BST) in Java: nodes and children, the BST ordering rule, O(log n) search, in-order traversal, and why balance matters.
Java
Master hashing in Java: how HashMap and HashSet give O(1) lookups, and the Two Sum pattern that turns O(n^2) brute force into O(n). The key DSA tool.
System Design › Fundamentals
REST, gRPC, and GraphQL explained from scratch — and exactly when to pick which. A fresher-to-senior guide with a comparison diagram, plus API versioning and pagination.
Java
Learn stacks (LIFO) and queues (FIFO) in Java with clear analogies and code: push/pop, offer/poll, O(1) operations, and the balanced-brackets interview problem.
System Design › Fundamentals
Message queues explained — synchronous vs asynchronous, producers/queue/consumers, why queues decouple and absorb spikes, queue vs pub/sub, Kafka topics/partitions/consumer groups/offsets, and at-least-once delivery with idempotent consumers.
Java
Learn linked lists in Java from scratch: nodes and pointers, traversal, O(1) front insertion, arrays vs linked lists, and reversing a linked list.
Java
Understand sorting in Java: bubble sort, merge sort, and quick sort with clear examples, plus why real code should just use Arrays.sort and Collections.sort.
System Design › Fundamentals
Consistent hashing explained from the problem up — why plain hash % N breaks when you add a server, how the hash ring maps keys to the next server clockwise so only 1/N of keys move, virtual nodes for even load, and where it is used.