type Foo = { a: string; b: number; c: null; d: boolean; } // Klucze Foo type FooKeys = keyof Foo // Jak zadeklarować nowy typ na podstawie FooKeys, ale bez wartości b i d? type FooKeysWithoutBD
Frontend
Od czego zależy ponowne renderowanie komponentu w React?
Jak sprawić, aby konstrukcja try/catch działała z Promise? Jak uczynić Promise synchronicznym za pomocą async/await?
Jak zadeklarować nowy typ oparty na Foo, ale bez pól a i c, bez użycia Omit?
W jakiej kolejności wyświetli się console.log i dlaczego? Wyjaśnij kolejność wykonywania kodu synchronicznego i asynchronicznego (Event Loop, zadania makro i mikro).
Jak sprawić, aby funkcja z generykiem akceptowała tylko ciąg znaków lub instancję klasy Bar, a w innych przypadkach zgłaszała błąd w TypeScript?
Jaki był sposób podejścia do pisania CSS? Czy znasz podejście CSS-in-JS?
function delayFunc(fn, delay) { return function c(...args) { return new Promise((resolve) => { setTimeout(() => { fn(...args) }, delay * 1000) }) } } function sum(a, b) { console.log(a + b) } const delayedSum = delayFunc(sum, 5); await delayedSum(3, 2); //po 5 secondach wyświetli 5 await delayedSum(5, 3); //po 5 sekundach od poprzedniego wyświetli 8
Dlaczego przekazywać funkcję (c => c + 1) do setCount zamiast po prostu setCount(tick + 1)?
<div class="list"> <div class="item">1</div> <div class="item">2</div> ... <div class="item">N-1</div> <div class="item">N</div> </div>
Czy można to samo zrealizować za pomocą setTimeout zamiast setInterval?
Opowiedz o najtrudniejszym zadaniu w całym swoim doświadczeniu.
Czym jest tablica zależności w useEffect? Co się stanie, jeśli przekażesz pustą tablicę lub w ogóle jej nie przekażesz?
Istnieje komponent App i komponent Rand z zewnętrznej biblioteki, które wyświetlają losową liczbę. Należy tak ustawić, aby co 3 sekundy losowa liczba się zmieniała, i wyświetlić licznik zmian. Wszystko tylko w komponencie App.
Czy istnieje funkcja foo, która przyjmuje argumenty typu any i je zwraca? Jak sprawić, aby typ wyniku nie był any, lecz odpowiadał typowi przekazanego argumentu? Użyj generyków.
// Należy wyodrębnić logikę ponownego renderowania do oddzielnego zewnętrznego hooka, // który umożliwi pracę z timerem spoza (np. zatrzymanie po 10 sekundach). // Należy stworzyć nowy komponent RandOnce oparty na komponencie Rand, // który podczas używania w App // nie będzie aktualizować losowej liczby co 3 sekundy, lecz wyświetli losową liczbę tylko raz.
Czym różni się słowo kluczowe type od interfejsu w TypeScript? Opowiedz o dziedziczeniu w typach i interfejsach.
Oceniasz zadanie, bierzesz je na siebie i zdajesz sobie sprawę, że oceniłeś je nieprawidłowo i nie zdążysz. Co robisz w tym momencie?
// Należy stworzyć nowy komponent RandOnce oparty na komponencie Rand, // który podczas używania w App // nie będzie aktualizować losowej liczby co 3 sekundy, a wyświetli losową liczbę tylko raz. // const Rand = () => <span>{Math.random()}</span>
Opowiedz o swoim doświadczeniu zawodowym. Jak zorganizowano proces planowania zadań?