gitGood.dev

Frontend Engineer Interview Prep

An interview prep path for frontend loops. Frontend interviews split into two tracks - a practical round (build a component, write a hook, debounce a search box) and a generalist round (algorithms, system design at the edge). This path covers both: TypeScript and framework depth first, a lighter algorithms floor, practical frontend coding, and the system-design topics that show up when the box you are designing is a browser.

Frontend EngineerMid~45h7 sections23 items
Section 1 of 7

JavaScript and TypeScript fundamentals

Frontend loops probe the language before the framework - closures, the event loop, type narrowing, generics. If an interviewer can shake you on `this` or `Promise` ordering, the framework questions never land. Anchor the language first.

  1. 01MCQTypeScript questions (25 suggested)Multiple choice category
Section 2 of 7

Framework depth

Rendering models, reconciliation, state management trade-offs, hydration. Interviewers care less about API recall and more about whether you know why the framework does what it does - and what it costs.

  1. 01MCQFrontend Frameworks questions (25 suggested)Multiple choice category
Section 3 of 7

Algorithms floor

Frontend loops still ask algorithms, just lighter than backend ones. You need the core patterns - hash maps, two pointers, traversal - to be reflexive, not a deep DP repertoire. Cover the floor and move on.

  1. 01MCQAlgorithms questions (20 suggested)Multiple choice category
  2. 02MCQData Structures questions (15 suggested)Multiple choice category
Section 4 of 7

Coding: strings and arrays

The generalist coding round in a frontend loop is almost always string and array manipulation. These warm-ups lock in the patterns interviewers reach for - frequency maps, sliding windows, in-place rearrangement.

  1. 01CodeReverse StringCoding · Easy
  2. 02CodeFirst Unique Character in a StringCoding · Easy
  3. 03CodeMove ZeroesCoding · Easy
  4. 04CodeValid AnagramCoding · Easy
  5. 05CodeLongest Substring Without Repeating CharactersCoding · Medium
  6. 06CodeGroup AnagramsCoding · Medium
Section 5 of 7

Coding: frontend practicals

The round that actually decides frontend offers: build a component, write a hook, control async behavior. Narrate the accessibility and re-render decisions as you go - that commentary is what separates mid from senior.

  1. 01CodeFrontend: Counter Component (React useState)Coding · Easy
  2. 02CodeFrontend: Debounced Search Input (Cancellation)Coding · Medium
  3. 03CodeFrontend: useFetch Custom Hook (Loading/Error/Data State Machine)Coding · Medium
  4. 04CodeFrontend: Modal with Focus Trap (Tab Order Logic)Coding · Medium
  5. 05CodeFrontend: Promise.all Polyfill (Order + Fail-Fast)Coding · Medium
Section 6 of 7

System design at the edge

Frontend system design is about what happens between the user and the origin: caching at the CDN, real-time sync, typeahead latency budgets, feed rendering. These four walkthroughs cover the designs frontend interviewers actually ask.

  1. 01DesignDesign a CDN with Edge Compute (CloudFront / Cloudflare)System Design · Hard
  2. 02DesignDesign Search and Autocomplete (Elasticsearch-style)System Design · Hard
  3. 03DesignDesign a Real-Time Collaboration System (Figma / Google Docs)System Design · Hard
  4. 04DesignDesign a News Feed (Twitter / Facebook)System Design · Hard
Section 7 of 7

Behavioral: collaboration and craft

Frontend roles sit between design, product, and backend - behavioral rounds screen for how you handle that seam. Have a story for each theme: a disagreement you resolved, feedback you gave, ambiguity you structured.

  1. 01BehavioralConflict with a CoworkerBehavioral · General
  2. 02BehavioralGiving Critical FeedbackBehavioral · General
  3. 03BehavioralOwnership (Amazon Leadership Principle)Behavioral · Amazon LP
  4. 04BehavioralDealing with AmbiguityBehavioral · General

Browse other learning paths

Three role-targeted paths are live: Backend, SRE / DevOps, and ML Engineer. More are on the way - if you have a role you want covered, let us know.

View all paths →