Intermediate interview questions in Design Systems, page 2
Building a design system quarterly roadmap
Combine usage and adoption data, support tickets, stakeholder interviews, and a debt ledger into a scored backlog with a deliberate debt allocation.
Classifying a visually breaking padding change
A layout-shifting padding change is effectively breaking, so major; release with visual diffs, a migration note, and a token or opt-in path.
Designing a component deprecation process
Announce with a replacement and timeline, mark deprecated with runtime and lint warnings, provide codemods, then remove only in a major release.
Governance model for specialized contributions
Define a governance model, RFC and shared-need gate, tiered intake (core vs community), CI and CODEOWNERS review, then versioned release.
Designing a UI consistency score
Combine signals like token vs hard-coded values, design-system vs off-system components, and override rates, then automate via AST scans and CI.
Quantifying migration cost for a major release
Pre-release, scan codebases for affected usages and estimate engineer-hours; post-release, track actual upgrade lead time and effort.
Tracking design system component usage and versions
Static scan of code or lockfiles, a central reporting store, and a dashboard; data drives deprecation and roadmap.
Structuring tokens for brand and sub-brand inheritance
Tiered tokens (primitive, semantic, component), sub-brands override only semantic aliases, and references keep inheritance live.
Architecting a themeable React component library
A ThemeProvider supplying tokens through Context, components reading them, and CSS variables for performance.
CSS custom properties versus Sass for theming
Custom properties are live and cascade for dynamic switching; Sass variables compile away.
Versioning and distributing multi-platform tokens
JSON source, Style Dictionary transforms per platform, semantic versioning, and per-platform package registries in CI.
Sharing logic, native UI across platforms
Shared module (e.g. Kotlin Multiplatform) for state/business rules, platform-native UI consuming it, and a clean interface boundary.
Responsive Tabs with one consistent API
One stable public API (items, value, onChange), internal swap of presentation by breakpoint, and shared selection state.
Modeling a confirmation action for voice
Model confirmation as a modality-agnostic intent, add voice tokens (prompts, accepted phrases, reprompts, timeouts), and map intent to each modality.
Challenges of breaking changes in a design system
Technical (semver, codemods, coexistence) and organizational (comms, migration support, timelines) challenges.
Versioning and shipping design tokens via NPM
Semver, deprecate-before-delete with aliases, codemods and migration guides.
Rolling out a breaking change to a shared Button
Major semver bump, deprecation period, codemod and migration guide, staged comms.
Composite components versus layout primitives
Primitives give flexibility and composition, composites enforce consistency, choose by reuse and variation.
Documenting accessibility per component
Per-component a11y sections, keyboard tables, ARIA roles and states, live examples.
Architecting a federated documentation site
Docs-as-code with a manifest, CI publishing artifacts, a build that pulls and merges, unified deploy.
We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.
See open roles