Frontend Academy · Lektion

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.

Lektion 1 av 415 steg

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.

Gratis att börja

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

  1. Systemdesignintervjuer för frontend
  2. Kodgranskningskultur och bästa praxis för PR
  3. Mentorskap och teknisk dokumentation
  4. Håll dig uppdaterad: läs specifikationer och förslag
← Tillbaka till Frontend Academy