Offmute
Interview questions · Frontend Engineer

Frontend Engineer interview questions

47 questions asked in Frontend Engineer interviews, on React, performance, accessibility and design systems. They are built from thousands of real job ads. Under each one: what the interviewer is listening for, and the follow-up they may ask. For the recruiter call, see the HR screen questions.

Behavioral questions

Questions about how you work in this role. More in behavioral questions for any tech role.

  1. 1

    Tell me about a time a design was hard or slow to build. How did you work it out with the designer?

    All levels

    Listening for Raises the problem early, offers options, respects the design goal.

    Follow-up Ask what the final result looked like.

  2. 2

    Think of a time the API you needed wasn't ready or didn't fit the screen. How did you keep going?

    Junior, Mid

    Listening for Mocks, agrees on a contract, talks to the backend team rather than waiting.

    Follow-up Ask what they would do sooner next time.

  3. 3

    Tell me about a time your work had to run on an old browser or slow device you hadn't planned for.

    Junior, Mid

    Listening for Finds out, adjusts and tests on real devices.

    Follow-up Ask what they now check at the start of a project.

  4. 4

    What's a performance improvement you're proud of? How did you show it made a difference?

    Mid, Senior

    Listening for Before and after numbers, ideally tied to users or business.

    Follow-up Ask how they kept it from getting slow again.

  5. 5

    Have you ever argued for accessibility work when it wasn't on the roadmap? How did it go?

    Mid, Senior

    Listening for Makes the case with users, risk or data and finds a practical way in.

    Follow-up Ask what they would do if the answer was still no.

  6. 6

    Tell me about a frontend codebase you inherited that was hard to work in. What did you change first?

    Mid, Senior

    Listening for Picks changes by impact, improves step by step while shipping.

    Follow-up Ask what they chose to leave alone.

  7. 7

    Tell me about a time a change to a shared component broke screens owned by other teams.

    Senior

    Listening for Owns the fix, talks to the teams and changes the release process.

    Follow-up Ask how they ship shared changes now.

Technical discussion questions

Talking through your experience and decisions, not a coding test. Grouped by topic.

TypeScript

  1. 1

    Tell me about a bug TypeScript caught for you, or one it missed even though you had types.

    Junior, Mid

    Listening for Understands what types guarantee and where they stop, such as API data.

    Follow-up Ask how they handle data coming from the network.

  2. 2

    We have a large JavaScript codebase. How would you move it to TypeScript without stopping feature work?

    Mid, Senior

    Listening for File by file, strictness in steps, typing shared code first, keeping the build green.

    Follow-up Ask how they would know when it is done.

React

  1. 3

    Typing into a search box makes the whole page lag. What would you suspect, and how would you check?

    All levels

    Listening for Too many re-renders, state too high in the tree, heavy work on every key; uses the profiler and debouncing.

    Follow-up Ask how they would confirm the fix.

Web performance

  1. 4

    Our product page takes five seconds to load on a mid-range phone. How would you find what's slow?

    Junior, Mid

    Listening for Measures with real tools (DevTools, Lighthouse, field data) before guessing, and looks at network, JavaScript and rendering.

    Follow-up Ask what they would fix first.

  2. 5

    When would you render a page on the server instead of in the browser, and what would it cost you?

    Mid, Senior

    Listening for SEO, first load and slow devices against server cost, caching and complexity.

    Follow-up Ask how they would decide for a logged-in dashboard.

  3. 6

    How would you stop a large web app from getting slower every quarter as teams add features?

    Senior

    Listening for Budgets in CI, field metrics, ownership and making the fast path the easy path.

    Follow-up Ask how they would handle a team that keeps breaking the budget.

Frontend architecture

  1. 7

    How was the code organised in the last frontend project you worked on, and what would you change?

    Junior

    Listening for Can explain the structure and its reasons, and has an opinion of their own.

    Follow-up Ask where new people got lost.

  2. 8

    A component you're working on has grown to a thousand lines. How would you break it up?

    Junior

    Listening for Splits by responsibility, pulls out logic and state, keeps behaviour the same with tests.

    Follow-up Ask how they would review that change safely.

  3. 9

    Five teams ship into the same web app and keep blocking each other's releases. How would you change the setup?

    Senior

    Listening for Ownership boundaries, independent deploys or micro-frontends, shared libraries and their cost.

    Follow-up Ask what they would not split.

