Opowiedz mi o pętli zdarzeń (Event Loop) w JavaScript: z czego się składa i w jakiej kolejności wykonywany jest kod synchroniczny, mikrozadania i makrozadania?
Frontend
Jak wiarygodnie można określić, czy aplikacja jest otwarta na urządzeniu mobilnym czy na komputerze stacjonarnym, aby wybrać odpowiednią wersję interfejsu?
Czy kiedykolwiek używałeś metod call, apply i bind? Wyjaśnij ich przeznaczenie i różnice.
Czym jest wstrzykiwanie zależności w Angularze i jak można wstrzykiwać zależności?
Dlaczego w Angularze konieczne jest wstrzykiwanie zależności, jeśli zależności można tworzyć za pomocą new lub przechowywać w stanie globalnym?
Masz gotową aplikację web CRM/Service Desk tylko na komputery stacjonarne, która wygląda źle na urządzeniach mobilnych. Projekt wersji mobilnej jest już gotowy i znacznie różni się od wersji desktopowej. Jak zorganizujesz dostosowanie aplikacji do przeglądarek mobilnych?
Jesteś liderem technicznym zespołu 3-4 programistów frontend. Pojawił się nowy duży produkt webowy CRM lub Service Desk z gotowym backendem. Jak wybierzesz technologię dla części frontend?
Wyjaśnij problem z powyższym kodem komponentu Angular i jak go naprawić: ```typescript @Component({ selector: 'app-user', template: './user.component.html', stylesUrls: './user.component.scs', changeDetection: ChangeDetectionStrategy.OnPush, }) export class CmfUserComponent { users$: any; constructor() { const api = new BackendService(); this.users$ = api.getUsers(); } } ```
Co wyświetli komponent, jeśli dekorator określa template: './user.component.html' zamiast templateUrl? Czy taki zapis jest poprawny?
Jeśli dla wersji desktop i mobilnych używane są różne zestawy komponentów, ale usługi są wspólne, jak zorganizować przełączanie między wersjami?
Jak dobra jest praktyka subskrybowania bezpośrednio na Observable w kodzie komponentu Angular? Jakie są ryzyko i alternatywy?
Jak uzasadnione jest całkowite odrzucenie NgModule w nowych projektach Angular? W jakich przypadkach moduły mogą być nadal potrzebne?
Opowiedz mi o słowie kluczowym this w JavaScript: od czego zależy jego wartość podczas wywoływania funkcji? Jakie są cechy funkcji strzałkowych?
Czy kiedykolwiek używałeś dekoratorów DI takich jak @Optional, @Self, @SkipSelf i @Host? Wyjaśnij, jak one wpływają na wyszukiwanie zależności w hierarchii wstrzykiwaczy.
Jaka jest różnica między tym, gdzie zadeklarowana jest funkcja, a tym, gdzie jest wywoływana, w kontekście wartości this?
Jakie są zalety funkcji inject() w Angularze w porównaniu do wstrzykiwania zależności przez konstruktor?
Jeśli zadeklarujesz funkcję wewnątrz innej funkcji, do czego będzie miała dostęp? Jak to będzie działało z this w zagnieżdżonej zwykłej funkcji?
Czym jest wykrywanie zmian w Angularze? Czym różnią się strategie Default i OnPush, i kiedy jest sprawdzany komponent z OnPush?
Czy można bezpośrednio przypisać Observable do pola komponentu w konstruktorze lub podczas inicjalizacji pola? Jaka jest różnica w porównaniu do subskrypcji w konstruktorze?
Na jakich poziomach można zapewniać usługi za pomocą providerów w Angularze: komponent, trasa, moduł, aplikacja, platforma?