FreeExam
A closed notebook, a blank card, and a pencil on a wooden desk.

Technical leadership

50 cards

Leading a design system, a migration, a performance budget, and the people shipping UI.

Card 1 of 50

Front. Consolidate. What do you settle before merging component libraries?

These cards are original study material. They are not questions from a named employer or a live hiring loop.

All 50 cards in this deck

  1. 1.Consolidate

    What do you settle before merging component libraries?

    Which one is the destination, how a team moves one screen, and who decides a conflict. A new third library is how you get four.

  2. 2.Critique

    How do you run a design critique?

    On the work, against the requirements. Personal comments in the room teach everyone else to stay quiet.

  3. 3.Adr

    Why record the options you rejected?

    So the next person does not propose the same one, and so the reason is still there when the author has moved on.

  4. 4.Jquery

    How do you justify removing old UI code?

    Name the next change the old code blocks, or the bug it still causes, and which screens that hits. That cost is what earns the cleanup a place on the roadmap.

  5. 5.Status

    What is a useful migration status?

    How many screens have moved, how many remain, the current blocker, and whether the date still holds. A percent is that first count divided by the second.

  6. 6.Bundle-growth

    How do you catch a bundle that grew with no single cause?

    A size check on each change, with an owner for the budget. Quarterly surprise means nothing was watching the diffs.

  7. 7.A11y-coach

    How do you raise accessibility on a team new to UI?

    A short checklist in review, and one example fixed together. A policy doc nobody practices does not change the pages.

  8. 8.Honest

    Why not stay green when you expect a slip?

    The people who could cut scope or move the date find out too late to do either.

  9. 9.Sell-ds

    How do you make a design system matter to product?

    Show the time a screen saves when the control already exists, and the bugs a one-off control keeps shipping.

  10. 10.Bottleneck

    What do you do if every UI change waits on you?

    Write the bar down and let others approve against it. A review only you can do does not scale past your calendar.

  11. 11.Budget

    Who owns the performance budget?

    A named person, a check that fails the build, and a rule for an exception. A shared wish owns nothing.

  12. 12.Visual-debt

    What is visual debt?

    One-off colors, spaces, and components that drifted from the system. Each new screen copies the drift.

  13. 13.Migration-slice

    How do you sequence a framework migration?

    One route that proves the path, then the routes users hit most. A branch that rewrites everything merges too late to trust.

  14. 14.Flag

    When do you remove a UI flag?

    When the new path is the only path and the old code is deleted. A flag left at 100 percent is still a branch.

  15. 15.Compat

    How do you change a shared component?

    Add the new behavior as an option, move callers, then change the default. A breaking visual change in a patch surprises every screen.

  16. 16.Token-change

    What do you check before changing a token?

    Which components use the token, and a screenshot pass of those screens. A color token is global, so one edit lands on every screen that references it.

  17. 17.Hiring

    What do you hire for on a frontend team?

    Someone who can debug a paint or a state bug in the browser, and who notices a keyboard user. Framework trivia is a weak signal.

  18. 18.Oncall

    What is frontend on-call looking at?

    The error rate of the release, the route, and whether a rollback stops it. A stack trace with no release id wastes the first look.

  19. 19.Rollback

    When do you roll back a frontend release?

    When the new release's errors or the core action regress, and a fix forward would take longer than the rollback.

  20. 20.Incident

    What does the frontend owner bring to an incident?

    Whether the failure is in the client, the payload, or the API, and which release is serving. Guessing in the channel slows the split.

  21. 21.Roadmap

    How do you put platform work on a product roadmap?

    Next to the feature it unblocks, with the cost of not doing it. A separate 'tech' list gets cut first.

  22. 22.No

    How do you refuse a one-off component?

    Point at the existing one and the gap. If the gap is real, add it to the system. A private copy will be the next team's starting point.

  23. 23.Office-hours

    What are design-system office hours for?

    A set time when teams can get a review without waiting for a ticket to age. It keeps the system from becoming a gate.

  24. 24.Contribution

    How should another team add a component?

    Through the system's review, with the states and the accessibility checked. A drop-in file with no owner becomes abandoned.

  25. 25.Versioning

    How do you version a component library?

    A breaking change is a major version, with notes on how to move. Shipping breaks as patches trains teams to pin forever.

  26. 26.Pin

    Why do teams pin an old library?

    Because an upgrade broke them once and the notes were poor. Easy upgrades, and a codemod, are how you get them current.

  27. 27.Codemod

    What is a codemod?

    A scripted rewrite of call sites for an API change, so a migration is not a hundred manual edits.

  28. 28.Measure

    How do you know a UI migration finished?

    The old package is gone from the builds, not merely unused on the happy path. A leftover import still ships.

  29. 29.Experiment

    What do you agree before a UI experiment?

    The metric, the audience, and the date it ends. An experiment with no end becomes the permanent fork.

  30. 30.I18n-lead

    When do you add localization to the system?

    Before many screens hardcode strings. Retrofitting layout for longer text is more expensive than starting with tokens and external strings.

  31. 31.Staffing

    What do you do if three teams need the same UI skill?

    Put the shared work in one system with contributors, instead of hiring a specialist into each team to rebuild it.

  32. 32.Feedback

    How do you give feedback on a UI review?

    Point at one state, the empty view, the error, or the keyboard focus, and say what should happen there. The author can change that in the next commit.

  33. 33.Delegate

    How do you hand off a surface you built?

    The routes, the data, the known bugs, and who approves a change. Staying the silent reviewer means you still own it.

  34. 34.Conflict

    Two teams want different behavior from one component. What do you do?

    Find out if it is two components. Forcing one API to mean both things makes every call site harder.

  35. 35.Quality

    What is the merge bar for UI?

    The empty, loading, and error states, and a keyboard path through the new controls, are reviewed with the happy path. All of them have to pass before the change merges.

  36. 36.Postmortem

    What does a UI-caused incident write up?

    Which release, which route, who it blocked, and the guard that would have caught it: a test, a budget, or a rollback switch.

  37. 37.Blameless

    How do you keep a UI incident blameless?

    Name the missing check. A wrong color or a bad deploy is a system gap if nothing stopped it.

  38. 38.Priority

    A feature and a contrast bug compete. How do you order them?

    The contrast bug blocks people from the feature. Fix the blocker, or ship the feature with the contrast already right.

  39. 39.Spike

    What is a UI spike for?

    To learn whether an interaction is feasible, such as a virtualized list at the real size, before you promise the screen.

  40. 40.Prototype

    How is a prototype different from the delivery?

    It answers a question and can be thrown away. Production has the error, the empty state, and the accessibility the prototype skipped.

  41. 41.Decision

    What goes in a frontend decision record?

    The constraint, the option chosen, and the ones rejected. 'We picked X' with no constraint will be re-litigated.

  42. 42.Silence

    The room agrees with you immediately. What do you change?

    Ask a named person for the risk before you speak. Instant agreement often means they are waiting to hear your preference.

  43. 43.Mentoring

    How do you grow a frontend engineer?

    Give them a surface to own, including its errors and its bundle, with you reviewing rather than rewriting.

  44. 44.Cross

    Backend engineers are writing internal UI. What do you offer?

    The system components and a short review, so the tools stay usable. Rewriting their pages for them does not teach the next one.

  45. 45.Launch

    What do you check on a frontend launch?

    The metric, the error rate by release, and a way to turn it off. Watching only the deploy pipeline misses a broken route.

  46. 46.Debt-list

    How do you keep a debt list from rotting?

    Each item names the next feature it taxes. Items with no tax get deleted from the list or they crowd out the real ones.

  47. 47.Vendor

    What do you decide before adopting a UI vendor?

    What happens if you must leave: the components you would have to rebuild, and whether the data is yours.

  48. 48.Access-bar

    What is an accessibility bar for a release?

    The new UI is usable by keyboard and the names are announced. A separate 'accessibility phase' after launch ships the barrier first.

  49. 49.Perf-reg

    A change regresses the main route's load time. What do you do?

    It does not ship until it fits the budget or the budget is explicitly raised. A follow-up ticket is how the regression becomes the baseline.

  50. 50.Ownership

    Who owns a shared header?

    A named team. 'Everyone' means a change has no reviewer who knows the callers.