Question bank
Interview questions, with guidance on how to answer
834 questions across 64 roles. Open one to see what a strong answer includes and common slips, then drill it out loud with Ava. New to answer structure? Start with the learning hub.
Behavioural
Past experience: what you did and what happened.
220 questions
Technical
Craft knowledge and how you would do the work.
572 questions
Case
A scenario to reason through and decide.
29 questions
System design
Design a system and defend the trade-offs.
13 questions
834 questions.
- TechnicalMid levelSoftware Engineer
What makes a deployment pipeline trustworthy to you, and how do you roll back safely when something goes wrong?
Tests: Version control & delivery
- System designSeniorSoftware Engineer
How would you design a link shortening service that has to handle millions of redirects a day? Talk me through the main pieces and trade-offs.
Tests: System design
- TechnicalSeniorSoftware Engineer
Tell me about a technical decision where you chose a simpler design over a more flexible one. How did it play out?
Tests: System design
- TechnicalSeniorSoftware Engineer
Your codebase has growing technical debt and there's pressure to ship features. How do you make the case for paying some of it down?
Tests: Testing & code quality
- BehaviouralAny levelSoftware Engineer
Tell me about a time you had to explain a technical problem or trade-off to someone non-technical. How did you make it land?
Tests: Communication
- BehaviouralAny levelSoftware Engineer
Tell me about a time something you shipped broke in production. What did you do in the moment and afterwards?
Tests: Ownership
- CaseEntry levelFrontend Engineer
How would you build a layout that looks good on both a phone and a wide desktop screen? Talk me through your approach.
Tests: CSS & responsive layout
- TechnicalEntry levelFrontend Engineer
Can you explain what happens when you await a promise in JavaScript, and how you handle errors from it?
Tests: JavaScript & TypeScript
- TechnicalEntry levelFrontend Engineer
What are some simple things you do to make sure a form can be used by someone on a screen reader or only a keyboard?
Tests: Accessibility
- TechnicalMid levelFrontend Engineer
How do you decide where a piece of state should live in a React or similar app, and when do you reach for a global store?
Tests: Component architecture & state
- TechnicalMid levelFrontend Engineer
A product page feels slow to load on mobile. How would you find out why, and what would you try first?
Tests: Web performance
- TechnicalMid levelFrontend Engineer
How do you test a component that fetches data and shows loading and error states?
Tests: Frontend testing
- TechnicalMid levelFrontend Engineer
How do you use TypeScript types to prevent bugs, and when do you think strict typing gets in the way?
Tests: JavaScript & TypeScript
- TechnicalMid levelFrontend Engineer
Tell me about a tricky styling bug, like something breaking in only one browser, and how you solved it.
Tests: CSS & responsive layout
- TechnicalSeniorFrontend Engineer
If you were setting up a shared component library used by several product teams, how would you design it to stay consistent but flexible?
Tests: Component architecture & state
- TechnicalSeniorFrontend Engineer
How would you choose between server rendering, static generation and client-side rendering for a new product? What trade-offs matter most?
Tests: Web performance
- TechnicalSeniorFrontend Engineer
How would you bring accessibility into a team's regular workflow so it isn't just a last-minute audit?
Tests: Accessibility
- BehaviouralAny levelFrontend Engineer
Tell me about a time a design you were given was hard to build or didn't work well in practice. How did you handle it with the designer?
Tests: Collaboration with design & product
- BehaviouralAny levelFrontend Engineer
Tell me about a time you noticed something frustrating for users that nobody had asked you to fix. What did you do?
Tests: User focus
- TechnicalEntry levelBackend Engineer
If you were building an API for a simple to-do app, what endpoints would you create, and how would you handle errors?
Tests: API design