Frontend

 0    103 schede    nowakowskilukasz12
Scarica mp3 Stampa Gioca Testa il tuo livello
 
Domanda język polski Risposta język polski
Na czym opiera się reaktywność w Vue 3?
inizia ad imparare
Proxy przechwytuje operacje na obiekcie, a mechanizm track/trigger śledzi odczyty i uruchamia aktualizacje - ref() i reactive() mają różne zastosowania.
Na czym opierała się reaktywność w Vue 2?
inizia ad imparare
Na Object. defineProperty ustawianym per właściwość przy inicjalizacji.
Czego nie wykrywał Vue 2 bez Vue. set()?
inizia ad imparare
Dodania nowej właściwości do obiektu po utworzeniu komponentu.
Dlaczego ref() wymaga. value, a reactive() nie?
inizia ad imparare
reactive() opakowuje obiekt Proxy, ref() opakowuje dowolną wartość w obiekt z jedną właściwością. value.
Jaka jest pułapka destrukturyzacji reactive()?
inizia ad imparare
Traci reaktywność - kopiuje wartości jako zwykłe prymitywy.
Jak bezpiecznie zdestrukturyzować reactive() zachowując reaktywność?
inizia ad imparare
Przez toRefs() przed destrukturyzacją.
Kiedy computed jest lepszym wyborem niż watch?
inizia ad imparare
computed liczy i cache'uje wartość pochodną zależną od innych reaktywnych danych, watch służy do side effectów przy zmianie wartości, np. request HTTP, zapis do localStorage albo reakcja na zmianę parametru.
Jaki realny problem mixinów rozwiązuje Composition API?
inizia ad imparare
Kolizję nazw i niejasne źródło właściwości używanych w komponencie.
Co zwraca funkcja generyczna fetchResource<T>(url): Promise<ApiResponse<T>>?
inizia ad imparare
Odpowiedź z pełnym typowaniem data zależnym od podanego typu T.
Co robi Omit<User, 'id'>?
inizia ad imparare
Usuwa wskazane pole z typu.
Co robi Partial<T>?
inizia ad imparare
Czyni wszystkie pola typu opcjonalnymi.
Jak discriminated union pozwala TypeScriptowi zawężać typ w if?
inizia ad imparare
Przez wspólne pole o wartościach literalnych (discriminant), np. status.
Czym różni się interface od type w praktyce?
inizia ad imparare
interface wspiera declaration merging (dwie deklaracje łączą się automatycznie) i dobrze opisuje kształt obiektu, type dodatkowo opisuje union/intersection i inne typy bardziej ogólne niż sam kształt obiektu.
Kiedy koniecznie trzeba użyć interface zamiast type?
inizia ad imparare
Przy rozszerzaniu typu z zewnętrznej biblioteki przez augmentację.
Co włącza strictNullChecks w tsconfig?
inizia ad imparare
Wymóg jawnej obsługi null/undefined - bez tego można przypisać je gdziekolwiek bez ostrzeżenia.
Dlaczego strict mode boli włączyć na końcu dużego projektu?
inizia ad imparare
Ujawnia od razu setki miejsc, gdzie gwarancja braku null była cicho łamana.
Co to jest SPA?
inizia ad imparare
Single Page Application - aplikacja ładuje się raz, dalsza nawigacja bez przeładowania strony.
Czym SPA różni się od MPA pod względem SEO?
inizia ad imparare
MPA ma lepsze SEO domyślnie, SPA wymaga dodatkowych zabiegów.
Czym różni się CSR od SSR?
inizia ad imparare
CSR renderuje w przeglądarce, SSR po stronie serwera.
Co poprawia SSR względem CSR?
inizia ad imparare
SEO i czas do pierwszego bajtu (TTFB).
Co to jest Virtual DOM?
inizia ad imparare
Reprezentacja struktury UI w pamięci - framework porównuje poprzedni i nowy VDOM (diffing) i na tej podstawie wykonuje potrzebne zmiany w realnym DOM.
Co oznacza reaktywność w kontekście frontendu?
inizia ad imparare
Zmiana stanu danych automatycznie aktualizuje UI.
Po co znać cykl życia komponentu?
inizia ad imparare
Pozwala pobierać dane, czyścić zasoby i optymalizować wydajność w odpowiednim momencie.
Jaka jest kolejność podstawowych hooków cyklu życia komponentu Vue?
inizia ad imparare
beforeCreate, created, mounted, updated, unmounted.
Czym różnią się props od state?
inizia ad imparare
Props to dane przekazywane z zewnątrz, state to stan lokalny komponentu.
Co oznacza one-way data flow?
inizia ad imparare
Dane płyną w jednym kierunku, od rodzica do dziecka - ułatwia debugowanie.
Co to jest event bubbling?
inizia ad imparare
Zdarzenia propagują się od elementu docelowego w górę do rodzica.
Co to jest event delegation i po co się go stosuje?
inizia ad imparare
Obsługa zdarzeń na rodzicu zamiast na każdym dziecku - poprawia wydajność.
Kiedy potrzebny jest globalny store zarządzania stanem?
inizia ad imparare
Gdy wiele komponentów współdzieli stan i props drilling staje się problemem.
Co to jest props drilling?
inizia ad imparare
Przekazywanie propsów przez wiele poziomów komponentów, sygnalizujące potrzebę globalnego stanu.
Co to jest CORS?
inizia ad imparare
Mechanizm bezpieczeństwa przeglądarki kontrolujący zapytania cross-origin.
Jak rozwiązać problem CORS?
inizia ad imparare
Odpowiednie nagłówki po stronie serwera albo proxy/ta sama domena.
Czym różni się debounce od throttle?
inizia ad imparare
Debounce wywołuje funkcję po przerwie, throttle ogranicza częstotliwość wywołań.
Co to jest lazy loading komponentów?
inizia ad imparare
Ładowanie komponentów dopiero gdy są potrzebne, zmniejsza initial bundle.
Co to jest code splitting?
inizia ad imparare
Podział kodu JS na mniejsze paczki, poprawia czas ładowania.
Jaką rolę pełni bundler (np. Vite, Webpack)?
inizia ad imparare
Kompilacja, minifikacja, obsługa modułów i hot reload.
Jak sobie radzić z SEO w SPA?
inizia ad imparare
SSR, pre-rendering i poprawne meta tagi.
Co to jest Progressive Web App (PWA)?
inizia ad imparare
Aplikacja webowa działająca jak natywna - offline, powiadomienia push, instalacja.
Co obejmuje accessibility (a11y)?
inizia ad imparare
Dostosowanie UI dla osób z niepełnosprawnościami - klawiatura, screen readery, kontrasty.
Jakie są najczęstsze błędy frontendowe na produkcji?
inizia ad imparare
Brak obsługi błędów API, problemy z performance, memory leaki, race conditions.
Co jest kluczowe we współpracy backend-frontend jako fullstack developer?
inizia ad imparare
Jasny kontrakt API, wspólna dokumentacja, testy kontraktowe.
Na czym opiera się reaktywność w Vue 3?
inizia ad imparare
Proxy przechwytuje operacje na obiekcie, a mechanizm track/trigger śledzi odczyty i uruchamia aktualizacje - ref() i reactive() mają różne zastosowania.
Na czym opierała się reaktywność w Vue 2?
inizia ad imparare
Na Object. defineProperty ustawianym per właściwość przy inicjalizacji.
Czego nie wykrywał Vue 2 bez Vue. set()?
inizia ad imparare
Dodania nowej właściwości do obiektu po utworzeniu komponentu.
Dlaczego ref() wymaga. value, a reactive() nie?
inizia ad imparare
reactive() opakowuje obiekt Proxy, ref() opakowuje dowolną wartość w obiekt z jedną właściwością. value.
Jaka jest pułapka destrukturyzacji reactive()?
inizia ad imparare
Traci reaktywność - kopiuje wartości jako zwykłe prymitywy.
Jak bezpiecznie zdestrukturyzować reactive() zachowując reaktywność?
inizia ad imparare
Przez toRefs() przed destrukturyzacją.
Kiedy computed jest lepszym wyborem niż watch?
inizia ad imparare
computed liczy i cache'uje wartość pochodną zależną od innych reaktywnych danych, watch służy do side effectów przy zmianie wartości, np. request HTTP, zapis do localStorage albo reakcja na zmianę parametru.
Jaki realny problem mixinów rozwiązuje Composition API?
inizia ad imparare
Kolizję nazw i niejasne źródło właściwości używanych w komponencie.
Co zwraca funkcja generyczna fetchResource<T>(url): Promise<ApiResponse<T>>?
inizia ad imparare
Odpowiedź z pełnym typowaniem data zależnym od podanego typu T.
Co robi Omit<User, 'id'>?
inizia ad imparare
Usuwa wskazane pole z typu.
Co robi Partial<T>?
inizia ad imparare
Czyni wszystkie pola typu opcjonalnymi.
Jak discriminated union pozwala TypeScriptowi zawężać typ w if?
inizia ad imparare
Przez wspólne pole o wartościach literalnych (discriminant), np. status.
Czym różni się interface od type w praktyce?
inizia ad imparare
interface wspiera declaration merging (dwie deklaracje łączą się automatycznie) i dobrze opisuje kształt obiektu, type dodatkowo opisuje union/intersection i inne typy bardziej ogólne niż sam kształt obiektu.
Kiedy koniecznie trzeba użyć interface zamiast type?
inizia ad imparare
Przy rozszerzaniu typu z zewnętrznej biblioteki przez augmentację.
Co włącza strictNullChecks w tsconfig?
inizia ad imparare
Wymóg jawnej obsługi null/undefined - bez tego można przypisać je gdziekolwiek bez ostrzeżenia.
Dlaczego strict mode boli włączyć na końcu dużego projektu?
inizia ad imparare
Ujawnia od razu setki miejsc, gdzie gwarancja braku null była cicho łamana.
Co to jest SPA?
inizia ad imparare
Single Page Application - aplikacja ładuje się raz, dalsza nawigacja bez przeładowania strony.
Czym SPA różni się od MPA pod względem SEO?
inizia ad imparare
MPA ma lepsze SEO domyślnie, SPA wymaga dodatkowych zabiegów.
Czym różni się CSR od SSR?
inizia ad imparare
CSR renderuje w przeglądarce, SSR po stronie serwera.
Co poprawia SSR względem CSR?
inizia ad imparare
SEO i czas do pierwszego bajtu (TTFB).
Co to jest Virtual DOM?
inizia ad imparare
Reprezentacja struktury UI w pamięci - framework porównuje poprzedni i nowy VDOM (diffing) i na tej podstawie wykonuje potrzebne zmiany w realnym DOM.
Co oznacza reaktywność w kontekście frontendu?
inizia ad imparare
Zmiana stanu danych automatycznie aktualizuje UI.
Po co znać cykl życia komponentu?
inizia ad imparare
Pozwala pobierać dane, czyścić zasoby i optymalizować wydajność w odpowiednim momencie.
Jaka jest kolejność podstawowych hooków cyklu życia komponentu Vue?
inizia ad imparare
beforeCreate, created, mounted, updated, unmounted.
Czym różnią się props od state?
inizia ad imparare
Props to dane przekazywane z zewnątrz, state to stan lokalny komponentu.
Co oznacza one-way data flow?
inizia ad imparare
Dane płyną w jednym kierunku, od rodzica do dziecka - ułatwia debugowanie.
Co to jest event bubbling?
inizia ad imparare
Zdarzenia propagują się od elementu docelowego w górę do rodzica.
Co to jest event delegation i po co się go stosuje?
inizia ad imparare
Obsługa zdarzeń na rodzicu zamiast na każdym dziecku - poprawia wydajność.
Kiedy potrzebny jest globalny store zarządzania stanem?
inizia ad imparare
Gdy wiele komponentów współdzieli stan i props drilling staje się problemem.
Co to jest props drilling?
inizia ad imparare
Przekazywanie propsów przez wiele poziomów komponentów, sygnalizujące potrzebę globalnego stanu.
Co to jest CORS?
inizia ad imparare
Mechanizm bezpieczeństwa przeglądarki kontrolujący zapytania cross-origin.
Jak rozwiązać problem CORS?
inizia ad imparare
Odpowiednie nagłówki po stronie serwera albo proxy/ta sama domena.
Czym różni się debounce od throttle?
inizia ad imparare
Debounce wywołuje funkcję po przerwie, throttle ogranicza częstotliwość wywołań.
Co to jest lazy loading komponentów?
inizia ad imparare
Ładowanie komponentów dopiero gdy są potrzebne, zmniejsza initial bundle.
Co to jest code splitting?
inizia ad imparare
Podział kodu JS na mniejsze paczki, poprawia czas ładowania.
Jaką rolę pełni bundler (np. Vite, Webpack)?
inizia ad imparare
Kompilacja, minifikacja, obsługa modułów i hot reload.
Jak sobie radzić z SEO w SPA?
inizia ad imparare
SSR, pre-rendering i poprawne meta tagi.
Co to jest Progressive Web App (PWA)?
inizia ad imparare
Aplikacja webowa działająca jak natywna - offline, powiadomienia push, instalacja.
Co obejmuje accessibility (a11y)?
inizia ad imparare
Dostosowanie UI dla osób z niepełnosprawnościami - klawiatura, screen readery, kontrasty.
Jakie są najczęstsze błędy frontendowe na produkcji?
inizia ad imparare
Brak obsługi błędów API, problemy z performance, memory leaki, race conditions.
Co jest kluczowe we współpracy backend-frontend jako fullstack developer?
inizia ad imparare
Jasny kontrakt API, wspólna dokumentacja, testy kontraktowe.
Czym różni się var od let i const?
inizia ad imparare
var ma zasięg funkcyjny i podlega hoistingowi z inicjalizacją undefined, let/const mają zasięg blokowy i trafiają do "temporal dead zone" przed deklaracją.
Co to jest hoisting w JS?
inizia ad imparare
Deklaracje (var, function) są "przenoszone" na górę zasięgu podczas parsowania, dostępne przed miejscem zapisu w kodzie - ale bez przypisanej wartości.
Co to jest domknięcie (closure)?
inizia ad imparare
Funkcja, która zapamiętuje dostęp do zmiennych ze swojego zewnętrznego zasięgu, nawet po zakończeniu działania funkcji zewnętrznej.
Czym różni się == od === w JS?
inizia ad imparare
== porównuje po konwersji typów (coercion), === porównuje bez konwersji, sprawdzając też typ.
Co jest falsy w JS?
inizia ad imparare
false, 0, ", null, undefined, NaN - wszystko inne jest truthy, w tym pusta tablica [] i pusty obiekt {}.
Czym różni się null od undefined?
inizia ad imparare
undefined oznacza brak przypisanej wartości (np. niezainicjalizowana zmienna), null to świadomie przypisany "brak wartości".
Jak działa this w zwykłej funkcji a jak w arrow function?
inizia ad imparare
Zwykła funkcja ma this zależne od sposobu wywołania (kto woła), arrow function nie ma własnego this - dziedziczy je leksykalnie z otaczającego zasięgu.
Do czego służą call(), apply() i bind()?
inizia ad imparare
Pozwalają jawnie ustawić this dla funkcji - call/apply wywołują ją od razu (różnią się przekazywaniem argumentów), bind zwraca nową funkcję z na stałe związanym this.
Czym jest prototypowe dziedziczenie w JS?
inizia ad imparare
Obiekty mają wewnętrzne odwołanie do prototypu, z którego dziedziczą właściwości/metody - łańcuch prototypów zamiast klasycznych klas.
Czym jest Promise i jakie ma stany?
inizia ad imparare
Obiekt reprezentujący wynik operacji asynchronicznej - stany: pending, fulfilled, rejected.
Jak async/await upraszcza pracę z Promise?
inizia ad imparare
Pozwala pisać kod asynchroniczny w stylu synchronicznym - await zatrzymuje wykonanie funkcji do rozstrzygnięcia Promise, bez zagnieżdżonych. then().
Czym różni się microtask queue od macrotask queue w event loop?
inizia ad imparare
Microtaski (Promise. then, queueMicrotask) wykonują się w całości przed kolejnym macrotaskiem (setTimeout, event UI) - dlatego Promise "wyprzedza" setTimeout(0).
Dlaczego setTimeout(fn, 0) nie wykonuje się natychmiast?
inizia ad imparare
Trafia do kolejki macrotasków i czeka aż stos wywołań (call stack) się opróżni oraz wykonają się wszystkie microtaski.
Co robi operator spread (...) na tablicy/obiekcie?
inizia ad imparare
Rozwija elementy tablicy lub właściwości obiektu w miejscu, np. przy kopiowaniu lub łączeniu.
Czym różni się spread od rest, skoro obie używają "..."?
inizia ad imparare
Spread rozwija wartości (np. w wywołaniu funkcji/literale), rest zbiera wiele argumentów/elementów w jedną tablicę (np. w parametrach funkcji).
Co robi destrukturyzacja tablicy/obiektu?
inizia ad imparare
Wyciąga wartości do osobnych zmiennych w jednym przypisaniu, np. const {a, b} = obj albo const [x, y] = arr.
Do czego służy optional chaining (?.)?
inizia ad imparare
Bezpieczny dostęp do zagnieżdżonej właściwości - zwraca undefined zamiast rzucać błąd, gdy pośredni obiekt jest null/undefined.
Czym różni się nullish coalescing (?) od operatora ||
inizia ad imparare
?|? zwraca prawą stronę tylko gdy lewa to null/undefined, || zwraca prawą stronę dla każdej wartości falsy (np. 0 czy ").
Co robi JSON. stringify() i JSON. parse()?
inizia ad imparare
stringify() zamienia obiekt/wartość JS na string JSON, parse() robi odwrotnie - string JSON na obiekt/wartość JS.
Czym różni się deep copy od shallow copy obiektu?
inizia ad imparare
Shallow copy kopiuje tylko pierwszy poziom (zagnieżdżone obiekty nadal są współdzielone przez referencję), deep copy kopiuje rekurencyjnie wszystkie poziomy.
Co zwracają array. map(), array. filter() i array. reduce() w JS?
inizia ad imparare
map() nową tablicę przekształconych elementów, filter() nową tablicę elementów spełniających warunek, reduce() pojedynczą zredukowaną wartość.

Devi essere accedere per pubblicare un commento.