Systemdesignintervjuer för frontend
Besvara designfrågor om att bygga nyhetsflöden, autoslutförande, bildgallerier och dashboards genom att diskutera komponentarkitektur, tillstånd, API-design och prestanda.
Systemdesignintervjuer för frontend är en gratis lektion i Frontend Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Frontend Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Frontend Academy innehåller totalt 4 lektioner.
Vad dessa intervjuer testar
I intervjuer för seniora frontendutvecklare ska ni utforma en icke-trivial UI-funktion från början till slut: nyhetsflöde, autoslutförande, bildgalleri eller dashboard med oändlig scrollning. Intervjuarna bedömer arkitektur, förståelse för avvägningar, känsla för prestanda och kommunikation — inte ramverkstrivia.
Den vanliga strukturen
De flesta intervjuer på 45–60 minuter följer denna struktur: 1) Klargör krav (5 min). 2) Skissa en övergripande arkitektur (10 min). 3) Bryt ner komponenterna (10 min). 4) Datahämtning och state (10 min). 5) Prestanda och tillgänglighet (10 min). 6) Fördjupning inom ett område (intervjuarens val).
Steg 1: Avgränsa omfattningen
Börja inte koda. Fråga: vilka enheter ska stödjas? inloggning eller anonym åtkomst? stöd för offline? realtidsuppdateringar? förväntad skala (10 användare jämfört med 10 miljoner)? tillgänglighetskrav? webbläsarstöd? Det är beslut som påverkar hela designen.
Steg 2: Övergripande arkitektur
Rita rutorna: klient (SPA eller SSR?), API-gateway, tjänster, cache och CDN. Markera användaråtgärderna och dataflödet. Nämn kantfall tidigt — det visar att ni har byggt verkliga system.
Steg 3: Komponentträd
Skissa en komponenthierarki. NewsFeed → Header, Story[], Composer. Story → Avatar, Content, Actions, Comments. Identifiera vilka komponenter som kan återanvändas och vilka som är specifika för funktionen.
Steg 4: State och datahämtning
Var ska varje del av state ligga? Lokalt (useState), i URL:en (router), som server-state (React Query) eller som klient-state (Zustand)? Diskutera strategi för datahämtning: initial SSR, oändlig scrollning, realtidsuppdateringar via WebSocket och optimistiskt UI.
Steg 5: Prestandaöverväganden
Code splitting vid route-gränser. Virtualisering för långa flöden. Bildoptimering (lazy load + AVIF/WebP). Undvik att blockera huvudtråden. Budgetar för paketstorlek. Cache-first-SW för återkommande besök.
Steg 6: Tillgänglighet
Semantisk HTML. Tangentbordsnavigering. ARIA-roller och live-regioner. Färgkontrast. Testning med skärmläsare. Extra plus: nämn fokushantering vid route-byten.
Klassiskt exempel: nyhetsflöde
Diskutera: oändlig scrollning med IntersectionObserver, virtualisering för att spara minne, optimistiska gilla-markeringar, indikator för nya inlägg i realtid, lazy load av bilder med suddig platshållare, SSR för SEO samt ISR-/edge-cachning för populära tidslinjer.
Klassiskt exempel: autoslutförande
Diskutera: debounced inmatning, AbortController för att avbryta inaktuella förfrågningar, deduplicering av förfrågningar, cachning av svar (LRU), tangentbordsnavigering (upp/ner/enter/escape), ARIA-roller för combobox och hantering av virtuella tangentbord på mobiler.
Klassiskt exempel: bildgalleri
Diskutera: masonry- eller grid-layout, responsiv srcset för retina, lat inläsning baserad på intersection, förinläsning av nästa bild, lightbox/modal med fokusfälla, svepgester på mobiler, navigering med piltangenter och deep linking.
Kommunicera avvägningar
För varje val ska ni nämna alternativet och varför ni valde det ena. ”Jag skulle använda IntersectionObserver för lazy loading eftersom det är inbyggt och effektivt. Alternativet är en scroll-lyssnare med throttle — enklare men med mer hackig respons på långsamma processorer.” Det är sådant seniora intervjuare belönar.
Vanliga misstag att undvika
1) Börja skriva kod innan kraven har klargjorts. 2) Ignorera tillgänglighet. 3) Glömma fellägen (nätverksfel, tomma resultat). 4) Inte tänka på laddningstillstånd. 5) Ge vaga svar (”Jag skulle använda React” — vilken arkitektur?).
Snabb kontroll
Ni ombeds utforma ett sökfält med autoslutförande i en systemdesignintervju. Vad bör ni göra först?
Sammanfattning: frontend-systemdesign
Klargör omfattningen först. Övergripande arkitektur (klient, API, cache, CDN). Komponentträd. Var state ska ligga (lokalt, URL, servercache, globalt). Strategi för datahämtning. Prestanda (code splitting, virtualisering, bildoptimering). Tillgänglighet (tangentbord, ARIA, kontrast). Kommunicera avvägningar. Hoppa inte direkt till koden. Öva på klassiska mönster: flöde, autoslutförande, galleri och dashboard.
Lär dig HTML med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 41
- Lektioner
- 163
Vanliga frågor
Är lektionen ”Systemdesignintervjuer för frontend” gratis?
Ja – hela texten till ”Systemdesignintervjuer för frontend” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Frontend Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Frontend Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Systemdesignintervjuer för frontend”?
Besvara designfrågor om att bygga nyhetsflöden, autoslutförande, bildgallerier och dashboards genom att diskutera komponentarkitektur, tillstånd, API-design och prestanda. Ni övar på Frontend Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Frontend Academy?
Du behöver inga förkunskaper. Utbildningen i Frontend Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Systemdesignintervjuer för frontend”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Frontend Academy-lektionen?
Ja. Varje Frontend Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Systemdesignintervjuer för frontend
- Kodgranskningskultur och bästa praxis för PR
- Mentorskap och teknisk dokumentation
- Håll dig uppdaterad: läs specifikationer och förslag