Sobes.tech

Frontend

Կարո՞ղ է ներմուծել FSD-ի մեկ մակարդակից մյուսին նույն մակարդակում։

157

Պատմեք, թե ինչպես է աշխատում Event Emitter ձևանմուշը և արդյոք ունեցել եք դրա հետ փորձ, մասնավորապես Angular-ում։

156

Ի՞նչ խնդիրներ է լուծում dependency injection-ը Angular-ում և ինչ առավելություններ է տալիս ծառայությունների տրամադրումը ծրագրի և կոմպոնենտների մակարդակներում։

156

Պարզ սլոտ մեքենայի իրականացման համար՝ "մեկ ձեռքի բանդիտ": - Իրականացրեք երեք ռուլետ (համարներով 0-ից 9, որոնք փոխվում են հերթականությամբ 0,1,2,...9,0,1,2...) - Յուրաքանչյուր onRoll-ի ժամանակ ռուլետում հայտնվում է հաջորդ արժեքը - Եթե բոլոր երեք թվերը համընկնեն կանգնելուց հետո, ասում ենք, որ հաղթել է - Դադարեցման ժամանակ անջատեք կոճակը Ֆիզիկական մոդելը արդեն իրականացված է runSpinner մեթոդում, բայց այն ոչ մի կապ չունի թվերի հետ: Խորհուրդ՝ սկսեք իրականացնել առաջին ռուլետից, ապա ավելացրեք մյուսները ըստ նույնականության։

156

Ինչու հաղթանակը սխալ հաշվվում է, նույնիսկ եթե տրորակների արժեքները տարբեր են: Գտեք բագի պատճառը, որը կապված է վիճակի ասինխրոն թարմացման ռեյս պայմանների հետ։

156

Եթե call-ի միջոցով առանց կոնտեքստ փոխանցելու, խիստ ռեժիմում (strict mode) և առանց դրա, ինչ կլինի this-ի արժեքը fn-ի ներսում?

156

React առաջադրանք (3 ենթադրություն): 1) Տեղեկացրեք օգտագործողի խմբագրման ձևը — երբ սեղմում եք ցուցակի մեջ օգտագործողի անունը, անունը պետք է տեղադրվի խմբագրության ձևի ներսում գտնվող input դաշտում։ 2) Խմբագրության ձևը չպետք է վերաարտադրվի որոնման դաշտում տեքստ մուտքագրելու ժամանակ (optimizasyon with React.memo): 3) Երբ օգտագործողը ընտրվում է ցուցակից, որոնման դաշտը պետք է վերականգնվի։

154

Ներկայացրեք սառը և տաք Observable-ների տարբերությունը։

152

Բաժանեք հավելվածը Feature-Sliced Design (FSD) ճարտարապետության համաձայն — նկարագրեք App, Pages, Widgets, Features, Entities շերտերը.

151

Երեք նոր տեսակ կա: Պետք է ստեղծել նոր ընդհանուր տեսակ, որը կպարունակի այդ տեսակների բոլոր դաշտերը (օգտագործելով union):

151

Կա՞ն երեք տարբեր i, j, k ցուցանիշներ, որոնց համար a[i]+a[j]+a[k] գումարը ավարտվում է m թվով: Օրինակ, m = 3 համար solve([20, 22, 19, 84]) => true // 20 + 84 + 19 = 123 solve([1,2,3]) => false

149

Ի՞նչ է Awaited utility type-ը TypeScript-ում։

149

Ֆունկցիան սիմուլացնում է բրենդի պտտումը աստիճանաբար կանգառով - օգտագործեք onRoll պտտման անիմացիայի համար (փոխել ընթացիկ արժեքը բրենդում) - և onStop՝ երբ բրենդը վերջացնի պտտվելը, տեղեկացնելու համար մասալ runSpinner( () => setValue(v => ++v % 10), () => console.log('finished') )

148

Փորձեք սիմուլացնել իրավիճակը, որպեսզի բոլոր երեք թվերը ռոլիկների վրա համընկնեն և ստուգեք, որ հաղթանակի հաղորդագրությունը ցուցադրվում է։

148

Ի՞նչ տարբերություն կա ChangeDetectorRef.markForCheck() և detectChanges() միջև։

145

Կոդը ուղղեք այնպես, որ կոճակին սեղմելիս միայն App-ը վերանորոգվի, իսկ տեքստը input-ում մուտքագրելիս՝ միայն Parent-ը (չի լինի Child-ի ավելորդ վերանորոգում):

145

Դու գիտե՞ք Web Vitals մետրիկաները: Ինչպե՞ս կարելի է բարելավել CLS (Cumulative Layout Shift):

145

Ինչ է փոխվելու տիպի տրամաբանությունում, եթե փոխենք `extends`-ը `=`-ով (սահմանել գեներիկի համար նախնական արժեք)?

143

Ինչու եք ընտրել IndexedDB-ը տեղական պահեստավորման համար տվյալների բազաներում, այլ ոչ թե ինչ-որ այլ բան? Ինչպիսի այլընտրանքներ կան?

142

Ստեղծեք նոր տեսակ, հիմնված PartialDelivery-ի վրա, որը ներառում է միայն name և address դաշտերը (Pick):

139
/5