← Back to academy4 weeks
4-Week Interview Sprint
Highest-yield drills for an active mid-senior frontend loop.
Audience
Engineers with interviews scheduled or likely within a month.
Outcome
Ship with a crisp pitch, runnable JS/React reps, system design structure, and mock-loop readiness.
Practice Items
147 questions
Format Mix
Practice Sequence
Open full bank01Design JavaScript runtime orderingShows whether you understand javascript runtime ordering as an operating model, not as memorized trivia.DebuggingMid30m02Senior tradeoff JavaScript runtime orderingShows whether you understand javascript runtime ordering as an operating model, not as memorized trivia.DebuggingSenior35m03Design Promise failure propagationShows whether you understand promise failure propagation as an operating model, not as memorized trivia.DebuggingMid30m04Senior tradeoff Promise failure propagationShows whether you understand promise failure propagation as an operating model, not as memorized trivia.DebuggingSenior35m05Design Closure lifetime and memoryShows whether you understand closure lifetime and memory as an operating model, not as memorized trivia.DebuggingMid30m06Senior tradeoff Closure lifetime and memoryShows whether you understand closure lifetime and memory as an operating model, not as memorized trivia.DebuggingSenior35m07Design Objects, prototypes, and classesShows whether you understand objects, prototypes, and classes as an operating model, not as memorized trivia.DebuggingMid30m08Senior tradeoff Objects, prototypes, and classesShows whether you understand objects, prototypes, and classes as an operating model, not as memorized trivia.DebuggingSenior35m09Design TypeScript narrowingShows whether you understand typescript narrowing as an operating model, not as memorized trivia.DebuggingMid30m10Senior tradeoff TypeScript narrowingShows whether you understand typescript narrowing as an operating model, not as memorized trivia.DebuggingSenior35m11Design Generic API modelingShows whether you understand generic api modeling as an operating model, not as memorized trivia.DebuggingMid30m12Senior tradeoff Generic API modelingShows whether you understand generic api modeling as an operating model, not as memorized trivia.DebuggingSenior35m13Design HTML semantics and formsShows whether you understand html semantics and forms as an operating model, not as memorized trivia.DebuggingMid30m14Senior tradeoff HTML semantics and formsShows whether you understand html semantics and forms as an operating model, not as memorized trivia.DebuggingSenior35m15Design CSS layout mechanicsShows whether you understand css layout mechanics as an operating model, not as memorized trivia.DebuggingMid30m16Senior tradeoff CSS layout mechanicsShows whether you understand css layout mechanics as an operating model, not as memorized trivia.DebuggingSenior35m17Design Accessibility interaction modelShows whether you understand accessibility interaction model as an operating model, not as memorized trivia.DebuggingMid30m18Senior tradeoff Accessibility interaction modelShows whether you understand accessibility interaction model as an operating model, not as memorized trivia.DebuggingSenior35m19Design Browser networking and securityShows whether you understand browser networking and security as an operating model, not as memorized trivia.DebuggingMid30m20Senior tradeoff Browser networking and securityShows whether you understand browser networking and security as an operating model, not as memorized trivia.DebuggingSenior35m21Implement debounce with cancel and flushTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m22Harden debounce with cancel and flushTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m23Test debounce with cancel and flushTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m24Narrate debounce with cancel and flushTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m25Implement throttle with trailing callsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m26Harden throttle with trailing callsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m27Test throttle with trailing callsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m28Narrate throttle with trailing callsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m29Implement memoize with cache invalidationTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m30Harden memoize with cache invalidationTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m31Test memoize with cache invalidationTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m32Narrate memoize with cache invalidationTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m33Implement deep clone with cyclesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m34Harden deep clone with cyclesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m35Test deep clone with cyclesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m36Narrate deep clone with cyclesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m37Implement deep equality with arrays and objectsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m38Harden deep equality with arrays and objectsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m39Test deep equality with arrays and objectsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m40Narrate deep equality with arrays and objectsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m41Implement flatten nested arraysTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m42Harden flatten nested arraysTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m43Test flatten nested arraysTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m44Narrate flatten nested arraysTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m45Implement groupBy with stable orderingTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m46Harden groupBy with stable orderingTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m47Test groupBy with stable orderingTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m48Narrate groupBy with stable orderingTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m49Implement compose and pipeTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m50Harden compose and pipeTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m51Test compose and pipeTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m52Narrate compose and pipeTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m53Implement event emitter with once and offTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m54Harden event emitter with once and offTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m55Test event emitter with once and offTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m56Narrate event emitter with once and offTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m57Implement promise pool concurrency limiterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m58Harden promise pool concurrency limiterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m59Test promise pool concurrency limiterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m60Narrate promise pool concurrency limiterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m61Implement retry with abort and jitterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m62Harden retry with abort and jitterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m63Test retry with abort and jitterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m64Narrate retry with abort and jitterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m65Implement timeout wrapper for promisesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m66Harden timeout wrapper for promisesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m67Test timeout wrapper for promisesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m68Narrate timeout wrapper for promisesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m69Implement least-recently-used cacheTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m70Harden least-recently-used cacheTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m71Test least-recently-used cacheTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m72Narrate least-recently-used cacheTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m73Implement query string parserTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m74Harden query string parserTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m75Test query string parserTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m76Narrate query string parserTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m77Implement object path getter and setterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m78Harden object path getter and setterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m79Test object path getter and setterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m80Narrate object path getter and setterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m81Build an accessible modal dialogShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m82Build a combobox autocompleteShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m83Build a multi-select listboxShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m84Build a sortable data tableShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m85Build a virtualized feedShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m86Build a file explorer treeShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m87Build a toast notification systemShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m88Build a tabs with keyboard navigationShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m89Implement useState derivation in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m90Implement useEffect cleanup in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m91Implement useReducer state machines in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m92Implement useMemo and useCallback boundaries in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m93Implement custom useQuery hook in a product componentShows whether you can explain React behavior while building maintainable product UI.React HookMid40m94Implement optimistic updates in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m95Design an autocomplete searchShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m96Design an enterprise data tableShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m97Design a rich text editorShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m98Design a collaborative document editorShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m99Design a news feedShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m100Design a chat applicationShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m101Design a notification centerShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m102Design a dashboard builderShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m103Practice: unit test a reducer with illegal transitionsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingMid35m104Practice: mock server states with MSWShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m105Practice: write Playwright reload recoveryShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m106Practice: profile a slow React renderShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m107Practice: debug a hydration mismatchShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingMid35m108Practice: measure Core Web Vitals regressionShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m109Practice: test keyboard navigationShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m110Practice: verify screen reader namesShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m111Practice: write visual regression statesShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m112Practice: debug a memory leak from listenersShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m113Practice: trace duplicate network requestsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m114Practice: build a browser storage migration testShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m115Practice: audit bundle size growthShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m116Practice: debug stale cache dataShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m117Practice: test optimistic update rollbackShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m118Practice: create incident notes for frontend outageShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m119Practice: instrument client error loggingShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m120Practice: design feature flag cleanup testsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m121Practice: load test polling behaviorShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m122Practice: verify CSP and XSS boundariesShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m123Practice: triage flaky E2E testsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m124Practice: write component contract testsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m125Practice: debug race conditions in searchShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m126Practice: profile virtualized list jankShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m127Practice: test form validation accessibilityShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m128Prepare two-minute frontend senior pitchShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m129Prepare resume project narrativeShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m130Prepare migration leadership storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m131Prepare performance impact storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m132Prepare conflict with product or designShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m133Prepare debugging incident storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m134Prepare mentoring and code review storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m135Prepare first 30 days in a new frontend teamShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m136Prepare first 90 days execution planShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior30m137Prepare reverse questions for platform teamShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior30m138Prepare reverse questions for product teamShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m139Prepare salary and role-leveling discussionShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m140Prepare take-home project scopingShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m141Prepare live coding narrationShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m142Prepare system design opening scriptShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m143Prepare tradeoff language practiceShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m144Prepare unknown-domain ramp-up answerShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralStaff40m145Prepare failure and learning storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralStaff40m146Prepare staff-leaning leverage storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralStaff40m147Prepare portfolio README reviewShows whether your communication matches the level of ownership expected from senior frontend engineers.PortfolioStaff40m