Frontend
Implementiere die Klasse EventEmitter: die Methode subscribe(event, handler) zum Abonnieren eines Ereignisses und die Methode emit(event, data) zum Aufrufen aller Abonnenten. Implementiere auch die Methode unsubscribe.
Was ist requestAnimationFrame und was garantiert es?
Welche anderen HTTP-Anfragemethoden gibt es neben GET? Wie heißen sie?
Wo verläuft die Grenze zwischen Feature und Entity? Wann platzieren Sie die Geschäftslogik?
Wenn es kein NgRx gäbe, was würden Sie stattdessen verwenden?
Erzähl mir mehr über das Projekt [Firma]: Stack, Aufgaben, was hast du gemacht?
Beim Öffnen der Seite haben wir versucht, die Höhe der Seite (Elements) zu ermitteln, aber null erhalten. Was ist passiert und wie kann man das debuggen, welche Maßnahmen ergreifen?
Im Prototyp des Verkaufnetzwerks für Werbung ist der Verkauf von Werbeflächen wie folgt organisiert: Käufer nennen im Voraus ihren Preis, und für jeden Werbeplatz antworten sie, ob sie ihn kaufen möchten oder nicht. Es ist notwendig, eine Funktion zu implementieren, die vor dem Verkauf eines Werbeplatzes die Zustimmung oder Ablehnung der Käufer mit dem höchsten Gebot abwartet und dann den Werbeplatz an den Käufer mit dem höchsten Gebot unter denjenigen verkauft, die zugestimmt haben. Die Antwort der Funktion sollte so schnell wie möglich erfolgen. Sie sollte den Index des Käufers zurückgeben. Beispiele: Käufer bieten Preise 1, 5, 10 Der Käufer mit Angebot 10 hat abgelehnt Der Käufer mit Angebot 1 hat zugestimmt // Wir warten noch, da der Käufer mit Angebot 5 noch antworten könnte Der Käufer mit Angebot 5 hat zugestimmt // Wir wählen den Käufer mit Angebot 5 ------------ Käufer bieten Preise 1, 5, 10 Der Käufer mit Angebot 10 hat abgelehnt Der Käufer mit Angebot 5 hat zugestimmt // Wir warten nicht auf die Antwort des Käufers mit Angebot 1 - er wird definitiv nicht ausgewählt ------------ Käufer bieten Preise 1, 2 Der Käufer mit Angebot 1 hat abgelehnt Der Käufer mit Angebot 2 hat abgelehnt // Wir wählen keinen Käufer type Buyer = { price: number, accepts: () => Promise<boolean>, } async function bestBuyer(buyers) { const sorted = buyers.map((buyer, index) => ({buyer, index})) .sort((a, b) => a.buyer.price - b.buyer.price); const promise = sorted.map(({buyer}) => buyer.accepts()); for (let i = 0; i < sorted.length; i++) { const accepted = await promise[i]; if (accepted) { return sorted[i].index; } } if (await buyers[0].accepts()) { return 0; } return -1; }
Wann kann man mit Feedback zu den Ergebnissen des Vorstellungsgesprächs rechnen?
Erstellen Sie eine Funktion, die die zurückgegebene Versprechung ablehnt, indem sie als Fehler die Zeichenkette "timeout_error" übergibt, wenn sie nicht innerhalb des angegebenen Timeouts aufgelöst wird oder sich wie das Original verhält. @param {Promise} promise Ursprüngliche Versprechung @param {Number} timeoutMilliseconds Zeit für das Timeout in Millisekunden @return {Promise} Versprechen mit dem gewünschten Verhalten function withTimeout(promise, timeout) { return new Promise((res, rej) => { const timeoutId = setTimeout(() => { rej("timeout_error") }) }) }
Welche Daten sollten besser im Store abgelegt werden und welche in den Services?
Was wird bei einer Promise-Kette mit .then und null angezeigt?
Sehen Sie sich zwei Code-Optionen an (mit rekursiven Versprechen/Mikroaufgaben) und sagen Sie, was der Unterschied zwischen der ersten und der zweiten Option in Bezug auf das Blockieren der Seite ist.
Was ist der Unterschied zwischen einer statischen und einer dynamischen IP-Adresse?
Was wird in der Konsole ausgegeben und warum?
Wir müssen die Anfrage nur stellen, wenn wir Rollen haben. Wie realisieren wir das?
Mussten Sie mit der Autorisierung arbeiten? Erzählen Sie uns mehr über die Umsetzung.
Welche anderen React-Hooks kennen Sie? Erzählen Sie mir von useRef, useReducer, useCallback, useMemo, useContext.
Interessiert Sie das Büro, besteht die Möglichkeit, gelegentlich von dort aus zu arbeiten?
Was ist der Unterschied zwischen ref und reactive in Vue.js?