Welche statischen Methoden von Promise kennst du? Erzähl mir davon.
Frontend
Was ist ein Set? Was können wir als Argument übergeben, wenn wir new Set aufrufen?
import React, { useState, useEffect, useLayoutEffect } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("bei jedem Render 1")); console.log("bei jedem Render 2"); useEffect(() => console.log("bei jedem Render 3")); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Erhöhen </button> ); } // mount -> bei jedem Render 2, bei jedem Render 1, bei jedem Render 3 // update -> bei jedem Render 2, bei jedem Render 1, bei jedem Render 3 // unmount 4
Schreiben Sie eine Funktion getUserProfile, die eine userId als Argument nimmt und das Benutzerprofil vom API-Endpunkt "[Link]" abruft. Die Funktion sollte das Benutzerprofil protokollieren, wenn der Abruf erfolgreich ist, und eine Fehlermeldung protokollieren, wenn der Abruf fehlschlägt.
Werden let und const (Hoisting) hochgezogen? Was passiert, wenn man vor ihrer Deklaration darauf zugreift?
Schreibe, was beim ersten Render passiert — in welcher Reihenfolge die console.log ausgegeben werden. Was passiert nach dem Klick?
const S = { id: 1, name: "Ivan", age: "39", tel: [phone] }; function getParam(obj, key) { return obj[key]; } getParam(S, "tel"); getParam(S, "job");
Schreiben Sie eine abstrakte Implementierung der Komponente Child mit Memoisierung durch React.memo. Was ist das zweite Argument, das React.memo akzeptiert?
Was ist ein WeakSet?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; const someFunc = (arr) => { return [...arr].sort((a, b) => a - b); }; const LazyInit = (props) => { const [arr, setArr] = useState(() => someFunc(props.arr)); const onClick = () => { setArr((prev) => prev.concat(prev.length + 1)); }; return ( <> <button onClick={onClick}> Increment </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ); }; export default () => <LazyInit arr={[1, 2, 3]} />; --- Die Unterhaltung auf der rechten Seite diskutiert: - Verwendung von TypeScript mit Generics: "<T extends object, K extends keyof T>" - Überprüfung, ob Daten ein String sind, mit einem Typwächter: "isString(data: unknown): data is string { ... }" - Verwendung von useState mit einer Funktion, um erneutes Ausführen bei jedem Render zu vermeiden: ``` const [state, setState] = useState(getComplexData); // oder const [state, setState] = useState(() => getComplexData()); ``` - Die an useState übergebene Funktion wird nur einmal beim Mounten des Komponenten ausgeführt. - Warnung vor direkter Mutation des States in Zeile 11 mit prev.concat. --- Die technische Aufgabe besteht darin, den React-Komponenten-Code zu analysieren und möglicherweise zu beheben oder zu optimieren, insbesondere hinsichtlich: - Richtiger lazy initialisierung des States mit useState. - Vermeidung der direkten Mutation des States. - Verständnis von TypeScript Generics und Type Guards. - Sicherstellung, dass der Komponentenzustand beim Klicken auf den Button korrekt aktualisiert wird.
Was ist eine Closure?
Es gibt drei Datenquellen, die die gleichen Informationen zurückgeben. Wie erhält man die Antwort von der schnellsten?
Was ist der Unterschied zwischen Map und WeakMap?
Erzähle mir vom useState-Hook in React.
Warum kann man mit Pfeilfunktionen nicht mit dem Konstruktor new arbeiten?
Wie werden Funktionen in JavaScript erstellt? Welche Methoden gibt es, um Funktionen zu erstellen, und worin unterscheiden sie sich?
Welche nützlichen Typen von TypeScript verwendest du bei der Arbeit? Erzähl über Record, Pick, Omit, Partial, Required, Parameters, Exclude, Extract.