← Back to academy8 weeks
8-Week Mid-Senior Roadmap
The full academy path from foundations to senior frontend system design.
Audience
Frontend engineers preparing broadly for mid-senior roles.
Outcome
Build durable coverage across JavaScript, TypeScript, React, UI architecture, testing, performance, and job-loop communication.
Practice Items
250 questions
Format Mix
Practice Sequence
Open full bank01Explain JavaScript runtime orderingShows whether you understand javascript runtime ordering as an operating model, not as memorized trivia.QuizFoundation15m02Debug JavaScript runtime orderingShows whether you understand javascript runtime ordering as an operating model, not as memorized trivia.DebuggingMid25m03Design JavaScript runtime orderingShows whether you understand javascript runtime ordering as an operating model, not as memorized trivia.DebuggingMid30m04Senior tradeoff JavaScript runtime orderingShows whether you understand javascript runtime ordering as an operating model, not as memorized trivia.DebuggingSenior35m05Explain Promise failure propagationShows whether you understand promise failure propagation as an operating model, not as memorized trivia.QuizFoundation15m06Debug Promise failure propagationShows whether you understand promise failure propagation as an operating model, not as memorized trivia.DebuggingMid25m07Design Promise failure propagationShows whether you understand promise failure propagation as an operating model, not as memorized trivia.DebuggingMid30m08Senior tradeoff Promise failure propagationShows whether you understand promise failure propagation as an operating model, not as memorized trivia.DebuggingSenior35m09Explain Closure lifetime and memoryShows whether you understand closure lifetime and memory as an operating model, not as memorized trivia.QuizFoundation15m10Debug Closure lifetime and memoryShows whether you understand closure lifetime and memory as an operating model, not as memorized trivia.DebuggingMid25m11Design Closure lifetime and memoryShows whether you understand closure lifetime and memory as an operating model, not as memorized trivia.DebuggingMid30m12Senior tradeoff Closure lifetime and memoryShows whether you understand closure lifetime and memory as an operating model, not as memorized trivia.DebuggingSenior35m13Explain Objects, prototypes, and classesShows whether you understand objects, prototypes, and classes as an operating model, not as memorized trivia.QuizFoundation15m14Debug Objects, prototypes, and classesShows whether you understand objects, prototypes, and classes as an operating model, not as memorized trivia.DebuggingMid25m15Design Objects, prototypes, and classesShows whether you understand objects, prototypes, and classes as an operating model, not as memorized trivia.DebuggingMid30m16Senior tradeoff Objects, prototypes, and classesShows whether you understand objects, prototypes, and classes as an operating model, not as memorized trivia.DebuggingSenior35m17Explain TypeScript narrowingShows whether you understand typescript narrowing as an operating model, not as memorized trivia.QuizFoundation15m18Debug TypeScript narrowingShows whether you understand typescript narrowing as an operating model, not as memorized trivia.DebuggingMid25m19Design TypeScript narrowingShows whether you understand typescript narrowing as an operating model, not as memorized trivia.DebuggingMid30m20Senior tradeoff TypeScript narrowingShows whether you understand typescript narrowing as an operating model, not as memorized trivia.DebuggingSenior35m21Explain Generic API modelingShows whether you understand generic api modeling as an operating model, not as memorized trivia.QuizFoundation15m22Debug Generic API modelingShows whether you understand generic api modeling as an operating model, not as memorized trivia.DebuggingMid25m23Design Generic API modelingShows whether you understand generic api modeling as an operating model, not as memorized trivia.DebuggingMid30m24Senior tradeoff Generic API modelingShows whether you understand generic api modeling as an operating model, not as memorized trivia.DebuggingSenior35m25Explain HTML semantics and formsShows whether you understand html semantics and forms as an operating model, not as memorized trivia.QuizFoundation15m26Debug HTML semantics and formsShows whether you understand html semantics and forms as an operating model, not as memorized trivia.DebuggingMid25m27Design HTML semantics and formsShows whether you understand html semantics and forms as an operating model, not as memorized trivia.DebuggingMid30m28Senior tradeoff HTML semantics and formsShows whether you understand html semantics and forms as an operating model, not as memorized trivia.DebuggingSenior35m29Explain CSS layout mechanicsShows whether you understand css layout mechanics as an operating model, not as memorized trivia.QuizFoundation15m30Debug CSS layout mechanicsShows whether you understand css layout mechanics as an operating model, not as memorized trivia.DebuggingMid25m31Design CSS layout mechanicsShows whether you understand css layout mechanics as an operating model, not as memorized trivia.DebuggingMid30m32Senior tradeoff CSS layout mechanicsShows whether you understand css layout mechanics as an operating model, not as memorized trivia.DebuggingSenior35m33Explain Accessibility interaction modelShows whether you understand accessibility interaction model as an operating model, not as memorized trivia.QuizFoundation15m34Debug Accessibility interaction modelShows whether you understand accessibility interaction model as an operating model, not as memorized trivia.DebuggingMid25m35Design Accessibility interaction modelShows whether you understand accessibility interaction model as an operating model, not as memorized trivia.DebuggingMid30m36Senior tradeoff Accessibility interaction modelShows whether you understand accessibility interaction model as an operating model, not as memorized trivia.DebuggingSenior35m37Explain Browser networking and securityShows whether you understand browser networking and security as an operating model, not as memorized trivia.QuizFoundation15m38Debug Browser networking and securityShows whether you understand browser networking and security as an operating model, not as memorized trivia.DebuggingMid25m39Design Browser networking and securityShows whether you understand browser networking and security as an operating model, not as memorized trivia.DebuggingMid30m40Senior tradeoff Browser networking and securityShows whether you understand browser networking and security as an operating model, not as memorized trivia.DebuggingSenior35m41Implement debounce with cancel and flushTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m42Harden debounce with cancel and flushTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m43Test debounce with cancel and flushTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m44Narrate debounce with cancel and flushTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m45Implement throttle with trailing callsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m46Harden throttle with trailing callsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m47Test throttle with trailing callsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m48Narrate throttle with trailing callsTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m49Implement memoize with cache invalidationTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m50Harden memoize with cache invalidationTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m51Test memoize with cache invalidationTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m52Narrate memoize with cache invalidationTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m53Implement deep clone with cyclesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m54Harden deep clone with cyclesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m55Test deep clone with cyclesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m56Narrate deep clone with cyclesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m57Implement 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 FunctionMid30m58Harden 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 FunctionMid35m59Test 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 FunctionSenior35m60Narrate 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 FunctionSenior40m61Implement flatten nested arraysTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m62Harden flatten nested arraysTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m63Test flatten nested arraysTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m64Narrate flatten nested arraysTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m65Implement groupBy with stable orderingTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m66Harden groupBy with stable orderingTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m67Test groupBy with stable orderingTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m68Narrate groupBy with stable orderingTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m69Implement compose and pipeTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m70Harden compose and pipeTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m71Test compose and pipeTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m72Narrate compose and pipeTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m73Implement 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 FunctionMid30m74Harden 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 FunctionMid35m75Test 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 FunctionSenior35m76Narrate 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 FunctionSenior40m77Implement promise pool concurrency limiterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m78Harden promise pool concurrency limiterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m79Test promise pool concurrency limiterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m80Narrate promise pool concurrency limiterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m81Implement retry with abort and jitterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m82Harden retry with abort and jitterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m83Test retry with abort and jitterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m84Narrate retry with abort and jitterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m85Implement timeout wrapper for promisesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m86Harden timeout wrapper for promisesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m87Test timeout wrapper for promisesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m88Narrate timeout wrapper for promisesTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m89Implement least-recently-used cacheTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m90Harden least-recently-used cacheTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m91Test least-recently-used cacheTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m92Narrate least-recently-used cacheTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m93Implement query string parserTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m94Harden query string parserTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m95Test query string parserTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m96Narrate query string parserTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m97Implement object path getter and setterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid30m98Harden object path getter and setterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionMid35m99Test object path getter and setterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior35m100Narrate object path getter and setterTests whether you can turn a familiar utility into a precise contract instead of coding only the happy path.JS FunctionSenior40m101Build an accessible modal dialogShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m102Review a broken accessible modal dialogTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingMid35m103Build a combobox autocompleteShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m104Review a broken combobox autocompleteTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingMid35m105Build a multi-select listboxShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m106Review a broken multi-select listboxTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingMid35m107Build a sortable data tableShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m108Review a broken sortable data tableTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingMid35m109Build a virtualized feedShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m110Review a broken virtualized feedTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingMid35m111Build a file explorer treeShows whether you can build components as interaction systems rather than visual boxes.UI ComponentMid45m112Review a broken file explorer treeTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingMid35m113Build a toast notification systemShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m114Review a broken toast notification systemTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m115Build a tabs with keyboard navigationShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m116Review a broken tabs with keyboard navigationTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m117Build an accordion with preserved focusShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m118Review a broken accordion with preserved focusTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m119Build a popover menuShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m120Review a broken popover menuTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m121Build an image carouselShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m122Review a broken image carouselTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m123Build a drag and drop reorder listShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m124Review a broken drag and drop reorder listTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m125Build a form wizardShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m126Review a broken form wizardTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m127Build a date range pickerShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m128Review a broken date range pickerTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m129Build a command paletteShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m130Review a broken command paletteTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m131Build a resizable split paneShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m132Review a broken resizable split paneTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m133Build an inline editable textShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m134Review a broken inline editable textTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m135Build an infinite scroll listShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m136Review a broken infinite scroll listTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m137Build a responsive navigation shellShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m138Review a broken responsive navigation shellTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m139Build a status timelineShows whether you can build components as interaction systems rather than visual boxes.UI ComponentSenior60m140Review a broken status timelineTests senior review instincts: behavior, state ownership, accessibility, and tests.DebuggingSenior35m141Implement useState derivation in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m142Debug useState derivation under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m143Implement useEffect cleanup in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m144Debug useEffect cleanup under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m145Implement useReducer state machines in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m146Debug useReducer state machines under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m147Implement useMemo and useCallback boundaries in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m148Debug useMemo and useCallback boundaries under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m149Implement custom useQuery hook in a product componentShows whether you can explain React behavior while building maintainable product UI.React HookMid40m150Debug custom useQuery hook under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m151Implement optimistic updates in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m152Debug optimistic updates under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m153Implement external store subscription in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m154Debug external store subscription under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m155Implement context performance in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppMid40m156Debug context performance under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m157Implement controlled forms in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m158Debug controlled forms under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m159Implement server state versus client state in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m160Debug server state versus client state under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m161Implement Suspense loading boundaries in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m162Debug Suspense loading boundaries under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m163Implement error boundaries in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m164Debug error boundaries under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m165Implement transition-driven filtering in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m166Debug transition-driven filtering under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m167Implement virtualized rendering in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m168Debug virtualized rendering under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m169Implement compound components in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m170Debug compound components under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m171Implement render props versus hooks in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m172Debug render props versus hooks under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m173Implement React key stability in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m174Debug React key stability under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m175Implement hydration mismatch debugging in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m176Debug hydration mismatch debugging under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m177Implement component API design in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m178Debug component API design under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m179Implement state colocation refactor in a product componentShows whether you can explain React behavior while building maintainable product UI.React AppSenior55m180Debug state colocation refactor under interview pressureTests whether you debug from ownership and lifecycle instead of random dependency-array edits.DebuggingSenior35m181Design an autocomplete searchShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m182Design an enterprise data tableShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m183Design a rich text editorShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m184Design a collaborative document editorShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m185Design a news feedShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m186Design a chat applicationShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m187Design a notification centerShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m188Design a dashboard builderShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m189Design a design system platformShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m190Design an image upload and moderation flowShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m191Design a video streaming surfaceShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m192Design a calendar scheduling appShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignSenior50m193Design an e-commerce marketplace frontendShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m194Design a travel booking frontendShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m195Design an analytics dashboardShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m196Design a feature flag consoleShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m197Design an offline-first notes appShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m198Design a real-time incident dashboardShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m199Design a browser drawing toolShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m200Design a form builderShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m201Design a permissions management UIShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m202Design a settings and billing consoleShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m203Design a search results pageShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m204Design an AI chat workspaceShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m205Design a front-end observability SDKShows whether you can turn a broad product surface into a durable frontend architecture with clear contracts.System DesignStaff65m206Practice: unit test a reducer with illegal transitionsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingMid35m207Practice: mock server states with MSWShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m208Practice: write Playwright reload recoveryShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m209Practice: profile a slow React renderShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m210Practice: debug a hydration mismatchShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingMid35m211Practice: measure Core Web Vitals regressionShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m212Practice: test keyboard navigationShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m213Practice: verify screen reader namesShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentMid35m214Practice: write visual regression statesShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m215Practice: debug a memory leak from listenersShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m216Practice: trace duplicate network requestsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m217Practice: build a browser storage migration testShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m218Practice: audit bundle size growthShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m219Practice: debug stale cache dataShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m220Practice: test optimistic update rollbackShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m221Practice: create incident notes for frontend outageShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m222Practice: instrument client error loggingShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m223Practice: design feature flag cleanup testsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m224Practice: load test polling behaviorShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m225Practice: verify CSP and XSS boundariesShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m226Practice: triage flaky E2E testsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m227Practice: write component contract testsShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m228Practice: debug race conditions in searchShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m229Practice: profile virtualized list jankShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.UI ComponentSenior45m230Practice: test form validation accessibilityShows whether you can prove frontend behavior instead of relying on screenshots or manual confidence.DebuggingSenior45m231Prepare two-minute frontend senior pitchShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m232Prepare resume project narrativeShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m233Prepare migration leadership storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m234Prepare performance impact storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m235Prepare conflict with product or designShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m236Prepare debugging incident storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m237Prepare mentoring and code review storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m238Prepare first 30 days in a new frontend teamShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralMid30m239Prepare first 90 days execution planShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior30m240Prepare reverse questions for platform teamShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior30m241Prepare reverse questions for product teamShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m242Prepare salary and role-leveling discussionShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m243Prepare take-home project scopingShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m244Prepare live coding narrationShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m245Prepare system design opening scriptShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m246Prepare tradeoff language practiceShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralSenior40m247Prepare unknown-domain ramp-up answerShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralStaff40m248Prepare failure and learning storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralStaff40m249Prepare staff-leaning leverage storyShows whether your communication matches the level of ownership expected from senior frontend engineers.BehavioralStaff40m250Prepare portfolio README reviewShows whether your communication matches the level of ownership expected from senior frontend engineers.PortfolioStaff40m