Accessibility

  1. 10

    A user who can't use a mouse says our signup form is hard to use. What would you check?

    Junior, Mid

    Listening for Focus order, visible focus, labels, error messages read by screen readers, real buttons.

    Follow-up Ask how they would test it themselves.

  2. 11

    How would you make accessibility part of how the team builds, rather than a fix at the end?

    Mid, Senior

    Listening for Accessible shared components, automated checks plus manual testing, design reviews.

    Follow-up Ask what they would do about the existing screens.

  3. 12

    A key screen in our product is a chart. How would you make it usable for someone with a screen reader?

    Senior

    Listening for Text summaries, data tables, labels and colour choices that work for everyone.

    Follow-up Ask how they would agree on this with design.

Design systems

  1. 13

    Walk me through how you'd build a button component that other teams will reuse.

    Junior, Mid

    Listening for Thinks about variants, states, accessibility, theming and a small, clear API.

    Follow-up Ask how they would change it later without breaking users.

  2. 14

    Several teams have built their own versions of the same components. How would you bring them onto one design system?

    Mid, Senior

    Listening for Starts with the most used components, makes moving easy, works with design, tracks adoption.

    Follow-up Ask what they would do with a team that refuses.

  3. 15

    Design wants to add a dark theme and a second brand to our product. How would you set up the frontend so that's not a rewrite?

    Senior

    Listening for Design tokens, theming through variables, components that never hard-code colours.

    Follow-up Ask how they would find all the places that break.

JavaScript

  1. 16

    A bug happens only in production for some users, never on your machine. How would you track it down?

    Junior, Mid

    Listening for Error tracking, source maps, browser and device details, logs and trying to reproduce.

    Follow-up Ask what they would add so it is easier next time.

  2. 17

    Users can post comments that other users see. What would you check to make sure a comment can't run scripts on someone else's page?

    Mid, Senior

    Listening for Escaping by default, care with raw HTML, sanitising and a content security policy.

    Follow-up Ask where the frontend should not be the only defence.

State management

  1. 18

    In an app you've worked on, how did you decide what goes in global state and what stays inside a component?

    Junior, Mid

    Listening for A clear rule of thumb, with server data treated differently from UI state.

    Follow-up Ask about a time that choice caused a bug.

  2. 19

    Server data, form state and UI state are all mixed in one big store in our app. How would you untangle it?

    Mid, Senior

    Listening for Separates server cache from client state, moves local state down, migrates step by step.

    Follow-up Ask how they would avoid a big-bang rewrite.

Testing

  1. 20

    When you build a new component, what tests do you write for it, and why those?

    Junior, Mid

    Listening for Tests behaviour a user sees, not internals, and picks the right level.

    Follow-up Ask what they would not bother testing.

  2. 21

    Our end-to-end tests fail randomly about one run in five. How would you deal with that?

    Mid, Senior

    Listening for Finds the flaky cause (timing, shared data, network), quarantines with care, fixes root causes.

    Follow-up Ask how they keep people trusting the suite.

  3. 22

    You're joining a frontend team with almost no tests and frequent regressions. How would you decide where to start?

    Senior

    Listening for Targets the riskiest flows first, picks a test mix, adds tests to new work and shows quick wins.

    Follow-up Ask how they would measure if it is working.

  4. 23

    Code reviews on our frontend team are mostly 'looks good to me'. How would you raise the quality bar?

    Senior

    Listening for Clear standards, automated checks for the easy parts, leading by example and teaching.

    Follow-up Ask how they would avoid slowing the team down.

