Angular-да белгілі провайдер конфигурация опциялары қандай: useClass, useExisting, useValue және useFactory? Оларды қашан қолдану керек?
Frontend
Дыбыс айналған кезде жеңіс/жеңіліс хабарламасы жоғалып кетсін.
Хабарламалар тарихын өте үлкен болғанда қалай қараймыз? Беттеу қалай жүзеге асырылады?
Егер роллерлер санын, мысалы, онға дейін арттыру керек болса, әр роллер үшін мәндерді қолмен сақтамай, икемді жүзеге асыру үшін қалай жасау керек (мысалы, numberOfRollers параметрі мен Array.from арқылы)?
TypeScript тапсырмасының үшінші бөлігі: Delivery типіне негізделген жаңа тип құрыңыз, оның барлық өрістері міндетті емес (undefined мәнін алуы мүмкін) және олардың мәні өзгермейді (readonly). Utility типтері Partial және Readonly пайдаланыңыз.
Өзінің RxJS операторларын жаздыңыз ба?
Егер clearCache-ті жабысу (callback) арқылы емес, map.clear әдісіне тікелей сілтеме ретінде берсеңіз (мысалы, clearCache = cache.clear), ол дұрыс жұмыс істей ме? Бұл қалай түзетіледі?
Мына кодты қараңыз, мұнда конструкторы бар класс бар, оның ішінде multiplier өрісі, сандарды массивке қосу үшін add әдісі және getMultiSum әдісі қарапайым функция ретінде жүзеге асырылған. Бұл код іске қосылғанда консольда не шығады?
Қажетсіз қайта көрсету мәселесін қалай шешуге болады, сонда 'Rerender' батырмасын басқанда тек App қайта көрсетіледі, ал мәтін енгізгенде тек Parent (Child-сыз) қайта көрсетіледі?
RxJS-те қандай Subject түрлері бар?
// Сондай-ақ 25 объект бар, // олардың жеке идентификаторы және оны тағайындау әдісі бар // сонымен қатар құру күні өрісі бар. // Идентификатор сан немесе жол болуы мүмкін. // Құру өрісі де жол немесе сан болуы мүмкін. // Құру күні мен идентификатордың типтері сәйкес келеді (жол немесе сан) // Мұндай объектілер үшін типті сипаттаңыз let a = { getId: () => createdId: [phone] } let b = { getId: () => 'id', createdAt: '[phone]T20:00:00Z' } // бұл объекті сәйкес келмеуі керек: let c = { getId: () => 56, createdAt: '[phone]T20:00:00Z' }
Өзіңіздің оқиға жіберушіңізді іске қосыңыз, оған жазылу, жазылудан шығу және оқиғаны шығару әдістерімен (on, off, emit). Оқиға өңдеушілерін сақтаңыз, тест деректерімен жұмысын тексеріңіз және әдістерді тізбектеп шақыруды қолдаңыз.
Сіз қандай жобаларды жобаладыңыз — бастапқыдан немесе ірі архитектуралық блоктар?
Неліктен promiseAll жүзеге асырғанда нәтижелер массивінің ұзындығын тексерудің орнына санақ айнымалысына сүйену керек?
TypeScript тапсырмасының екінші бөлімінде: Delivery типті объектінің барлық өрістерін TypeScript-тің утилиталық типтері арқылы жаңа типке түрлендіріңіз.
Көп жазылушылар/өңдеушілер болған кезде Observable мен Promise арасындағы айырмашылық: қанша сұрау және console.log орындалады?
Delivery түріне негізделген жаңа тип құрыңыз, онда name, address және date өрістері міндетті емес болар еді. TypeScript-те қандай кіріктірілген утилиталық типті қолданар едіңіз?
Бірдей аргументтермен (примитивтер) функция шақыру нәтижесін кэшілейтін memoize функциясын жүзеге асырыңыз және кэшті тазалау үшін clearCache әдісін қосыңыз.
Сіз TypeScript типін жазуыңыз керек, ол санды қайтаратын функцияға да, жолды қайтаратын функцияға да сәйкес келеді (геника арқылы), бірақ қайтарылатын мәндердің типтері әртүрлі болса, өтпеуі керек.
Partial<Delivery> негізінде, тек name және address өрістерін алатын жаңа тип жасаңыз. Бұл үшін қандай утилиталық тип қолайлы?