- Dynamic Programming
Solve each subproblem once and remember the answer. The two conditions that have to hold, top-down memoisation versus bottom-up tables, and the jump from O(2^n) to O(n) on Fibonacci. Plus coin change, knapsack, LCS and Kadane's algorithm.
- React – Refs
A ref is a value a component remembers that does not trigger a render when it changes. Reaching a real DOM node to focus, measure or scroll it, holding a timer id between renders, why reading or writing a ref during render is a bug, and how ref differs from state in one table.
- Angular – Guards, Resolvers and Lazy Loading
Keeping signed-out visitors out of the admin area, and keeping the admin area out of everyone else's download. Functional `CanActivate` guards that return a `UrlTree`, `CanDeactivate` for the checkout page's unpaid order — including how returning a promise lets it ask in a modal instead of `window.confirm` — and `loadComponent` / `loadChildren` lazy loading with proof in the build output.
- Docker Compose – depends_on, Healthchecks and Startup Order
`depends_on` waits for the container to start, not for the service inside it to be ready — so the app races MySQL and dies on a connection refused that looks like a database bug. Writing a healthcheck, `condition: service_healthy`, `up --wait`, and why the app should still retry anyway.
- Hasura – Event Triggers and Scheduled Triggers
Running code when data changes, without polling. Event triggers fire a webhook on insert, update or delete and retry it with a backoff; scheduled triggers do the same on a cron or at a one-off future time. Delivery guarantees, why your handler must be idempotent, and how to inspect and replay a failed event. Shown on a real bookings table — and with the awkward v3 news stated plainly: event triggers are still work in progress and cron triggers are not supported at all.