As asked
Walk me through how you would architect a three-tier design token system, from primitive tokens through semantic tokens to component tokens. What naming conventions do you enforce, and how do you decide which layer a given value lives in?
Sample answer outline
Strong answers distinguish primitives (raw values like color-blue-500), semantics (purpose-bound aliases like color-action-primary), and component tokens (component-button-background-default). The candidate should explain that consumers should almost never reference primitives directly, that semantic aliases allow theming without touching component definitions, and that component tokens give component authors an escape hatch for exceptions.
Expect these follow-ups
- How do you enforce that engineers don't bypass semantic tokens and reach for primitives?
- How would you structure tokens for a dark-mode theme alongside a high-contrast accessibility theme without duplicating your entire token set?