Schauen Sie sich dieses Stück Code an — verstehen Sie, was es tut, und schreiben Sie ein einfaches Beispiel für die Verwendung. Es gibt auch einen ähnlichen Helper in lodash.
Frontend
Hast du schon einmal mit Lighthouse gearbeitet? Stell dir vor, dir wird die Aufgabe übertragen, die Metrik FCP (First Contentful Paint) zu verbessern. Welche Ideen kommen dir in den Sinn?
const customMap = (array, transform) => { // etwas wie array.map(transform); }; const stringResults = customMap([1, 2, 3], item => item.toString()); const lengths = customMap(["hallo", "welt"], item => item.length);
Implementieren Sie eine Funktion foo, die ein Array übernimmt und ein Objekt zurückgibt, bei dem die Schlüssel die Elemente des Arrays sind und die Werte alle 0.
Was machen Sie am liebsten bei der Arbeit und was nicht so sehr? Was nimmt mehr Zeit in Anspruch, als Sie möchten?
Welche Probleme gibt es beim aktuellen Ansatz des SSR-Datenladens und wie werden sie sich beim Hinzufügen neuer Seiten vergrößern?
Wie entwickeln Sie sich, wie lernen Sie neue Technologien, was ist das Letzte, was Ihnen in Erinnerung geblieben ist?
Wann wirst du mitteilen, dass du es nicht rechtzeitig schaffst?
Erzählen Sie mir von Ihrem letzten Arbeitsplatz und den Projekten, an denen Sie gearbeitet haben.
Bestimme die Ausgabereihenfolge in der Konsole für den Code mit setTimeout, Promise, then, catch, finally und verschiedenen synchronen Aufrufen (Aufgabe zum Event Loop).
Was hast du kürzlich Interessantes und Neues in der Welt des Frontends gelernt?
Wie kann die Unterstützung moderner Bildformate (WebP, AVIF) in Browsern sichergestellt werden, die diese nicht unterstützen?
Was kann auf dem Server bei der Generierung von HTML (SSR) passieren — worauf verwendet der Server Zeit, welche Probleme bei Leistung und Sicherheit können bei der Serialisierung von Daten auftreten?
Was ist der Unterschied zwischen der Verwendung von hasOwnProperty und der direkten Überprüfung des Werts durch eine Bedingung (if o[x])? Was passiert, wenn der Wert der Eigenschaft false ist?
Welche Verbesserungen könnten in Zukunft vorgenommen werden, um die Produktqualität zu steigern?
Wofür ist React.lazy? Welchen Vorteil bietet es und wie funktioniert es im Hintergrund?
Implementieren Sie eine Funktion memoize, die die Ergebnisse von Aufrufen asynchroner Funktionen zwischenspeichert und keine wiederholte Anfrage sendet, wenn der Aufruf mit denselben Argumenten bereits gemacht wurde.
<script> function sum(valueA) { throw 'Nicht implementiert' } console.log(sum(1)()); // 1 console.log(sum(1)(2)()); // 3 console.log(sum(1)(2)(-3)()); // 0 </script>
Es gibt eine Funktion customMap, die fast dasselbe tut wie eine normale Array-Map, aber sie ist nicht typisiert. Sie muss so typisiert werden, dass in der fünften Zeile ein Array von Strings ist und in der siebten ein Array von Zahlen.
Du musst eine Funktion memoize schreiben — eine Hülle für die Memoisierung. Zur Vereinfachung kannst du annehmen, dass die Funktion immer nur ein Argument hat, und es wird ein primitiver Wert sein.