Sobes.tech

Frontend

Bei der Optimierung des Ladens einer schweren Frontend-Anwendung mit 150 kleinen Icons, sollten die Icons in einem einzigen Sprite zusammengefasst oder CSS-Inlining bei Verwendung von HTTP/2 oder HTTP/3 verwendet werden?

139

Der Benutzer tippt schnell in das Suchfeld. Was ist der Unterschied zwischen `debounce`, `throttle` und `AbortController` aus UX- und Netzwerk-/Backend-Last-Sicht? Was ist besser für Live-Suche?

120

Stellen Sie sich eine Warteschlange von Makroaufgaben mit fünf `setTimeout`-Aufrufen vor, während Mikroaufgaben unendlich neue Mikroaufgaben hinzufügen, zum Beispiel durch rekursive `Promise.resolve().then()`. Was passiert mit der Benutzeroberfläche und werden diese fünf Timeouts jemals ausgeführt? Warum?

118

Implementieren Sie eine `debounce`-Funktion, die eine sofortige Ausführung am Anfang einer Ereignisserie (`leading`) unterstützt, eine trailing-Ausführung am Ende der Serie standardmäßig, und eine Methode `debounceFunc.cancel()`, um den geplanten Aufruf abzubrechen.

118

Implementieren Sie eine vereinfachte Funktion `reactive(object)`, die Vue 3 nachahmt: Beim Lesen einer Eigenschaft rufen Sie `track(target, key)` auf, und beim Ändern einer Eigenschaft rufen Sie `trigger(target, key)` auf.

108