Rest apis

  1. 24

    The API your page calls is sometimes slow and sometimes fails. How should the page behave?

    Junior, Mid

    Listening for Loading, error and empty states, retries where safe, timeouts and not losing the user's input.

    Follow-up Ask what they would show when only part of the data loads.

  2. 25

    The backend renamed a field and our page broke in production. How would you stop that from happening again?

    All levels

    Listening for Shared or generated types, contract tests, runtime checks and versioning agreed with backend.

    Follow-up Ask who should own the contract.

Experimentation

  1. 26

    Product wants to test two versions of the pricing page. How would you build that on the frontend?

    All levels

    Listening for Feature flags or an experiment SDK, clean code paths, correct tracking and removing the loser later.

    Follow-up Ask how they would know the tracking is right.

  2. 27

    Product asks you to track how many people click a new button. How would you add that and make sure the numbers are right?

    Junior

    Listening for Sends a clear event with the right properties and checks it in the analytics tool.

    Follow-up Ask what could make the numbers too high or too low.

  3. 28

    Users briefly see the old page before our A/B test version appears. How would you fix that?

    Mid, Senior

    Listening for Knows why client-side assignment flickers and options like server-side or edge assignment.

    Follow-up Ask what each option costs.

Data visualization

  1. 29

    Tell me about a chart or dashboard you built. What made it hard to get right?

    Junior, Mid

    Listening for A real example with data shape, labels, empty states or performance.

    Follow-up Ask what they would do differently.

  2. 30

    A dashboard chart needs to show a hundred thousand points, and it freezes the browser. What would you try?

    All levels

    Listening for Sampling or aggregating data, canvas instead of SVG, web workers, paging.

    Follow-up Ask how they would explain the trade-off to the product owner.

  3. 31

    We're building an analytics product with dozens of charts that share filters. How would you structure the frontend?

    Mid, Senior

    Listening for Shared filter state, data fetching per chart, caching, a chart component layer.

    Follow-up Ask what happens when one chart's query is very slow.

Build tooling

  1. 32

    What happens to your code between saving a file and seeing it run in the browser? Walk me through your build setup.

    Junior, Mid

    Listening for Understands bundling, transpiling, dev server and hot reload in their own words.

    Follow-up Ask what they would check when the build gets slow.

  2. 33

    Our JavaScript bundle doubled in size this year. How would you find out why and bring it back down?

    Mid, Senior

    Listening for Bundle analysis, heavy dependencies, code splitting, tree shaking and a size check in CI.

    Follow-up Ask how they would stop it growing again.

CSS

  1. 34

    A layout looks fine on your laptop but breaks on a small phone screen. How do you go about fixing it?

    Junior

    Listening for Uses device tools, responsive units, flexbox or grid and tests real sizes.

    Follow-up Ask how they would stop it happening on the next page.

  2. 35

    In a big codebase, styles from one page keep breaking another page. How would you organise CSS so that stops?

    All levels

    Listening for Scoped styles, naming rules, tokens or utility classes and lint checks.

    Follow-up Ask what each option costs.

GraphQL

  1. 36

    Have you worked with GraphQL or REST from the frontend? What did each make easier or harder for you?

    Junior, Mid

    Listening for Real experience with fetching, caching and over-fetching.

    Follow-up Ask about a bug caused by the client cache.

  2. 37

    When would you push for GraphQL on a new product, and when would REST be the better call?

    Senior

    Listening for Weighs client needs, number of clients, caching, tooling and backend cost.

    Follow-up Ask what they would watch for in the first months.

Vue

  1. 38

    If you've used Vue, React or another framework, what feels different about building with each one?

    Junior, Mid

    Listening for Real comparison of reactivity, components and ecosystem, not fan opinions.

    Follow-up Ask which they would choose for a new project and why.

  2. 39

    Our app is half Vue and half React after a migration that stopped halfway. What would you do?

    Mid, Senior

    Listening for Weighs finishing, reversing or living with it, with a plan and cost.

    Follow-up Ask how they would convince leadership to fund it.

  3. 40

    Our Vue app has grown from one team to four. What would you change in how it's built and tested?

    Senior

    Listening for Module boundaries, state ownership, shared conventions and tests per area.

    Follow-up Ask what problems they would expect first.