Sobes.tech

Frontend

Dlaczego pojawiły się obietnice, jeśli asynchroniczność można było zorganizować za pomocą generatorów? Co było niewygodne w podejściu callback?

Middle+
3

W jakich przypadkach wykonanie fetch trafi do catch? Jak określić, czy żądanie zakończyło się sukcesem, czy nie, i skąd pochodzi status HTTP?

Middle+
2

Co wiesz o kolejności łączenia i wykonywania skryptów: zwykły skrypt, async i defer?

Middle+
2

Czym jest CORS i jakie są opcje rozwiązania problemów z żądaniami między domenami?

Middle+
2

Jakie są sposoby obejścia subskrybentów przechowywanych w Set?

Middle+
2

Typuj swoją funkcję transformacji tablicy w TypeScript: zdefiniuj potrzebne generyczne typy dla typu elementów źródłowej tablicy i typu wyniku.

Middle+
2

Zaimplementuj funkcję memo(fn, lifetime), która zwraca nową funkcję i buforuje wynik oryginalnej funkcji bez argumentów na określony czas życia w milisekundach. Powinna buforować tylko ostatni wynik, bez kluczy i Map; powtórne wywołanie w ramach lifetime powinno zwrócić zbuforowany wynik.

Middle+
2

Zaimplementuj klasę w TypeScript zgodnie z wzorcem 'Obserwator': przechowuje dane w obiekcie, umożliwia subskrypcję i odsubskrypcję przez subscribe/unsubscribe oraz powiadamia subskrybentów o zmianie danych przez przypisanie. Dodaj getter i setter; początkowa wartość powinna być pustym obiektem.

Middle+
2

Opisz etapy renderowania strony w przeglądarce: DOM, CSSOM, drzewo renderowania, layout/reflow, repaint i compositing. Które właściwości są lepsze do animacji i dlaczego?

Middle+
1

Zaimplementuj asynchroniczną kolejkę zadań z limitem równoczesności: zadania są najpierw dodawane do kolejki, następnie uruchamiane metodą loop; nie więcej niż określona liczba zadań powinna działać jednocześnie. Gdy wszystkie zadania w kolejce i te wykonywane zostaną zakończone, powiadom o zakończeniu kolejki.

Middle+
1

Zaimplementuj funkcję, która wielokrotnie powtarza zapytania fetch w przypadku niepowodzenia. Co powinno się stać po wyczerpaniu prób?

Middle+
1

Co się dzieje w przeglądarce po wpisaniu adresu URL?

Middle+
1

Jak można zaimplementować kolejkę zadań za pomocą obietnic bez flag i liczników? Co to jest worker w kontekście takiej kolejki?

Middle+
1