Jaké možnosti konfigurace poskytovatele Angular znáte: useClass, useExisting, useValue a useFactory? Kdy je použít?
Frontend
Jak budeme prohlížet historii zpráv, pokud je velmi velká? Jak implementovat stránkování?
Zajisti, aby se zpráva o výhře/prohře během otáčení bubnu ztratila.
Pokud je třeba zvýšit počet válečků (tyčí), například na deset, jak udělat implementaci flexibilní, aby se hodnoty pro každý váleček (například přes parametr numberOfRollers a Array.from) neukládaly ručně?
Podívejte se na kód s třídou, která má konstruktor s polem multiplier, metodu add pro přidávání čísel do pole a metodu getMultiSum, implementovanou pomocí běžné funkce. Co se vypíše do konzole při spuštění tohoto kódu?
Třetí část úkolu v TypeScriptu: vytvořte nový typ založený na typu Delivery, kde všechna pole jsou volitelná (mohou mít hodnotu undefined) a nemohou měnit svou hodnotu (readonly). Použijte utilitární typy Partial a Readonly.
Bude to správně fungovat, pokud předáte clearCache ne přes callback, ale jako přímou referenci na metodu map.clear (například clearCache = cache.clear)? Jak to opravit?
Jak opravit nadměrné znovu-renderování tak, aby při kliknutí na 'Rerender' se znovu renderoval pouze App, a při zadávání textu pouze Parent (bez Child)?
Máte zkušenosti s psaním vlastních operátorů RxJS?
Proč je v implementaci promiseAll nutné spoléhat na čítač count místo toho, abychom jednoduše kontrolovali délku pole výsledků?
Jaké typy Subject existují v RxJS?
Jaké projekty jste museli navrhovat: od nuly nebo velké architektonické bloky?
// Existuje také 25 objektů, které // mají soukromý identifikátor a metodu pro jeho přiřazení // a také pole data vytvoření. // Identifikátor může obsahovat číslo nebo řetězec. // Pole data vytvoření může také obsahovat řetězec nebo číslo. // Typy pro datum vytvoření a identifikátor se shodují (buď řetězec, nebo číslo) // Popište typ pro takové objekty let a = { getId: () => createdId: [phone] } let b = { getId: () => 'id', createdAt: '[phone]T20:00:00Z' } // tento objekt NEMÁ odpovídat typu: let c = { getId: () => 56, createdAt: '[phone]T20:00:00Z' }
Implementujte vlastní Event Emitter s metodami pro přihlášení, odhlášení a generování událostí (on, off, emit). Uložte obslužné rutiny událostí, ověřte jejich funkčnost na testovacích datech a podporujte řetězové volání metod.
Figurky Tetris padají svisle dolů v sekvenčním pořadí. Figury nelze posouvat ani otáčet - jednoduše najděte výšku vznikající věže. Pořadí pádu figurek je určeno polem čísel 1, 2 nebo 3. Figurky jsou zobrazeny níže. findHeight([1,2,3]) => 7 findHeight([1,1,1,1]) => 12
Je třeba napsat typ v TypeScriptu, který bude vhodný jak pro funkci vracející číslo, tak pro funkci vracející řetězec (přes generický typ), ale nem by měl projít, pokud se typy vrácených hodnot liší.
Implementujte funkci memoize, která ukládá výsledek volání funkce pro stejné argumenty (primitivní hodnoty), a přidejte metodu clearCache pro vyčištění cache.
Na základě Partial<Delivery> vytvořte nový typ obsahující pouze pole name a address. Který utilitární typ je pro to vhodný?
Druhá část úkolu v TypeScriptu: převeďte všechna pole objektu typu Delivery na nový typ pomocí utilitárních typů TypeScript.
Jaký je rozdíl mezi Observable a Promise při více odběrech/obsluhách: kolik požadavků a console.log bude provedeno?