- Vue – provide and inject
Getting a value to a deep descendant without threading it through every component in between. `provide` and `inject`, injection keys and why a Symbol beats a string, default values, keeping provided state readonly so a child cannot silently rewrite it, and the honest comparison with Pinia — which one a piece of shared state actually belongs in.
- Vue – Composables: Reusing Logic
The pattern that replaced mixins and the single most useful thing the Composition API bought. What makes a function a composable, the `useX` naming convention, returning refs so the caller keeps reactivity, accepting refs or getters as arguments, cleaning up inside one, and where custom directives fit as the other half of Vue's reusability story.
- Vue – Lifecycle Hooks and Template Refs
When your code runs. `onMounted`, `onBeforeUnmount` and the ones in between, why every listener, timer and observer you create needs an unmount that undoes it, template refs for reaching a real DOM node — the `<video>` element the player controls — refs inside a `v-for`, and `nextTick` for the moment after the DOM has caught up with your data.
- Vue – Slots
Letting a caller pass markup in, not just data. The default slot and fallback content, named slots and the `#name` shorthand, scoped slots that hand data back out to the caller, and how to tell when a problem wants a slot rather than another prop — the question is whether the parent is deciding *what it looks like* or *what it says*.
- System Design Interview Questions
The questions you need to be able to answer, with answers that are short enough to say out loud. Fundamentals, scaling, data, distributed systems and the case-study openers — each answered in a few sentences, each linked to the post that works it through properly, and each followed by the follow-up an interviewer actually asks next.