Sobes.tech

Frontend

Ce opțiuni de configurare a provider-ului Angular cunoști: useClass, useExisting, useValue și useFactory? Când trebuie să le folosești?

281

Cum vom vizualiza istoricul mesajelor dacă este foarte mare? Cum implementăm paginarea?

262

Asigură-te că mesajul de victorie/înfrângere dispare în timpul rotirii tamburului.

250

Dacă trebuie să crești numărul de role (barele), de exemplu până la zece, cum faci implementarea flexibilă pentru a nu stoca valorile manual pentru fiecare role (de exemplu, prin parametrul numberOfRollers și Array.from)?

232

Uitați codul cu clasa care are un constructor cu câmpul multiplier, metoda add pentru adăugarea numerelor în array și metoda getMultiSum, implementată printr-o funcție obișnuită. Ce va fi afișat în consolă la rularea acestui cod?

227

Partea a treia a sarcinii de TypeScript: creează un nou tip bazat pe tipul Delivery, în care toate câmpurile sunt opționale (pot avea valoarea undefined) și nu pot schimba valoarea lor (readonly). Folosește tipurile utilitare Partial și Readonly.

226

Va funcționa corect dacă se transmite clearCache nu printr-un callback, ci ca o referință directă la metoda map.clear (de exemplu, clearCache = cache.clear)? Cum se poate remedia acest lucru?

222

Cum să corectați re-renderizările excesive astfel încât, la clic pe 'Rerender', să fie re-renderizat doar App, iar la introducerea textului, doar Parent (fără Child)?

222

Aveți experiență în scrierea propriilor operatori RxJS?

221

De ce în implementarea promiseAll trebuie să ne bazăm pe contorul count în loc să verificăm pur și simplu lungimea array-ului de rezultate?

216

Ce tipuri de Subject există în RxJS?

214

Ce proiecte a fost nevoie să proiectați — de la zero sau blocuri arhitecturale mari?

212

// Există, de asemenea, 25 de obiecte care // au un identificator privat și o metodă pentru atribuirea acestuia // precum și un câmp pentru data creării. // Identificatorul poate conține un număr sau un șir de caractere. // Câmpul pentru data creării poate conține, de asemenea, un șir sau un număr. // Tipurile pentru data creării și identificator sunt compatibile (sau șir, sau număr) // Descrieți un tip pentru astfel de obiecte let a = { getId: () => createdId: [phone] } let b = { getId: () => 'id', createdAt: '[phone]T20:00:00Z' } // acest obiect NU trebuie să corespundă tipului: let c = { getId: () => 56, createdAt: '[phone]T20:00:00Z' }

210

Implementați propriul emitator de evenimente cu metode de abonare, dezabonare și generare de evenimente (on, off, emit). Păstrați handlerii de evenimente, verificați funcționarea acestora pe date de test și sprijiniți apelurile în lanț ale metodelor.

207

Figurinele de Tetris cad în mod secvențial vertical în jos. Figurile nu pot fi mutate sau rotite - găsiți pur și simplu înălțimea turnului rezultat. Ordinea de cădere a figurilor este determinată de un array de numere 1, 2 sau 3. Figurile sunt prezentate mai jos. findHeight([1,2,3]) => 7 findHeight([1,1,1,1]) => 12

203

Trebuie să scrii un tip TypeScript care să fie potrivit atât pentru o funcție care returnează un număr, cât și pentru o funcție care returnează un șir (prin generic), dar nu trebuie să treacă dacă tipurile de returnare sunt diferite.

202

Pe baza lui Partial<Delivery>, creează un nou tip care include doar câmpurile name și address. Care tip utilitar este potrivit pentru asta?

201

Care este diferența dintre Observable și Promise atunci când există mai multe abonări/handleri: câte solicitări și console.log vor fi executate?

200

Implementați funcția memoize, care stochează în cache rezultatul apelului funcției pentru argumente identice (primitivi), și adăugați metoda clearCache pentru a goli cache-ul.

199

A doua parte a sarcinii de TypeScript: transformați toate câmpurile obiectului de tip Delivery într-un nou tip, folosind tipurile utilitare ale TypeScript.

198
/5