Mål med både lab- og field-data — de besvarer forskellige spørgsmål. Lighthouse er lab (syntetisk, reproducerbart, til debugging); RUM er field (reelle brugere, til sandhed). Hvis du kun stoler på ét, optimerer du det forkerte.
Mål med både lab- og field-data — de besvarer forskellige spørgsmål. Lighthouse er lab (syntetisk, reproducerbart, til debugging); RUM er field (reelle brugere, til sandhed). Hvis du kun stoler på ét, optimerer du det forkerte.
| Lab (Lighthouse) | Field / RUM |
|---|
| Kilde | Én syntetisk kørsel, fast enhed/netværk | Reelle besøg, alle enheder/netværk |
| God til | Debugging, CI-regression-gates, gentagelig | Hvad brugere faktisk oplever |
| INP | Kan ikke måle (ingen reelle interaktioner) | Målt gennem hele besøget |
| Svaghed | Afspejler ikke din reelle trafik | Støjende, kræver volumen, sværere at debugge |
Lighthouse kører en enkelt throttled indlæsning på en ren maskine — glimrende til at reproducere et problem, ubrugeligt til at kende din p75. INP især kan kun opfanges i field, fordi det kræver reelle interaktioner over en session.
import { onLCP, onCLS, onINP } from "web-vitals";
function send(metric) {
// Attribution build tells you WHICH element/interaction caused it
navigator.sendBeacon("/rum", JSON.stringify({
name: metric.name, value: metric.value, id: metric.id,
}));
}
onLCP(send); onCLS(send); onINP(send); // report each metric as it finalizes
Dette er den samme metodologi som Googles CrUX (Chrome User Experience Report), der driver søgeranking — CrUX er reel-bruger-p75, ikke lab.
Senior-signalet er at vide, at lab ≠ field, at ranking bruger field-p75, og at INP kun er reel i field. At optimere en Lighthouse-score, mens reel p75 forbliver dårlig, er en klassisk fælde, dette spørgsmål er designet til at afsløre.
Et bibliotek af IT-interviewspørgsmål med detaljerede svar — fra Junior til Senior.
Donér