Angular камсыздоочусунун конфигурациясынын кайсы варианттарын билесиз: useClass, useExisting, useValue жана useFactory? Алар качан колдонулат?
Frontend
Эгер билдирүүлөрдүн тарыхы өтө чоң болсо, аны кантип карайбыз? Пагинацияны кантип ишке ашырабыз?
Барабан айланганда жеңиш/жеңилүү жөнүндө билдирүү жок болуп кетсин.
Класс менен конструктору бар поле multiplier, массивге сандар кошуу үчүн add методу жана жөнөкөй функция аркылуу ишке ашырылган getMultiSum методу бар кодго карап көрүңүз. Бул код ишке ашырылганда консольдо эмне чыгат?
Эгер роликтердин (барбандардын) санын, мисалы, онго чейин көбөйтүүнү кааласаңыз, ар ролик үчүн маанилерди кол менен сактабастан, ийкемдүү ишке ашыруу үчүн кандай жолдор бар (мисалы, numberOfRollers параметри жана Array.from аркылуу)?
clearCache'ти callback аркылуу эмес, түздөн-түз map.clear методуна шилтеме катары берүү туура иштейби (мисалы, clearCache = cache.clear)? Муну кантип оңдоого болот?
TypeScript тапшырмасының үчүнчү бөлүгү: Delivery түрүнө негизделген жаңы түр түзүңүз, анда бардык талаалар опционалдуу (undefined мааниге ээ болушу мүмкүн) жана алардын мааниси өзгөрүлбөс (readonly). Utility түрлөрүн 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' }
RxJSте кандай Subject түрлөрү бар?
Тетрис фигуралары кезек-кезек вертикалды түшүп жатат. Фигураларды жылдыруу же айландыруу мүмкүн эмес - жай гана алынган мұнаранын бийиктигин табыңыз. Фигуралардын түшүү тартиби 1, 2 же 3 санынан турган массив менен аныкталган. Фигуралар төмөндө көрсөтүлгөн. findHeight([1,2,3]) => 7 findHeight([1,1,1,1]) => 12
Сиз TypeScript түрүн жазышыңыз керек, ал эми санды кайтарган жана жолду кайтарган (генерик аркылуу) функцияларга ылайыктуу болушу керек, бирок кайтарылуучу түрлөрү айырмаланса өтпөшү керек.
Класс ордуна ошол эле ыкмалары бар жай объектти колдонсок, эмне болот (катуу режимсиз)?
Memoize функциясын ишке ашырыңыз, ал ошол эле аргументтер үчүн (примитивдер) функциянын жыйынтыгын кэшке сактайт жана cacheти тазалоо үчүн clearCache ыкмасын кошуңуз.
Өзүңүздүн Event Emitterиңизди жазылуу, жазылуудан чыгуу жана окуяларды жаратуу (on, off, emit) ыкмалары менен ишке ашырыңыз. Окуя иштеткичтерин сактаңыз, алардын иштешин тест маалыматтары менен текшерип, ыкмаларды чынжырлуу чакырууну колдойт.
Partial<Delivery> негизинде, тек гана name жана address талааларын камтыган жаңы тип түзүңүз. Бул үчүн кайсы утилитардык тип ылайыктуу?
TypeScript тапшырмасының экинчи бөлүгү: Delivery түрүндөгү объекттин бардык талааларын TypeScriptтин жардамчы түрлөрүн колдонуп жаңы түргө айлантыңыз.