type Foo = { a: string; b: number; c: null; d: boolean; } // Chei Foo type FooKeys = keyof Foo // Cum să declarați un nou tip bazat pe FooKeys, dar fără valorile b și d? type FooKeysWithoutBD
Frontend
Cum se declară un nou tip bazat pe Foo, dar fără câmpurile a și c, fără a folosi Omit?
De ce depinde re-renderizarea unui component în React?
Cum faci ca construcția try/catch să funcționeze cu Promise? Cum faci ca Promise să fie sincron prin async/await?
În ce ordine va fi afișat console.log și de ce? Explică ordinea de execuție a codului sincron și asincron (Event Loop, sarcini macro și micro).
Cum faci ca o funcție generică să accepte doar un șir de caractere sau o instanță a clasei Bar, și în celelalte cazuri să genereze o eroare TypeScript?
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); //după 5 secunde va afișa 5 await delayedSum(5, 3); //după 5 secunde de la cel anterior va afișa 8
De ce să transmiti o funcție (c => c + 1) în setCount în loc să folosești pur și simplu 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>
Poate fi realizat același lucru folosind setTimeout în loc de setInterval?
Care a fost abordarea pentru scrierea CSS? Ești familiarizată cu abordarea CSS-in-JS?
Ce este un array de dependențe în useEffect? Ce se întâmplă dacă se transmite un array gol sau dacă nu se transmite deloc?
Există o funcție foo care acceptă argumente de tip any și le returnează? Cum să faci ca tipul rezultatului să nu fie any, ci să corespundă tipului argumentului transmis? Folosește Generice.
Vorbește despre cea mai dificilă sarcină din întreaga ta experiență.
// Este necesar să se externalizeze logica de re-renderizare într-un hook extern separat, // care să permită lucrul cu temporizatorul din afară (de exemplu, să îl oprească după 10 secunde). // Trebuie creat un nou component RandOnce bazat pe componentul Rand, // care, atunci când este utilizat în App, // nu va actualiza numărul aleatoriu la fiecare 3 secunde, ci va afișa un număr aleatoriu doar o singură dată.
Care este diferența dintre cuvântul cheie type și interfață în TypeScript? Vorbește despre moștenire în tipuri și interfețe.
Există un component App și un component Rand dintr-o bibliotecă externă, care afișează un număr aleatoriu. Trebuie să faci ca la fiecare 3 secunde numărul aleatoriu să se schimbe și să afișezi un contor al numărului de schimbări. Totul doar în componenta App.
Ai evaluat sarcina, ai preluat-o și înțelegi că ai evaluat greșit și nu vei reuși să o termini la timp. Ce faci în acel moment?
Vorbește despre experiența ta de muncă. Cum a fost organizat procesul de planificare a sarcinilor?
Care sunt modalitățile de a trata o eroare în Promise? Se poate folosi construcția try/catch?