Sobes.tech

Frontend

Erklären Sie, wie ChangeDetectionStrategy.OnPush funktioniert und worin sie sich von der Strategie Default unterscheidet.

157

Welche Probleme löst die Dependency Injection in Angular und welche Vorteile bietet die Bereitstellung von Diensten auf Anwendungs- und Komponentenebene?

156

Implementieren Sie eine einfache Slot-Maschine "Einarmiger Bandit": - Implementieren Sie drei Walzen (mit Zahlen von 0 bis 9, die in der Reihenfolge 0,1,2,...9,0,1,2... wechseln) - Bei jedem onRoll auf der Walze erscheint der nächste Wert - Wenn alle drei Ziffern nach dem Anhalten übereinstimmen, sagen wir, dass gewonnen wurde - Deaktivieren Sie die Schaltfläche während des Drehens Das physische Modell des Rads ist bereits in der Methode runSpinner implementiert, aber es hat nichts mit den Ziffern zu tun. Tipp: Beginnen Sie die Implementierung mit der ersten Walze, dann fügen Sie die anderen analog hinzu

156

Erzählen Sie, wie das Event Emitter-Muster funktioniert und ob Sie damit Erfahrung haben, insbesondere in Angular.

156

Woran erinnert sich this in fn, wenn man sie über call ohne Übergabe des Kontexts aufruft, im Strict Mode und ohne ihn?

156

Warum wird der Sieg falsch gezählt, auch wenn die Werte auf den Walzen unterschiedlich sind? Finde die Ursache des Bugs im Zusammenhang mit dem Race Condition bei der asynchronen Aktualisierung des Zustands.

154

Es gibt drei neue Typen. Es ist notwendig, einen neuen generischen Typ zu erstellen, der alle Felder dieser Typen enthält (unter Verwendung von Union).

151

Erklären Sie den Unterschied zwischen kalten und heißen Observable.

150

Teilen Sie die Anwendung nach der Architektur Feature-Sliced Design (FSD) auf — beschreiben Sie die Schichten App, Pages, Widgets, Features, Entities.

149

Versuche, die Situation zu simulieren, damit alle drei Zahlen auf den Walzen übereinstimmen, und überprüfe, ob eine Gewinnmeldung angezeigt wird.

148

React-Aufgabe (3 Unteraufgaben): 1) Das Bearbeitungsformular für den Benutzer reparieren — beim Klicken auf den Benutzernamen in der Liste soll der Name in das Eingabefeld des Bearbeitungsformulars eingefügt werden. 2) Das Bearbeitungsformular soll beim Eingeben von Text in das Suchfeld nicht neu gerendert werden (Optimierung mit React.memo). 3) Beim Auswählen eines Benutzers aus der Liste soll das Suchfeld zurückgesetzt werden.

148

Die Funktion simuliert das Drehen des Trommels mit einem allmählichen Stoppen - verwende onRoll für die Animationsrotation (Ändern des aktuellen Werts auf der Trommel) - und onStop, um zu benachrichtigen, wenn die Trommel aufgehört hat zu drehen Beispiel runSpinner( () => setValue(v => ++v % 10), () => console.log('finished') )

148

Gibt es drei verschiedene Indizes i, j, k, so dass die Summe a[i]+a[j]+a[k] mit der Ziffer m endet? Zum Beispiel, für m = 3 solve([20, 22, 19, 84]) => true // 20 + 84 + 19 = 123 solve([1,2,3]) => false

147

Was ist der Awaited-Hilfstyp in TypeScript?

147

Was ist der Unterschied zwischen ChangeDetectorRef.markForCheck() und detectChanges()?

145

Was ändert sich in der Logik des Typs, wenn `extends` durch `=` ersetzt wird (Standardwert für den Generic festlegen)?

143

Korrigiere den Code so, dass beim Klicken auf die Schaltfläche nur App neu gerendert wird, und beim Eingeben von Text in das Input nur Parent (ohne unnötige Neurendering von Child).

143

Kennen Sie die Metriken von Web Vitals? Wie kann man CLS (Cumulative Layout Shift) verbessern?

143

Warum wurde IndexedDB für die lokale Speicherung in Datenbanken gewählt und nicht etwas anderes? Welche Alternativen gibt es?

140

Was ändert sich in der Logik des Typs, wenn `extends` durch `=` ersetzt wird (Standardwert für generisch festlegen)?

139
/5