- Designing a Chat System
Real-time messaging end to end. Polling, long polling, server-sent events and WebSockets — what each costs and when each is right; the connection registry that lets one server find a user connected to another; message ordering when clocks disagree; storage that supports "load older messages" cheaply; group chat fan-out and the point at which it stops working; presence, delivery receipts and offline delivery.
- MySQL – Built-in Functions
The functions you reach for weekly. String work with CONCAT, CONCAT_WS, SUBSTRING, TRIM, REPLACE, UPPER and LOWER, LPAD — the one the schema uses to backfill UUIDs — numbers with ROUND, CEIL, FLOOR, ABS and MOD, why ROUND on a DECIMAL and on a FLOAT do not agree, GROUP_CONCAT for rolling a group into one string, and UUID() and RAND().
- LeetCode 64 – Minimum Path Sum
Same table, one operator changed, and with it the entire class of problem. Building the grid where the greedy loses instead of just claiming it does, why a missing neighbour is infinity here when it was zero in the counting version, and why Integer.MAX_VALUE as the sentinel overflows into a path through the wall.
- LeetCode 63 – Unique Paths II
Unique Paths with obstacles: the recurrence is unchanged, one guard goes in front of it. An obstacle means zero paths, and zeros propagate on their own with no unreachable-region detection. The trap is the first row and column, where one obstacle cuts off everything after it.
- MongoDB – Installation and mongosh
Get a MongoDB running in Docker, connect with mongosh, and understand why this track runs a replica set from the very first command.