Какви варианти за конфигурация на доставчика в Angular знаете: useClass, useExisting, useValue и useFactory? Кога да ги използвате?
Frontend
Как ще преглеждаме историята на съобщенията, ако е много голяма? Как да реализираме странициране?
Направете така, че съобщението за победа/загуба да изчезва по време на въртенето на барабана.
Ако трябва да увеличите броя на ролките (баровете), например до десет, как да направите имплементацията гъвкава, така че да не съхранявате стойностите ръчно за всяка ролка (например чрез параметъра numberOfRollers и Array.from)?
Ще работи ли правилно, ако предадете clearCache не чрез обратен повик (callback), а като директна препратка към метода map.clear (например, clearCache = cache.clear)? Как да го поправите?
Вижте кода с класа, който има конструктор с полето multiplier, метода add за добавяне на числа към масива и метода getMultiSum, реализиран чрез обикновена функция. Какво ще се изведе в конзолата при изпълнение на този код?
Третата част от задачата по TypeScript: създайте нов тип въз основа на типа Delivery, където всички полета са опционални (могат да имат стойност undefined) и не могат да променят стойността си (readonly). Използвайте утилитарните типове Partial и Readonly.
Имали ли сте опит в писането на собствени оператори RxJS?
Как да коригирате излишните повторни рендери, така че при кликване върху 'Rerender' да се рендерира само App, а при въвеждане на текст — само Parent (без Child)?
Какви проекти трябваше да проектирате — от нулата или големи архитектурни блокове?
Защо при реализирането на promiseAll трябва да разчитаме на брояча count, а не просто да проверяваме дължината на масива с резултати?
// Има също така 25 обекта, които // имат частен идентификатор и метод за неговото присвояване // както и поле за дата на създаване. // Идентификаторът може да съдържа число или низ. // Полето за дата на създаване също може да съдържа низ или число. // Типовете за дата на създаване и идентификатор съвпадат (или низ, или число) // Опишете тип за такива обекти let a = { getId: () => createdId: [phone] } let b = { getId: () => 'id', createdAt: '[phone]T20:00:00Z' } // този обект НЕ трябва да съответства на типа: let c = { getId: () => 56, createdAt: '[phone]T20:00:00Z' }
Какви видове Subject съществуват в RxJS?
Фигурките на Тетрис падат вертикално надолу последователно. Фигурките не могат да се движат или въртят - просто намерете височината на получената кула. Редът на падане на фигурките е определен от масив от числа 1, 2 или 3. Фигурките са показани по-долу. findHeight([1,2,3]) => 7 findHeight([1,1,1,1]) => 12
Реализирайте собствен Event Emitter с методи за абониране, отписване и генериране на събития (on, off, emit). Запазете обработчиците на събития, проверете работата им с тестови данни и поддържайте веригови извиквания на методи.
Реализирайте функцията memoize, която кешира резултата от извикването на функцията за еднакви аргументи (примитиви), и добавете метода clearCache за почистване на кеша.
Трябва да напишете тип в TypeScript, който да е подходящ както за функция, връщаща число, така и за функция, връщаща низ (чрез генерик), но не трябва да преминава, ако типовете на връщаните стойности са различни.
Въз основа на Partial<Delivery> създайте нов тип, който включва само полетата name и address. Кой утилитарен тип е подходящ за това?
Каква е разликата между Observable и Promise при няколко абонамента/обработващи: колко заявки и console.log ще бъдат изпълнени?
Какво ще се случи, ако вместо клас използваме обикновен обект със същите методи (без strict режим)?