Design Systems
204 bites tagged Design Systems — interview questions with model answers, and 60-second explainers.
Why use button variants instead of separate components per state?
Tests Figma component set organization and scalability. Strong answers cite flexible property mixing, reduced combinatorial bloat, and cleaner dev handoff. Red flag: saying only "it's cleaner" without naming navigability or system integrity.
How do Figma variants influence component code structure?
Tests design-to-code translation and component API modeling. Map variant properties to semantic props like size and type; handle interactive states internally via CSS. Prioritize property names over pixel values.
How would you map Figma Variables to CSS Custom Properties for tokens?
This tests bridging Figma variable collections and modes into maintainable CSS. A strong answer maps collections to semantic CSS custom properties, supports mode switching via data attributes, and mirrors design system naming.
How do you export and optimize a Figma SVG for web?
This tests your design-to-code workflow. A strong answer covers: selecting the vector layer, adding an SVG export in the right sidebar, and running the output through SVGO to strip metadata and flatten transforms.
What is the most efficient way to update a brand color globally?
This tests Figma variables versus styles for design system maintenance. Store the brand color as a variable, apply it across components, and edit the value once for global propagation. Red flag: manual updates or using a color style for a single raw value.
Create a button component with default, hover, and disabled variants
This tests Figma component variants and prototyping. A good answer: create a component set with a State property, build default, hover, and disabled variants, wire Change to with While hovering. Red flag: separate components instead of one variant set.
Build a responsive feature grid with nested Auto Layout and component properties
This tests nested Auto Layout fluency for responsive grids. Strong answer: vertical section frame with wrapping horizontal row, cards with 280 px min widths, and component properties to swap content. Red flag: duplicating static artboards per breakpoint.
Structure a responsive nav bar using variants and Auto Layout
One component set with desktop/mobile variants; horizontal Auto Layout with wrap for links, then hamburger and vertical overlay. Tests component architecture and responsive layout. Using separate components instead of variant-driven states.
When would you use absolute position in an Auto Layout frame?
Absolute position lets badges float without pushing siblings; standard flow stacks sequentially and prevents overlap. When to escape Auto Layout flow for overlaps. Using spacer hacks instead of the absolute toggle.
Section-Scoped Variable Modes in Figma
A Figma section acts as a local variable mode override, letting you park dark-mode beside light-mode on the same page. Watch out for nested sections: conflicting mode overrides stack silently, and the deepest scope always wins without warning.
Generative AI Plugins in Figma
Figma AI plugins are a junior designer on demand: prompt for UI, copy, or images and get editable layers. Use them to unblock frames. Never ship raw output; generated layers break auto-layout and ignore accessibility, so treat them as scratchpads, not specs.
Figma Boolean Variables: State Without Variant Sprawl
A boolean variable is a light switch for your component: one true/false value reveals badges or loaders instantly. Use it for binary states like visibility across a system. The trap is wiring too many switches into one component, making debugging a hunt.
Figma Branch Reviews: Merge Gates for Design
A Figma branch review is a merge gate: reviewers diff changes against main and approve before merge. Use it when designers share a system or a lead must sign off. The footgun is rubber-stamping and missing broken component links that corrupt the main file.
Handoff Plugins Bridge Figma to Code
Handoff plugins are automated translators between Figma and code, turning visual specs into tokens or components. They speed up design systems where manual inspection is a bottleneck. The footgun is treating generated output as production-ready without review.
Boolean Component Properties in Figma
Boolean properties in Figma are light switches for layers inside a component. They let you toggle an icon or badge on and off without spawning extra variants. The catch is that hiding a layer can break auto-layout if that layer was anchoring spacing.
Text Resizing in Figma Auto Layout
Text in Auto Layout does not wrap by default. A label set to Auto Width grows forever, while a parent set to Hug follows it. The footgun is leaving text on Auto Width inside a responsive card and expecting it to behave like a paragraph.
Is Tailwind maintainable at scale, and what patterns support your claim?
Tests your CSS architecture judgment with utility-first scaling patterns. Strong answers pick a side, citing three patterns: strict tailwind config, components hiding class soup, and sparing @apply.
Design a type-safe polymorphic component that renders as different HTML elements
Tests TypeScript generics and prop forwarding in design systems. Answer: generic as constrained to keyof JSX.IntrinsicElements, merged with ComponentPropsWithoutRef<C>, omit clashes, forward ref with ElementRef.
What WAI-ARIA attributes and keyboard interactions make Tabs accessible?
This tests mastery of the W3C Tabs pattern. A strong answer covers role tablist tab tabpanel, aria-selected, aria-controls, and arrow-key roving focus with optional auto-activation. A red flag is treating tabs as buttons and relying only on the Tab key.
How do you handle a product team requesting a custom Button?
This tests governance discipline. A strong answer asks context questions to separate misuse from a real gap, uses a decision tree for actions and CTAs, and extends the system with a documented variant. A red flag is instantly greenlighting a custom fork.
Token Aliasing: Theme by Role, Not Value
Token aliasing names a color by its job, not its hex, so you swap the underlying value per theme. One library supports light mode, dark mode, or multiple brands without code changes. The footgun is deep alias chains that hide which primitive value renders.
Design System API Review
A design system API review treats component props as a public contract before code ships. It catches inconsistent naming, prop bloat, and breaking changes that fragment the product. Teams skip it because "it is just UI," creating unmaintainable interfaces.
Automated Deprecation Warnings in Design Systems
Deprecation warnings are a design system's immune system: they flag outdated components in an editor before bad code ships. They matter most when dozens of teams consume the system. The footgun is warning fatigue; silenced errors hide real breaking changes.
Release Cadence: The Design System Heartbeat
Release cadence is the heartbeat of a design system: a fixed shipping rhythm that lets teams plan upgrades instead of absorbing random change. It is vital when many squads share a library.
Get Design Systems bites daily.
Five a day, five minutes, offline. With quizzes so it sticks.
Open testing — you’ll join as an early tester.